Faites tourner le chat RAGFlow sur une base URL compatible OpenAI-API.
Updated 2026-07-29
RAGFlow embarque un fournisseur OpenAI-API-Compatible exactement pour cela : ajoutez chaque modèle avec son id, https://api.apisrouter.com/v1 comme base url, et une seule clé. Les ids Claude, GPT, DeepSeek, GLM, Kimi et Qwen servent alors vos datasets, chats et agents depuis un seul endpoint.
Réponse rapide : ajoutez le modèle sur la page Model providers.
Connectez-vous à RAGFlow, cliquez sur votre logo en haut à droite, et ouvrez Model providers. Sous Models to be added, trouvez la carte OpenAI-API-Compatible et cliquez sur Add the model. Dans la boîte de dialogue Add LLM, réglez Model type sur chat, saisissez l'id exact du catalogue comme Model name, mettez https://api.apisrouter.com/v1 dans Base url, collez votre clé dans API-Key, et réglez Max tokens sur la vraie taille de contexte du modèle. Cliquez sur OK. Faites-lui ensuite faire quelque chose : ouvrez Set default models sur la même page et choisissez votre nouveau modèle comme LLM par défaut. Les assistants de chat, le question-réponse sur dataset, et les nœuds d'agents se résolvent tous vers ce défaut sauf s'ils le surchargent. Une aspérité tranchante à connaître avant la première exécution : le champ Max tokens de RAGFlow vaut 512 par défaut et son propre tooltip avertit qu'une valeur invalide cause des erreurs, donc saisir la fenêtre documentée du modèle fait partie de la configuration, pas de l'optimisation.
Model type: chat
Model name: deepseek-v4-pro
Base url: https://api.apisrouter.com/v1
API-Key: sk-YOUR-APISROUTER-KEY
Max tokens: 128000
then: Set default models → LLM → deepseek-v4-proComment RAGFlow lie les modèles au travail.
RAGFlow (infiniflow sur GitHub, environ 85 000 étoiles) est un moteur RAG pour documents complexes : parsing sensible à la mise en page de PDF et de tableaux, découpage en fragments avec citations ancrées, datasets, assistants de chat, et workflows d'agents par-dessus. Différentes parties de ce pipeline se lient à différents emplacements de modèles, et la liaison est explicite. Les chat models génèrent les réponses. Les modèles d'embedding vectorisent les fragments pour la récupération. Les modèles de rerank réordonnent les candidats, et les modèles img2txt décrivent les figures pendant le parsing. Le fournisseur OpenAI-API-Compatible peut enregistrer des modèles pour ces types individuellement, chaque boîte de dialogue Add LLM créant une liaison de type, id, base url et clé. Chaque chat model enregistré parle des chat completions standard à la base url avec le Model name comme chaîne sur le fil, donc tout id que sert la passerelle est valide, quel que soit le fournisseur. Cette séparation compte sur le plan opérationnel : changer votre modèle de réponse de gpt-5.5 à claude-sonnet-4-6 est sans risque n'importe quel jour, mais le modèle d'embedding est soudé à vos vecteurs indexés. RAGFlow impose cela avec une vérification de compatibilité en cas de changement de modèle d'embedding sur un dataset qui a déjà des fragments, et la règle pratique est plus simple : choisissez la configuration d'embedding une fois, et traitez les chat models comme la couche que vous ajustez librement.
Une seule clé pour les modèles chinois et occidentaux ensemble.
Les déploiements RAGFlow penchent vers le bilingue : des équipes d'origine chinoise traitant des bases de documents multilingues, et des équipes internationales qui veulent spécifiquement des modèles chinois pour des documents chinois. Servi directement, ce mélange est pénible, puisque DeepSeek, Zhipu, Moonshot et Alibaba facturent chacun séparément et certains sont malaisés à payer depuis l'étranger, tandis qu'Anthropic et OpenAI sont malaisés dans l'autre sens. Via une seule base url OpenAI-API-Compatible, le mélange devient simplement plus de boîtes de dialogue Add LLM : deepseek-v4-pro et glm-5.2 pour les corpus à forte dominante chinoise, qwen3.7-max et kimi-k2.6 comme solides alternatives régionales, claude-sonnet-4-6 là où le poli de la réponse compte le plus. Même base url, même clé, des ids tout droit sortis du catalogue. Pour les équipes en Asie, la même route fonctionne dans l'autre sens : les ids Claude et GPT deviennent accessibles sur un solde prépayé sans carte occidentale, ce qui pour de nombreuses boutiques RAGFlow fait la différence entre évaluer un modèle et lire dessus. Il y a aussi un chemin au démarrage qui vaut la peine d'être connu : service_conf.yaml.template accepte un bloc user_default_llm (factory, api_key, base_url) de sorte que les installations fraîches démarrent pré-câblées. La documentation de RAGFlow est explicite sur le fait qu'après la connexion, la configuration se fait uniquement sur la page Model providers, donc traitez le YAML comme un provisionnement au premier démarrage, pas une config en direct.
user_default_llm:
factory: OpenAI-API-Compatible
api_key: sk-YOUR-APISROUTER-KEY
base_url: https://api.apisrouter.com/v1Choisir des modèles pour un pipeline documentaire.
La qualité de récupération fixe le plafond et le modèle de réponse décide de la proximité que vous atteignez, donc testez en A/B des modèles de réponse sur votre corpus réel : même dataset, mêmes questions, deux assistants épinglés à deux ids, et la dépense par modèle dans la console APIsRouter aux côtés de votre propre jugement sur les réponses.
- Répondre de façon ancrée sur des fragments récupérés est un travail lourd en entrée où les modèles de milieu de gamme brillent : deepseek-v4-pro et glm-5.2 portent bien des réponses qui suivent les citations sur des corpus bilingues.
- qwen3.7-max et kimi-k2.6 sont les poids lourds régionaux à tester quand les réponses doivent se lire nativement en chinois ; les différences de qualité entre modèles chinois se voient plus dans la génération que dans la récupération.
- claude-sonnet-4-6 mérite l'emplacement de réponse où la qualité de synthèse est le produit, résumés exécutifs, analyse de contrats, tout ce qu'un humain transmet sans relecture.
- Les workflows d'agents qui appellent des outils ont besoin d'un appel de fonctions fiable ; testez d'abord le chemin d'agent sur claude-sonnet-4-6, puis voyez quel id régional l'égale sur vos flux.
- Max tokens est par enregistrement, donc enregistrez le même id deux fois avec des limites différentes si un assistant a besoin de longues réponses et un autre de réponses serrées.
Paiement à l'usage · en dessous du tarif officiel
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modèle | Prix officiel | Notre prix |
|---|---|---|
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
| Qwen 3.7 Max | $2.50 / $7.50 per M | $2.50 / $7.50 per M |
| Kimi K2.6 | $0.95 / $4.00 per M | $1.00 / $4.00 per M |
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
Modes d'échec spécifiques à RAGFlow.
Le défaut de Max tokens est le classique. Laissé à 512, les longues réponses se tronquent ou produisent des erreurs qui ressemblent à des problèmes de modèle ; réglez la taille de contexte documentée lors de l'enregistrement, comme le tooltip lui-même le prévient. Un modèle enregistré qui produit une erreur immédiatement tient généralement à l'orthographe de Model name (elle doit correspondre exactement au listing /v1/models) ou à une Base url à qui il manque son suffixe /v1, puisque RAGFlow ajoute des chemins de route à ce que vous saisissez. Rien qui se passe après l'enregistrement est un problème de défauts : enregistrer un modèle ne le sélectionne pas. Vérifiez Set default models, et vérifiez les réglages de modèle par assistant, qui surchargent le défaut de l'espace de travail. La confusion sur les embeddings complète la liste. Si vous liez un id d'embedding via le fournisseur compatible, confirmez que l'endpoint le sert réellement avant d'indexer ; et une fois qu'un dataset a des fragments, changer son modèle d'embedding est verrouillé par une vérification de similarité et peut exiger de ré-indexer depuis zéro. Les changements de chat model ne portent aucun coût de ce genre, ce qui explique exactement pourquoi la couche chat est là où vous devriez expérimenter.
Qui route RAGFlow via une passerelle.
- Les équipes documentaires bilingues qui mélangent DeepSeek, GLM, Qwen et Kimi avec des ids Claude et GPT derrière une seule base url et une seule clé.
- Les équipes en Asie qui veulent des réponses de qualité Claude sur un solde prépayé sans carte occidentale, et les équipes occidentales qui veulent des modèles chinois sans facturation régionale.
- Les auto-hébergeurs qui font tourner RAGFlow pour des bases de connaissances internes et veulent toute la dépense cloud du déploiement sur un seul journal d'usage.
- Les créateurs qui comparent des modèles de réponse sur un corpus fixe, où chaque candidat est une boîte de dialogue Add LLM plutôt qu'un compte fournisseur.
- Les équipes ops qui provisionnent des installations fraîches depuis service_conf.yaml.template avec l'endpoint pré-câblé au premier démarrage.
Vérifiez l'endpoint et déboguez le premier chat.
Faites d'abord un curl sur le listing de modèles ; le champ Model name est du texte libre, et copier les ids depuis le listing élimine l'échec le plus courant avant qu'il ne se produise. Lancez ensuite une completion de chat contre l'id que vous comptez enregistrer. Dans RAGFlow, enregistrez le modèle, réglez-le comme LLM par défaut, et testez dans un simple assistant de chat avant d'impliquer des datasets. Les erreurs d'authentification renvoient à API-Key ; not-found à Model name ; les erreurs de connexion à Base url ou à l'egress du conteneur, puisque c'est le serveur RAGFlow, pas votre navigateur, qui doit atteindre l'endpoint. Les longues réponses tronquées ou en échec renvoient à Max tokens. Une fois les chats en circulation, la console APIsRouter affiche le modèle par requête, le nombre de tokens et la dépense. Le trafic RAG est dominé par l'entrée, et le journal d'usage est l'endroit où vous voyez ce que votre corpus coûte réellement à interroger, par modèle, par jour, une seule page pour les ids chinois et occidentaux ensemble.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-pro",
"messages":[{"role":"user","content":"ping"}]}'Questions fréquentes
Comment ajouter un modèle compatible OpenAI-API dans RAGFlow ?
Cliquez sur votre avatar, ouvrez Model providers, trouvez OpenAI-API-Compatible sous Models to be added, et cliquez sur Add the model. Remplissez Model type (chat), Model name (l'id exact du catalogue), Base url https://api.apisrouter.com/v1, API-Key, et une vraie valeur de Max tokens, puis confirmez avec OK.
Pourquoi mes réponses se tronquent-elles ou produisent-elles des erreurs après l'ajout d'un modèle ?
Presque toujours Max tokens : RAGFlow le règle par défaut à 512 et son tooltip avertit que des valeurs incorrectes causent des erreurs. Éditez l'enregistrement du modèle et saisissez la taille de contexte documentée du modèle.
RAGFlow peut-il mélanger des modèles chinois et occidentaux via un seul fournisseur ?
Oui. Chaque enregistrement envoie sa chaîne Model name vers la même base url, donc deepseek-v4-pro, glm-5.2, qwen3.7-max, kimi-k2.6 et claude-sonnet-4-6 peuvent tous être enregistrés côte à côte et sélectionnés par assistant, facturés via une seule clé.
Les chat models et les modèles d'embedding se lient-ils séparément ?
Oui. Chaque boîte de dialogue Add LLM enregistre un modèle d'un type, et Set default models assigne les emplacements de LLM et d'embedding par défaut indépendamment. Les chat models peuvent s'échanger librement ; les modèles d'embedding sont liés aux vecteurs indexés et verrouillés par une vérification de compatibilité une fois qu'un dataset a des fragments.
Puis-je préconfigurer l'endpoint avant le premier démarrage ?
Oui, via le bloc user_default_llm dans docker/service_conf.yaml.template : factory OpenAI-API-Compatible, votre api_key, et base_url. RAGFlow le lit au premier démarrage ; après la connexion, la configuration se déplace uniquement vers la page Model providers.
Pourquoi mon modèle enregistré n'est-il pas utilisé ?
L'enregistrement et la sélection sont des étapes séparées. Réglez le modèle comme LLM par défaut sous Set default models, et vérifiez les réglages de modèle par assistant, qui surchargent le défaut. Si cela échoue encore, comparez Model name à l'orthographe du listing /v1/models.