Récupérez et rappelez des fragments de connaissances issus de la base de connaissances Agent/Workflow en fonction du contenu de la requête ou des mots-clés fournis. Les développeurs peuvent spécifier le périmètre de recherche via group_ids ou data_ids, définir le paramètre top_k, et personnaliser la recherche grâce au scoring de pertinence des connaissances et au reranking pour des capacités personnalisées de génération augmentée par la recherche (RAG).
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
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/vector/match' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"embedding_rate": 0.9 ,
"prompt": "Quelles API propose GPTBots ?",
"group_ids": ["1234567890","1230987654"],
"data_ids": ["1234567890","1230987654"],
"top_k": 10 ,
"rerank_version": "Jina-reranker-v2-base-multilingual",
"doc_correlation": 0.70
}'
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 |
|---|---|---|---|
| embedding_rate | float | Non | Spécifie le ratio de pondération entre la recherche par mots-clés et la recherche sémantique. Plage de valeurs : [0,1], la valeur par défaut est 1. Par exemple : 0 = uniquement mots-clés ; 1 = uniquement sémantique ; 0.4 = 40% mots-clés, 60% sémantique. |
| prompt | string | Oui | Mots-clés ou contenu de la requête utilisés pour l'appariement par similarité de vecteurs avec les documents de l'Agent/Workflow. |
| group_ids | array | Non | IDs de bases de connaissances pour la recherche vectorielle dans les bases spécifiées. Si un ou plusieurs IDs sont fournis, la recherche s'effectue dans leur union. Si null ou non fourni, la recherche s'effectue par défaut sur toutes les bases de connaissances. Si [], aucune base de connaissances n'est recherchée. |
| data_ids | array | Non | IDs de documents pour la recherche vectorielle dans les documents spécifiés. Si un ou plusieurs IDs sont fournis, la recherche s'effectue dans leur union. Si null ou non fourni, la recherche s'effectue par défaut sur tous les documents de connaissances. Si [], aucun document de connaissances n'est recherché. |
| top_k | int | Oui | Après l'appariement par similarité de vecteurs entre les mots-clés et les IDs de documents, retourne les K meilleurs résultats. Plage valide : [1,50]. |
| rerank_version | string | Non | Nom du modèle de reranking des connaissances pour une recherche plus précise. Options disponibles : BGE-Rerank, Jina-reranker-v2-base-multilingual, Jina-colbert-v2, BCE-Rerank. |
| doc_correlation | float | Non | Score de pertinence des connaissances, représentant la similarité entre la question utilisateur et un fragment de connaissance. Un score élevé indique une plus grande pertinence, mais des valeurs trop élevées peuvent entraîner l'absence de fragments disponibles. Plage : [0.1,0.95]. |
Lorsque
group_idsetdata_idssont tous deux fournis, la recherche s'effectue dans l'union de leurs périmètres respectifs. Si les deux sont null ou non fournis, toutes les bases de connaissances sont recherchées par défaut. Si les deux sont des tableaux vides ([]), aucune connaissance n'est récupérée.
Réponse
Exemple de réponse
{
"total": 2,
"list": [
{
"content": "Données de test",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
},
{
"content": "Données de test",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
}
]
}
Réponse en cas de succès
| Champ | Type | Description |
|---|---|---|
| total | int | Nombre total de fragments retournés. |
| list | Tableau JSON | Liste des fragments. |
| content | string | Contenu du fragment. |
| data_id | string | Document source. |
| score | float | Score de similarité. |
Réponse en cas d'échec
| Champ | Type | Description |
|---|---|---|
| code | int | Code d'erreur. |
| message | string | Détails de l'erreur. |
Codes d'erreur
| Code | Message |
|---|---|
| 40000 | Erreur de paramètre |
| 40127 | Échec de l'authentification du développeur |
| 20059 | Agent/Workflow supprimé |
