API Agents (Bêta)
Accédez aux agents LibreChat par programmation via les endpoints d'API compatibles OpenAI et Open Responses
Fonctionnalité bêta
L'API Agents est actuellement en version bêta. Les endpoints, les formats de requête/réponse et le comportement peuvent changer à mesure que nous progressons vers une version stable.
LibreChat expose vos agents via deux interfaces compatibles avec l'API, permettant aux applications, scripts et services externes d'interagir avec vos agents de manière programmatique.
Vue d'ensemble
L'API Agents fournit deux interfaces :
- Chat Completions compatibles avec OpenAI —
POST /api/agents/v1/chat/completions - API de réponses ouvertes —
POST /api/agents/v1/responses
Les deux sont authentifiés via des clés API et prennent en charge les réponses en streaming, ce qui facilite l'intégration des agents LibreChat dans les flux de travail existants qui utilisent déjà des SDK OpenAI ou des outils similaires.
LibreChat adopte Open Responses comme cadre d'API principal pour servir les agents. Bien que le endpoint Chat Completions assure une rétrocompatibilité avec les outils existants compatibles avec OpenAI, le endpoint Open Responses représente l'orientation future.
Activation de l'API Agents
L'API Agents est protégée par la configuration de l'interface remoteAgents. Toutes les autorisations sont définies par défaut sur false.
interface:
remoteAgents:
use: true
create: trueVoir Interface Configuration — remoteAgents pour toutes les options disponibles.
Note : Les utilisateurs administrateurs ont toutes les permissions d'agent distant activées par défaut.
Gestion des clés API
Une fois que remoteAgents.use et remoteAgents.create sont activés, les utilisateurs peuvent générer des clés API depuis l'interface utilisateur de LibreChat. Ces clés authentifient les requêtes vers l'API Agents.
Authentification
L'API Agents prend en charge deux méthodes d'authentification qui peuvent être utilisées indépendamment ou conjointement.
Clé API
L'authentification par clé API est activée par défaut. Générez des clés API depuis l'interface utilisateur de LibreChat une fois que remoteAgents.use et remoteAgents.create sont activés.
Authorization: Bearer <YOUR_API_KEY>Jeton porteur OIDC
Pour les scénarios machine-à-machine où votre infrastructure dispose déjà d'un fournisseur OIDC, vous pouvez vous authentifier directement avec des jetons Bearer OIDC sans clé API LibreChat.
Configurez l'authentification OIDC dans librechat.yaml :
endpoints:
agents:
remoteApi:
auth:
apiKey:
enabled: false
oidc:
enabled: true
issuer: https://auth.example.com/realms/myrealm
# jwksUri is optional and auto-discovered from issuer if omitted
audience: my-client-idEnsuite, appelez l'API avec votre jeton d'accès OIDC :
curl -X POST https://your-librechat-instance/api/agents/v1/responses \
-H "Authorization: Bearer YOUR_OIDC_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model": "agent_abc123", "input": "Hello!"}'Le jeton OIDC doit appartenir à un utilisateur qui existe déjà dans LibreChat. La correspondance utilise d'abord la revendication sub, puis se rabat sur email, preferred_username ou upn.
Voir Agents Endpoint - remoteApi pour toutes les options de configuration.
Endpoints
Chat Completions (compatibles avec OpenAI)
POST /api/agents/v1/chat/completionsUtilisez n'importe quel SDK compatible avec OpenAI en le pointant vers votre instance LibreChat. Le paramètre model correspond à un ID d'agent.
Exemple avec curl :
curl -X POST https://your-librechat-instance/api/agents/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "agent_abc123",
"messages": [
{"role": "user", "content": "Hello, what can you help me with?"}
],
"stream": true
}'Exemple avec le SDK OpenAI (Python) :
from openai import OpenAI
client = OpenAI(
base_url="https://your-librechat-instance/api/agents/v1",
api_key="YOUR_API_KEY"
)
response = client.chat.completions.create(
model="agent_abc123",
messages=[{"role": "user", "content": "Hello!"}],
stream=True
)
for chunk in response:
print(chunk.choices[0].delta.content, end="")Lister les modèles
GET /api/agents/v1/modelsRenvoie les agents disponibles en tant que modèles. Utile pour découvrir quels agents sont accessibles avec votre clé API.
API des réponses ouvertes
POST /api/agents/v1/responsesL'endpoint Open Responses suit la spécification Open Responses, un standard d'inférence ouvert initié par OpenAI et construit par la communauté de l'IA open-source. Il est conçu pour les flux de travail agentiques avec une prise en charge native du raisonnement, de l'utilisation d'outils, des sorties structurées et des événements sémantiques en streaming.
curl -X POST https://your-librechat-instance/api/agents/v1/responses \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "agent_abc123",
"input": "What is the weather today?"
}'Suivi de l'utilisation des jetons
Toutes les requêtes de l'API Agents suivent l'utilisation des jetons par rapport au solde de l'utilisateur (lorsque la dépense de jetons est configurée). Les jetons d'entrée et de sortie sont comptabilisés, y compris les jetons de cache pour les fournisseurs qui les prennent en charge (OpenAI, Anthropic).
Feuille de route
- Open Responses comme interface principale — Nous prévoyons d'étendre l'endpoint Open Responses avec une prise en charge complète des boucles agentiques, de l'orchestration d'outils et des événements sémantiques en streaming.
- Anthropic Messages API — Nous pourrions ajouter la prise en charge du format Anthropic Messages API en tant qu'interface supplémentaire à l'avenir.
Documentation associée
- Agents — Création et configuration d'agents
- Configuration de l'interface — remoteAgents — Paramètres de contrôle d'accès
- Utilisation des jetons — Configuration de la consommation et du solde des jetons
- Open Responses Specification — Le standard d'inférence ouvert
Que pensez-vous de ce guide ?