chatrelay
Chatbot library for Groq and Gemini. Give it multiple API keys; when one hits its rate limit it automatically switches to the next.
Install
pip install chatrelay
Setup
Set environment variables (comma-separated keys):
export GROQ_API_KEYS="groq_key_1,groq_key_2"
export GEMINI_API_KEYS="gemini_key_1,gemini_key_2"
Use in code
from chatrelay import Chatbot, build_providers
bot = Chatbot(build_providers(), system_prompt="You are a helpful assistant.")
result = bot.ask("What is Python?")
print(result["provider"], result["reply"]) # e.g. groq-1 ...
bot.ask("Explain more") # remembers the conversation
bot.ask("Hi", provider="gemini") # prefer a provider ("gemini") or one key ("groq-2")
bot.reset() # clear history
Terminal chat
pip install "chatrelay[cli]"
chatrelay "What is Python?" # one-shot: prints the answer and exits
chatrelay # interactive mode: /groq /gemini /auto /reset /quit
How failover works
Order: groq-1 -> groq-2 -> gemini-1 -> gemini-2. A key that returns HTTP 429 is skipped
for 60s (or the Retry-After time). If all keys fail, LLMError is raised.
REST API example
See examples/fastapi_app.py (pip install "chatrelay[api]").
Metadata
Release files for chatrelay 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chatrelay-0.1.4.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chatrelay-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.7 kB
Release files / chatrelay-0.1.4.tar.gz
| Download URL | chatrelay-0.1.4.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
601a1bb09a3001aea6c7abbbd71c4bd620a378873ceefde89803cfc40e6a7883
|
|
BLAKE2b-256 checksum How to use checksums |
390f3eb44be54730e3d197faaf7f891e6933c55a227bcb5dbe75cc0358a748c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.10
|
Release files / chatrelay-0.1.4-py3-none-any.whl
| Download URL | chatrelay-0.1.4-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
07651917deb1d8c167d5512ed92ab05698ae0825b49e4839a78e16016793f940
|
|
BLAKE2b-256 checksum How to use checksums |
0c06ddf3c7a5554a535cde00878ff331e09497f53ca30ca8e6b5500ad3c124d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.10
|