Permite recuperar y reutilizar fragmentos de conocimiento de la base de conocimiento del Agente/recorrido (Journey) en función del contenido de la consulta o de las palabras clave proporcionadas. Se puede especificar el alcance de la recuperación mediante group_ids o data_ids, configurar el parámetro top_k y personalizar la recuperación mediante la puntuación de relevancia del conocimiento y el reranking para disponer de capacidades de Retrieval-Augmented Generation (RAG) personalizadas.
Método de la solicitud
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/vector/match
Autenticación
Para más información, consulte las instrucciones del método de autenticación en la sección «Visión general» de la API.
Solicitud
Ejemplo de solicitud
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": "What APIs does GPTBots offer?",
"group_ids": ["1234567890","1230987654"],
"data_ids": ["1234567890","1230987654"],
"top_k": 10 ,
"rerank_version": "Jina-reranker-v2-base-multilingual",
"doc_correlation": 0.70
}'
Cabeceras de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer ${API Key} | Se utiliza Authorization: Bearer ${API Key} para la autenticación. La clave de API se obtiene en la página «API Key». |
| Content-Type | application/json | Tipo de datos; el valor debe ser application/json. |
Parámetros de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| embedding_rate | float | No | Especifica la proporción de ponderación entre la recuperación basada en palabras clave y la recuperación basada en semántica. Rango de valores: [0,1]; el valor predeterminado es 1. Por ejemplo: 0 = solo palabras clave; 1 = solo semántica; 0.4 = 40% palabras clave, 60% semántica. |
| prompt | string | Sí | Palabras clave o contenido de la consulta utilizados para la coincidencia por similitud vectorial con documentos en el Agente/recorrido (Journey). |
| group_ids | array | No | ID de bases de conocimiento para la recuperación vectorial dentro de las bases de conocimiento especificadas. Si se proporcionan uno o más ID de base de conocimiento, la recuperación se realiza dentro de su unión. Si es null o no se proporciona, el valor predeterminado son todas las bases de conocimiento. Si es [], no se recupera ninguna base de conocimiento. |
| data_ids | array | No | ID de documentos para la recuperación vectorial dentro de los documentos de conocimiento especificados. Si se proporcionan uno o más ID de documento, la recuperación se realiza dentro de su unión. Si es null o no se proporciona, el valor predeterminado son todos los documentos de conocimiento. Si es [], no se recupera ningún documento de conocimiento. |
| top_k | int | Sí | Tras realizar la coincidencia por similitud vectorial entre las palabras clave y los ID de los documentos, devuelve los K mejores resultados. Rango válido: [1,50]. |
| rerank_version | string | No | Nombre del modelo de reranking de conocimiento para una búsqueda más precisa. Las opciones incluyen: BGE-Rerank, Jina-reranker-v2-base-multilingual, Jina-colbert-v2, BCE-Rerank. |
| doc_correlation | float | No | Puntuación de relevancia del conocimiento, que representa la similitud entre la pregunta del usuario y un fragmento de conocimiento. Puntuaciones más altas indican mayor relevancia, pero valores excesivamente altos pueden dar lugar a que no haya fragmentos de conocimiento disponibles. Rango: [0.1,0.95]. |
Cuando se proporcionan
group_idsydata_ids, la recuperación se realiza dentro de la unión de sus respectivos ámbitos de conocimiento. Si ambos sonnullo no se proporcionan, de forma predeterminada se busca en todas las bases de conocimiento. Si ambos son matrices vacías ([]), no se recupera ningún conocimiento.
Respuesta
Ejemplo de respuesta
{
"total": 2,
"list": [
{
"content": "Test data",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
},
{
"content": "Test data",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
}
]
}
Respuesta de éxito
| Campo | Tipo | Descripción |
|---|---|---|
| total | int | Número total de fragmentos devueltos. |
| list | JSON Array | Lista de fragmentos. |
| content | string | Contenido del fragmento. |
| data_id | string | Documento de origen. |
| document_name | string | Nombre del documento de origen. |
| score | float | Puntuación de similitud. |
Respuesta de error
| Campo | Tipo | Descripción |
|---|---|---|
| code | int | Código de error. |
| message | string | Detalles del error. |
Códigos de error
| Código | Mensaje |
|---|---|
| 40000 | Error de parámetros |
| 40127 | Fallo en la autenticación del desarrollador |
| 20059 | Agente/recorrido (Journey) eliminado |
