Qu’est-ce que LangChain ?
LangChain est un cadre d'application permettant de créer des expériences de chat, de récupération, de flux de travail et d'agent basées sur LLM.
Ce guide LangChain configure l'intégration langchain-openai maintenue avec une base API compatible TokenHub. Testez d’abord le chemin d’appel de base, puis validez le streaming, la sortie structurée ou les outils pour les fonctionnalités dont votre application a besoin. Un appel ChatOpenAI minimal vérifie la connectivité de base mais ne valide pas toutes les fonctionnalités utilisées par une application de production. Testez le streaming, la sortie structurée, la liaison d'outils, les tentatives et les délais d'attente indépendamment, puis ajoutez la récupération, les chaînes ou les agents uniquement après que le modèle TokenHub sélectionné ait satisfait aux fonctionnalités requises par votre flux de travail.
L'intégration Python officielle de LangChain pour OpenAI se trouve dans le package langchain-openai distinct. Connectez TokenHub en transmettant un base_url personnalisé à ChatOpenAI. Il s'agit d'une intégration de code ; il n'y a pas d'écran de paramètres d'application.
Étape 1 : installer le package d'intégration officiel
pip install -U langchain-openaiPour un projet géré par uv, utilisez uv add langchain-openai. L'installation du package de base langchain à elle seule ne fournit pas ChatOpenAI.
Étape 2 : instancier explicitement ChatOpenAI pour TokenHub
export TOKENHUB_API_KEY="sk-..."import os
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
base_url="__API_BASE_URL__/v1",
api_key=os.environ["TOKENHUB_API_KEY"],
model="YOUR_TOKENHUB_MODEL_ID",
timeout=60,
max_retries=2,
)
response = model.invoke("Reply with one sentence to confirm the connection.")
print(response.content)La résolution de base URL favorise le base_url / openai_api_base du constructeur, puis le OPENAI_API_BASE, suivi du OPENAI_BASE_URL du SDK sous-jacent. Le transmettre empêche explicitement un ancien OpenAI URL dans l'environnement du projet de remplacer TokenHub.
Étape 3 : vérifier une fonctionnalité à la fois
- Exécutez l’appel minimum
invokepour confirmer d’abord la fin normale du chat. - Ajoutez
streamuniquement lorsque l'appel de base fonctionne. LorsqueOPENAI_BASE_URLpointe vers un point de terminaison tiers, LangChain n'active pas automatiquementstream_usage; définissezstream_usage=Trueuniquement si le modèle TokenHub et le point de terminaison prennent en charge l'utilisation du streaming. - Pour un agent, liez un outil minimal à
bind_toolset inspecteztool_callssur l'objet renvoyé. Ne traitez pas le texte qui décrit simplement un appel comme un appel d'outil. - Testez la sortie structurée, les images et le raisonnement uniquement une fois que ces couches ont fonctionné.
ChatOpenAI cible explicitement les champs de la spécification OpenAI API. Les extensions spécifiques au fournisseur telles que reasoning_content, reasoning ou reasoning_details ne peuvent pas être extraites ou conservées. Une réponse textuelle réussie ne prouve pas que ces extensions fonctionnent.
Dépannage au niveau de la couche LangChain qui a échoué
- Échec de l’importation : confirmez que
langchain-openaiest installé. - 404 : inspectez le
base_urleffectif, y compris le/v1, et vérifiez les remplacements de variables d'environnement. - Erreur de modèle : utilisez l'ID de modèle TokenHub complet dans
model. - Le texte en streaming fonctionne mais l'utilisation est absente : inspectez
stream_usageet vérifiez si le point de terminaison prend en chargestream_options.include_usage. - L'outil Agent échoue : isolez-le avec
bind_tools; uninvokede base réussi n’est pas un test d’outil. - Le champ de raisonnement non standard est absent : utilisez l'intégration LangChain spécifique au fournisseur ou traitez directement la réponse brute.
Référence officielle
Choisir un modèle
FAQ LangChain ChatOpenAI
Comment puis-je pointer ChatOpenAI vers TokenHub ?
Définissez base_url sur la racine de l'API TokenHub se terminant par /v1, transmettez la clé TokenHub en tant que api_key et définissez le modèle sur l'ID TokenHub exact.
Puis-je utiliser OPENAI_API_BASE au lieu de base_url ?
LangChain peut lire les variables d'environnement d'URL de base OpenAI documentées, mais une base_url explicite est la plus claire pour une intégration unique.
Un appel d’invocation réussi prouve-t-il qu’un agent fonctionnera ?
Non, cela prouve la connectivité de base du chat. Validez l’appel d’outil, le streaming et la sortie structurée avant d’utiliser ces fonctionnalités.
Ai-je besoin du package langchain-openai ?
Oui. ChatOpenAI est maintenu dans le package d'intégration langchain-openai ; installez une version compatible avec le reste de votre projet LangChain.
Comment dépanner un LangChain 404 ?
Assurez-vous que base_url se termine par /v1, supprimez les chemins de requêtes en double et vérifiez l'ID de modèle exact avant de vérifier les journaux de requêtes TokenHub.
Références
Cette configuration s’appuie sur TokenHub et la documentation officielle ; dernière vérification : 2026-09-08。