A library that wraps multiple LLM providers into a consistent API while using each provider's native SDK internally, supporting multimodal I/O, file processing, and stream output.
Project description
LLM Bridge
LLM Bridge is a Python library that wraps multiple LLM providers into a consistent API while using each provider's native SDK internally, supporting multimodal I/O, file processing, and stream output.
GitHub: https://github.com/windsnow1025/LLM-Bridge
PyPI: https://pypi.org/project/LLM-Bridge/
Workflow and Features
- Message Preprocessor: extracts text content from documents (Word, Excel, PPT, Code files, PDFs) which are not natively supported by the target model.
- Chat Client Factory: creates a client for the specific LLM API with model parameters
- Model Message Converter: converts general messages to model messages
- Media Processor: converts general media (Image, Audio, Video, PDF) to model compatible formats.
- Model Message Converter: converts general messages to model messages
- Chat Client: generate stream or non-stream responses
- Model Thoughts: captures the model's thinking process
- Code Execution: generates and executes Python code
- Web Search: generates response from search results
- Token Counter: tracks and reports input and output token usage
Supported Features for API Types
The features listed represent the maximum capabilities of each API type supported by LLM Bridge.
| API Type | Input Format | Capabilities | Output Format |
|---|---|---|---|
| OpenAI | Text, Image, PDF | Thinking, Web Search, Code Execution, Structured Output | Text, Image |
| Gemini | Text, Image, Video, Audio, PDF | Thinking, Web Search, Code Execution, Structured Output | Text, Image, File |
| Claude | Text, Image, PDF | Thinking, Web Search, Code Execution, Structured Output | Text, File |
| Grok | Text, Image | Text |
Planned Features
- More features for API Types
- Native support for Grok
Development
Python uv
- Install uv:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - Install Python in uv:
uv python install 3.12; upgrade Python in uv:uv python upgrade 3.12 - Configure requirements:
uv sync --refresh
PyCharm
Add New Interpreter >> Add Local Interpreter
- Environment: Select existing
- Type: uv
Usage
Copy ./usage/.env.example and rename it to ./usage/.env, then fill in the environment variables.
Build
uv build
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_bridge-1.17.6.tar.gz.
File metadata
- Download URL: llm_bridge-1.17.6.tar.gz
- Upload date:
- Size: 82.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52fe34ee41569aa8afb7706f0c9edc7f9bf6cf8f345d686d4fea210a932ac35a
|
|
| MD5 |
ecfd0ba8d910566052905f2ce934df24
|
|
| BLAKE2b-256 |
8d43655971b27237c9e72f5a1672c48a0e8ad8b7302390df91e4881426b9422c
|
File details
Details for the file llm_bridge-1.17.6-py3-none-any.whl.
File metadata
- Download URL: llm_bridge-1.17.6-py3-none-any.whl
- Upload date:
- Size: 44.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff245ffbd48ed9c1d58046f0f694f1546014b36a752a5c278419c7e9e46d4e04
|
|
| MD5 |
d14ecd9c64e04da44c7c438a175ed63b
|
|
| BLAKE2b-256 |
653469dc5716958074435b28c78c8f60a78da643f0021558fdd188320bb9dc58
|