LiteLLM
Llame a HopBase desde el SDK de Python de LiteLLM o enrute a HopBase desde el config.yaml de un LiteLLM Proxy.
LiteLLM ofrece una sola interfaz para muchos proveedores de modelos, ya sea como SDK de Python (litellm.completion) o como servidor proxy autoalojado. HopBase se conecta a ambos como proveedor compatible con OpenAI: anteponga openai/ al ID de modelo y defina api_base.
| Ajuste | Valor |
|---|---|
model | openai/<ID de modelo de HopBase>, por ejemplo openai/deepseek-v4.1-flash-1017 |
api_base | https://api.hop-base.com/v1 |
api_key | Una clave creada en la consola |
Verificado en producción con LiteLLM 1.106: litellm.completion con y sin stream=True, y un LiteLLM Proxy que atiende solicitudes normales y en streaming.
Una clave de HopBase solo llega a los modelos de los grupos que incluye. Al crear la clave en la consola, seleccione el grupo que sirve el modelo que quiere usar: por ejemplo DeepSeek para deepseek-v4.1-flash-1017, DeepSeek centro de datos de Singapur para deepseek-v4.1-flash-1017-sg o Gemini (todos los modelos, incl. imagen) para gemini-3.8-flash. Una clave sin el grupo del modelo devuelve 404 model_not_found.
El prefijo openai/ solo le indica a LiteLLM qué protocolo usar; se elimina antes de enviar la solicitud, así que HopBase recibe el ID de modelo tal cual.
SDK de Python
pip install litellm
export HOPBASE_API_KEY=sk-your-keyimport os
import litellm
response = litellm.completion(
model="openai/deepseek-v4.1-flash-1017",
api_base="https://api.hop-base.com/v1",
api_key=os.environ["HOPBASE_API_KEY"],
messages=[{"role": "user", "content": "Reply with one word: hello."}],
)
print(response.choices[0].message.content)El streaming usa los mismos argumentos más stream=True:
stream = litellm.completion(
model="openai/deepseek-v4.1-flash-1017",
api_base="https://api.hop-base.com/v1",
api_key=os.environ["HOPBASE_API_KEY"],
messages=[{"role": "user", "content": "Count from 1 to 5."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")LiteLLM Proxy
En config.yaml, asigne cada nombre que llamarán sus clientes a un modelo de HopBase:
model_list:
- model_name: deepseek-v4.1-flash-1017
litellm_params:
model: openai/deepseek-v4.1-flash-1017
api_base: https://api.hop-base.com/v1
api_key: os.environ/HOPBASE_API_KEY
general_settings:
master_key: os.environ/LITELLM_MASTER_KEYos.environ/HOPBASE_API_KEY hace que el proxy lea la clave de HopBase del entorno. Las versiones recientes de LiteLLM se niegan a arrancar sin master_key; es la clave que sus propios clientes envían al proxy, distinta de la clave de HopBase.
pip install 'litellm[proxy]'
export HOPBASE_API_KEY=sk-your-key
export LITELLM_MASTER_KEY=sk-your-proxy-key
litellm --config config.yaml --port 4000Después, llame al proxy como a cualquier endpoint compatible con OpenAI:
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v4.1-flash-1017", "messages": [{"role": "user", "content": "Reply with one word: hello."}]}'Para exponer más modelos, añada una entrada de model_list por ID de modelo, como openai/deepseek-v4.1-flash-1017-sg u openai/gemini-3.8-flash, cada uno servido por un grupo que incluya su clave.
Los precios de cada modelo están en la página de precios.
Solución de problemas
| Síntoma | Causa |
|---|---|
AuthenticationError / 401 | La clave de HopBase no está definida donde se ejecuta LiteLLM, o está desactivada |
404 model_not_found | La clave no incluye el grupo del modelo, o el ID después de openai/ está abreviado. Vuelva a consultar GET /v1/models |
LLM Provider NOT provided | Al ID de modelo le falta el prefijo openai/ |
| El proxy se cierra con "no master key is set" | Añada general_settings.master_key o defina LITELLM_MASTER_KEY |
Próximos pasos
- Modelos disponibles: consulte los ID de modelo disponibles para una clave
- OpenAI SDK: el mismo endpoint desde el SDK oficial
- Solución de problemas: busque un mensaje de error