Core library for LLM chatbot integration with multi-provider support (OpenAI, Anthropic, LangDock, OpenRouter, Mammouth, Azure, Vertex AI, Local)
Project description
eq-chatbot-core
Core library for LLM chatbot integration with multi-provider support.
English
Overview
eq-chatbot-core is a Python library for integrating Large Language Models (LLMs) into your applications. It provides a unified interface across cloud and local providers, security primitives, an MCP client, a RAG pipeline, and an optional HTTP/SSE sidecar — usable from any language.
Originally extracted from an Odoo 18 chatbot integration; works standalone without any Odoo dependency.
Key Features
- Multi-Provider Support — OpenAI, Anthropic, Azure AI, Google Vertex AI, LangDock, OpenRouter, Mammouth AI, Local (LM Studio/Ollama)
- Unified API — same interface regardless of provider
- Temperature Safety — automatic model-specific temperature clamping
- Security — Fernet encryption, prompt-injection detection, file-upload validation, token-bucket rate limiting
- RAG Pipeline — chunking, embeddings, Qdrant-backed retrieval, context-window management
- MCP Client — HTTP/SSE and stdio transports, hardened against DNS rebinding and SSRF
- CLI Tool — provider testing, model discovery, programmatic JSON I/O chat
- HTTP/SSE Server Mode (v1.7.0) — run as a local sidecar (
eq-chatbot serve) for cross-language integrations (Avalonia/.NET, Electron, native mobile)
Installation
# Basic installation
uv pip install eq-chatbot-core
# (or: pip install eq-chatbot-core)
# With optional extras
uv pip install eq-chatbot-core[pdf] # PDF→image conversion (vision)
uv pip install eq-chatbot-core[security] # MIME-type file validation
uv pip install eq-chatbot-core[azure] # Azure AI Foundry
uv pip install eq-chatbot-core[vertex] # Google Vertex AI
uv pip install eq-chatbot-core[server] # HTTP/SSE sidecar (FastAPI + uvicorn)
uv pip install eq-chatbot-core[local] # Local sentence-transformers embeddings
# All optional dependencies
uv pip install eq-chatbot-core[pdf,security,azure,vertex,server,local,dev]
Quick Start
from eq_chatbot_core.providers import get_provider
provider = get_provider("openai", api_key="sk-...")
response = provider.chat_completion(
messages=[{"role": "user", "content": "Hello!"}],
model="gpt-4o",
)
print(response.content)
For more — streaming, other providers, ADC for Vertex, error handling — see docs/providers.md.
Documentation
| Topic | Docs |
|---|---|
| Multi-provider integration | docs/providers.md |
| CLI commands | docs/cli.md |
| HTTP/SSE server mode | docs/server-mode.md |
| Security (encryption, injection, files, rate limit) | docs/security.md |
| MCP client (HTTP/SSE + stdio) | docs/mcp.md |
| RAG pipeline (chunking, embedding, retrieval) | docs/rag.md |
| Testing (markers, integration setup, cost-aware patterns) | docs/testing.md |
Deutsch
Überblick
eq-chatbot-core ist eine Python-Bibliothek zur Integration von Large Language Models (LLMs) in Anwendungen. Bietet eine einheitliche Schnittstelle über Cloud- und lokale Provider, Security-Primitives, einen MCP-Client, eine RAG-Pipeline und einen optionalen HTTP/SSE-Sidecar — aus jeder Sprache nutzbar.
Ursprünglich aus einer Odoo-18-Chatbot-Integration extrahiert; funktioniert standalone ohne Odoo-Abhängigkeit.
Hauptfunktionen
- Multi-Provider-Unterstützung — OpenAI, Anthropic, Azure AI, Google Vertex AI, LangDock, OpenRouter, Mammouth AI, Local (LM Studio/Ollama)
- Einheitliche API — gleiche Schnittstelle unabhängig vom Provider
- Temperature-Sicherheit — automatisches modellspezifisches Temperature-Clamping
- Sicherheit — Fernet-Verschlüsselung, Prompt-Injection-Erkennung, File-Upload-Validierung, Token-Bucket-Rate-Limiting
- RAG-Pipeline — Chunking, Embeddings, Qdrant-basiertes Retrieval, Context-Window-Management
- MCP-Client — HTTP/SSE und stdio Transports, gehärtet gegen DNS-Rebinding und SSRF
- CLI-Tool — Provider-Tests, Modell-Discovery, programmatische JSON-I/O-Chat-Calls
- HTTP/SSE-Server-Mode (v1.7.0) — lokaler Sidecar (
eq-chatbot serve) für Cross-Language-Integrationen (Avalonia/.NET, Electron, native Mobile)
Installation
# Basis-Installation
uv pip install eq-chatbot-core
# (oder: pip install eq-chatbot-core)
# Mit optionalen Extras
uv pip install eq-chatbot-core[pdf] # PDF→Bild-Konvertierung (Vision)
uv pip install eq-chatbot-core[security] # MIME-Type-File-Validation
uv pip install eq-chatbot-core[azure] # Azure AI Foundry
uv pip install eq-chatbot-core[vertex] # Google Vertex AI
uv pip install eq-chatbot-core[server] # HTTP/SSE-Sidecar (FastAPI + uvicorn)
uv pip install eq-chatbot-core[local] # Lokale sentence-transformers-Embeddings
# Alle optionalen Abhängigkeiten
uv pip install eq-chatbot-core[pdf,security,azure,vertex,server,local,dev]
Quick Start
from eq_chatbot_core.providers import get_provider
provider = get_provider("openai", api_key="sk-...")
response = provider.chat_completion(
messages=[{"role": "user", "content": "Hallo!"}],
model="gpt-4o",
)
print(response.content)
Für mehr — Streaming, andere Provider, ADC für Vertex, Error-Handling — siehe docs/providers.md.
Dokumentation
| Thema | Docs |
|---|---|
| Multi-Provider-Integration | docs/providers.md |
| CLI-Befehle | docs/cli.md |
| HTTP/SSE-Server-Mode | docs/server-mode.md |
| Security (Verschlüsselung, Injection, Files, Rate-Limit) | docs/security.md |
| MCP-Client (HTTP/SSE + stdio) | docs/mcp.md |
| RAG-Pipeline (Chunking, Embedding, Retrieval) | docs/rag.md |
| Testing (Marker, Integration-Setup, Cost-Aware-Patterns) | docs/testing.md |
Technical Information
| Field | Value |
|---|---|
| Package Name | eq-chatbot-core |
| Version | 1.7.0 |
| Author | Equitania Software GmbH |
| Contact | info@ownerp.com |
| License | MIT |
| Python | >=3.10 |
| Homepage | https://www.ownerp.com |
| Repository | https://github.com/equitania/eq-chatbot-core |
Contributing
Contributions are welcome. Please open an issue or submit a pull request.
License
MIT — see LICENSE.
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 eq_chatbot_core-1.7.1.tar.gz.
File metadata
- Download URL: eq_chatbot_core-1.7.1.tar.gz
- Upload date:
- Size: 433.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e13475df9aa0faac2f04e115e13742eeb07acf005b1110455e2789b6901c13c
|
|
| MD5 |
c3057db264653fd93aab5fcacdbce2cf
|
|
| BLAKE2b-256 |
014b86880d10ec8bf8c8dbe6dc34a827e6b46ca0221640eca5529682a2da5182
|
File details
Details for the file eq_chatbot_core-1.7.1-py3-none-any.whl.
File metadata
- Download URL: eq_chatbot_core-1.7.1-py3-none-any.whl
- Upload date:
- Size: 111.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea3e7e2f18630680ecd325f78f2b85b8e9bd0be7403a541d0cfeb132b32635c6
|
|
| MD5 |
89894eff2fca6fdaf415f89b9299e7c1
|
|
| BLAKE2b-256 |
0388d325c575a267e3140f4229557d2ca8b73c2e91e27c6ac76aebabe6fdf334
|