Récupère, à partir du texte de requête, les fragments de connaissances (chunks) les plus pertinents dans les bases de connaissances rattachées à un Agent / Workflow, et renvoie le contenu du fragment, le document source et le score de similarité. Utile pour construire votre propre RAG, tester la qualité de la recherche et diagnostiquer le taux de couverture des connaissances.
Remarques
- La recherche porte sur les bases de connaissances rattachées à la version publiée de l'Agent / Workflow.
- Cet endpoint est en lecture seule : il ne modifie ni l'Agent, ni le Workflow, ni la base de connaissances.
- Une requête peut spécifier au maximum 10
data_ids; au-delà, le code d'erreur40332est renvoyé.
Méthode de requête
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/vector/match
Authentification
Pour plus de détails, consultez les instructions sur la méthode d'authentification dans la Vue d'ensemble de l'API.
Requête
Exemple de requête
Exemple 1 : rechercher dans des bases de connaissances précises
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/vector/match' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"prompt": "Quelle est la politique de retour ?",
"group_ids": ["6616e3f3d9d5cf1d5b6c8a21"],
"top_k": 5,
"doc_correlation": 0.5
}'
Exemple 2 : limiter à des documents précis et activer le reranking
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/vector/match' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"prompt": "Quelle est la politique de retour ?",
"data_ids": ["6616e4a2d9d5cf1d5b6c8a35", "6616e4a2d9d5cf1d5b6c8a36"],
"top_k": 3,
"embedding_rate": 0.8,
"rerank_version": "BGE-Rerank"
}'
En-têtes de requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ${API Key} | Utilisez Authorization: Bearer ${API Key} pour l'authentification. Obtenez la clé API depuis la page Clé API. |
| Content-Type | application/json | Type de données ; la valeur doit être application/json. |
Paramètres de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| prompt | string | Oui | Texte de requête ou mots-clés utilisés pour l'appariement par similarité de vecteurs avec le contenu de la base de connaissances. |
| top_k | int | Oui | Retourne les K fragments ayant la similarité la plus élevée. Plage valide : [1,50]. |
| group_ids | array | Non | IDs de bases de connaissances qui limitent le périmètre de recherche. |
| data_ids | array | Non | IDs de documents qui limitent le périmètre de recherche, 10 au maximum par requête ; au-delà, le code d'erreur 40332 est renvoyé. |
| embedding_rate | float | Non | Ratio de pondération entre la recherche par mots-clés et la recherche sémantique. Plage : [0,1], valeur par défaut 1. |
| doc_correlation | float | Non | Seuil de pertinence des connaissances. Les fragments dont le score est inférieur ne sont pas retournés. Un score élevé indique une plus grande pertinence, mais un seuil trop élevé peut ne laisser aucun fragment exploitable. Plage valide : [0.1,0.95]. |
| rerank_version | string | Non | Nom du modèle de reranking. Le renseigner active le reranking, qui réordonne les fragments candidats pour une recherche plus précise. Options : BGE-Rerank, Jina-reranker-v2-base-multilingual, Jina-colbert-v2, BCE-Rerank. |
Combinaison de group_ids et data_ids
| group_ids | data_ids | Périmètre de recherche |
|---|---|---|
| Non fourni / null | Non fourni / null | Toutes les bases de connaissances |
| Spécifié | Non fourni / null | Tous les documents des bases spécifiées |
| Non fourni / null | Spécifié | Les documents spécifiés |
| Spécifié | Spécifié | L'union des deux |
| [] | [] | Aucun résultat |
Utilisation recommandée
- Recherche RAG sur une base de connaissances entière : ne transmettez que
group_idset omettezdata_ids.- Pour limiter à des documents précis : envoyez
data_idspar lots de 10 au maximum.- N'utilisez pas
[]pour signifier « tout » :[]signifie « ne rien rechercher ».
Réponse
Exemple de réponse
{
"total": 2,
"list": [
{
"content": "Les articles non ouverts peuvent être retournés sans motif dans les 7 jours suivant la réception…",
"data_id": "6616e4a2d9d5cf1d5b6c8a35",
"document_name": "Politique de service après-vente.pdf",
"score": 0.87
},
{
"content": "Les frais de retour sont à la charge de l'acheteur, sauf en cas de défaut de qualité…",
"data_id": "6616e4a2d9d5cf1d5b6c8a35",
"document_name": "Politique de service après-vente.pdf",
"score": 0.79
}
]
}
Réponse en cas de succès
| Champ | Type | Description |
|---|---|---|
| total | int | Nombre de fragments retournés. |
| list | Tableau JSON | Liste des fragments, du plus similaire au moins similaire. |
| content | string | Contenu du fragment. |
| data_id | string | ID du document auquel appartient le fragment. |
| document_name | string | Nom du document auquel appartient le fragment. |
| score | float | Score de similarité ; plus il est élevé, plus le fragment est pertinent. |
Réponse en cas d'échec
| Champ | Type | Description |
|---|---|---|
| code | int | Code d'erreur. |
| message | string | Détails de l'erreur. |
Codes d'erreur
| Statut HTTP | Code | Message | Action recommandée |
|---|---|---|---|
| 400 | 40000 | Erreur de paramètre | Vérifiez les paramètres obligatoires et leurs plages (top_k [1,50], embedding_rate [0,1], doc_correlation [0.1,0.95]). |
| 401 | 40127 | Échec de l'authentification du développeur | Vérifiez que la clé API est correcte et appartient bien à cet Agent / Workflow. |
| 403 | 40332 | Plus de 10 data_ids | Une requête ne peut pas dépasser 10 data_ids. Découpez la requête en lots ou utilisez group_ids. |
| — | 20059 | Agent/Workflow supprimé | Vérifiez que l'Agent / Workflow ciblé existe toujours. |
Questions fréquentes
Q1: Les endpoints « Obtenir la liste des bases de connaissances » et « Obtenir la liste des documents » fonctionnent : pourquoi celui-ci renvoie-t-il 403 ?
A: Le plus souvent, plus de 10 data_ids ont été transmis (code d'erreur 40332). Les endpoints de listage n'ont pas cette limite, celui-ci l'a. Réduisez le nombre de data_ids ou utilisez group_ids.
Q2: Le résultat est vide (total à 0). Comment diagnostiquer ?
A: Vérifiez dans l'ordre : si group_ids ou data_ids a été transmis comme tableau vide [] ; si le seuil doc_correlation est trop élevé ; si les documents ciblés sont à l'état AVAILABLE ; et si la base de connaissances est rattachée à la version publiée de l'Agent / Workflow.
