openlm

OpenAI-compatible Python client that can call any LLM

open-sourcevoice-agents
369
Stars
+-15
Stars/month
0
Releases (6m)

Star Growth

362370378Mar 27Apr 1

Overview

OpenLM is a drop-in replacement for the OpenAI Python client that extends compatibility to multiple LLM providers beyond OpenAI. The library maintains the familiar OpenAI API structure while enabling developers to call models from HuggingFace, Cohere, and custom implementations using the same code interface. With just a single line change (importing openlm as openai), existing OpenAI-based applications can immediately access a broader ecosystem of language models. The library supports batch processing, allowing multiple prompts to be sent to multiple models simultaneously in a single request. OpenLM takes a lightweight approach by calling inference APIs directly rather than bundling multiple provider SDKs, keeping the footprint minimal. It returns responses in the same structured format as OpenAI, including usage statistics, model information, and completion choices, ensuring seamless integration with existing workflows. The tool is particularly valuable for developers who want to experiment with different models, implement model fallbacks, or compare outputs across providers without rewriting their application logic. Currently focused on the Completion endpoint, OpenLM represents a unified interface for LLM access that abstracts away provider-specific implementation details while maintaining full compatibility with OpenAI's established patterns.

Deep Analysis

Key Differentiator

vs LiteLLM / AI SDK: minimalist OpenAI-compatible drop-in replacement — swap openlm for openai in imports and instantly access HuggingFace and Cohere with zero API changes

Capabilities

  • Drop-in OpenAI-compatible library for multiple LLM providers
  • Same parameters as OpenAI Completion API with similar response structure
  • Batch processing — multiple prompts on multiple models in one request
  • Minimal footprint — calls inference APIs directly without multiple SDKs

🔗 Integrations

OpenAIHuggingFaceCohere

Best For

  • Switching between LLM providers without code changes
  • Multi-model comparison using OpenAI-compatible interface
  • Lightweight provider abstraction for Python projects

Not Ideal For

  • Chat completion workflows (only Completion endpoint)
  • Streaming or real-time applications
  • Teams needing many provider integrations

Languages

Python

Deployment

pip install openlm

Known Limitations

  • Only supports Completion endpoint (not Chat)
  • No streaming API
  • No embeddings API (roadmapped)
  • Limited to three providers

Pros

  • + Drop-in OpenAI compatibility requires minimal code changes (single import line)
  • + Multi-provider support enables batch processing across different models and providers simultaneously
  • + Lightweight architecture calls APIs directly without bloated SDK dependencies

Cons

  • - Currently limited to Completion endpoint only, lacking support for newer OpenAI features like Chat completions
  • - Relatively small community with 371 GitHub stars compared to official SDKs
  • - May lag behind latest provider API updates due to abstraction layer maintenance overhead

Use Cases

  • Model comparison and evaluation by running identical prompts across multiple LLM providers
  • Implementing fallback strategies when primary models are unavailable or rate-limited
  • Cost optimization by routing requests to the most economical provider for specific use cases

Getting Started

1. Install via pip: `pip install openlm` 2. Replace OpenAI import: change `import openai` to `import openlm as openai` 3. Set up API keys via environment variables and call models using familiar syntax: `completion = openai.Completion.create(model=['bloom-560m', 'cohere.ai/command'], prompt=['Hello world!'])`

Compare openlm