Crea incrustaciones vectoriales contextualizadas para fragmentos de documentos. Estas incrustaciones capturan tanto los detalles locales de cada fragmento como el contexto global de todo el documento.
Este endpoint acepta queries, documentos completos o fragmentos de documentos y devuelve embeddings que son eficientes en contexto en todo el documento.
Cuerpo
Requerido
-
Una lista de listas, donde cada lista interna contiene una consulta, un documento o fragmentos de documentos para vectorizar.
Cada lista interna en
inputsrepresenta un conjunto de elementos de texto incrustados. Cada elemento de la lista se codifica no solo de forma independiente, sino que también codifica el contexto de los demás elementos de la misma lista.inputs = [["text_1_1", "text_1_2", ..., "text_1_n"], ["text_2_1", "text_2_2", ..., "text_2_m"]]Fragmentos de documentos. Normalmente, cada lista interna contiene fragmentos de un solo documento, ordenados según su posición en el documento. En este caso:
inputs = [["doc_1_chunk_1", "doc_1_chunk_2", ..., "doc_1_chunk_n"], ["doc_2_chunk_1", "doc_2_chunk_2", ..., "doc_2_chunk_m"]]Cada fragmento se codifica en contexto con los demás del mismo documento, lo que resulta en incrustaciones más contextuales. Losfragmentos proporcionados no deben superponerse.
Comportamiento independiente del contexto para queries y documentos. Si hay un elemento por lista interna, cada texto se incrusta independientemente —similar a las incrustaciones estándar (independientes del contexto):
inputs = [["query_1"], ["query_2"], ..., ["query_k"]] inputs = [["doc_1"], ["doc_2"], ..., ["doc_k"]]Por tanto, si las entradas son consultas, cada lista interna debe contener una sola consulta (longitud uno), como se muestra arriba, y el
input_typedebe configurarse enquery.Las siguientes restricciones se aplican a la lista
inputs:- La lista no debe contener más de 1,000 entradas.
- El número total de tokens en todas las entradas no debe superar 120K.
- La cantidad total de fragmentos en todas las entradas no debe superar 16K.
Para las consultas, la lista contiene solo una consulta. Para documentos o fragmentos de documentos, la lista debe incluir todos los fragmentos de un solo documento, ordenados por su posición en el documento, o bien, el documento completo puede proporcionarse como un solo fragmento. El número total de tokens en la lista no debe superar 32,000 tokens.
Al menos
1pero no más de1000elementos.Para las consultas, la lista contiene solo una consulta. Para documentos o fragmentos de documentos, la lista debe incluir todos los fragmentos de un solo documento, ordenados por su posición en el documento, o bien, el documento completo puede proporcionarse como un solo fragmento. El número total de tokens en la lista no debe superar 32,000 tokens.
Al menos
1elemento. La longitud mínima de cada uno es1. -
El modelo de incrustación contextualizado que se utilizará. Modelo recomendado:
voyage-context-3.El valor es
voyage-context-3. -
Tipo de texto de entrada. El valor predeterminado es
null. Otras opciones:query,document.- Cuando
input_typeesnull, el modelo de embedding convierte directamente las entradas en vectores numéricos. Para propósitos de recuperación o búsqueda, donde una “query” busca información relevante entre una colección de datos denominada “documentos”, especifica si tus entradas son consultas o documentos configurandoinput_typeenqueryodocument, respectivamente. En estos casos, Voyage añade automáticamente un prompt alinputsantes de vectorizarlos, creando vectores más adecuados para tareas de recuperación o búsqueda. Las incrustaciones generadas con y sin el argumentoinput_typeson compatibles. - Para mayor transparencia, se anteponen las siguientes indicaciones a su entrada:
queryPara, el mensaje es "Represente la consulta para recuperar documentos de respaldo: ".documentPara, el mensaje es "Representar el documento para su recuperación: ".
Los valores
queryson,documento nulo. - Cuando
-
Número de dimensiones para las incrustaciones de salida resultantes. El valor predeterminado es
null.voyage-context-3admite los siguientes valoresoutput_dimension: 2048, 1024 (predeterminado), 512 y 256. Si se establece ennull, el modelo utiliza el valor predeterminado 1024.Los valores son,,,
25651210242048o nulo. -
Tipo de dato de las incrustaciones que se devolverán. El valor predeterminado es
float. Otras opciones:int8,uint8,binary,ubinary.floatCada incrustación devuelta es una lista de 324números de punto flotante de precisión simple de bits ( bytes). Este es el valor predeterminado y proporciona la máxima precisión y exactitud de recuperación.int8yuint8: cada incrustación devuelta es una lista de números enteros de 8bits (1bytes) que van desde -128 a 127 y 0 a 255, respectivamente.binaryyubinary: Cada embedding devuelto es una lista de enteros de 8bits que representan valores de embedding de un solo bit, empaquetados en bits y cuantizados:int8parabinaryyuint8paraubinary. La longitud de la lista devuelta de enteros es 1/8 deoutput_dimension(que es la dimensión real del embedding). El tipobinaryutiliza el método binario de desplazamiento.
El valor predeterminado es
float. -
Formato de codificación de las incrustaciones. El valor predeterminado es
null. Otras opciones:base64.- Si
null, cada embedding es un arreglo de números flotantes cuandooutput_dtypeestá configurado enfloaty un arreglo de enteros para todos los demás valores deoutput_dtype(int8,uint8,binary, yubinary). Consultaoutput_dtypepara más detalles. base64Si, las incrustaciones se representan como una matriz NumPy codificada64en Base de:- Números de punto flotante (numpy.float)32para
output_dtypeestablecidosfloaten. - Enteros con signo(numpy.int)8 para
output_dtypeestablecidosint8enbinaryo. - Enteros sin signo(numpy.uint)8 para
output_dtypeestablecidouint8enubinaryo.
- Números de punto flotante (numpy.float)32para
Los valores son
base64o nulos. - Si
curl \
--request POST 'https://ai.mongodb.com/v1/contextualizedembeddings' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"inputs":[["string"]],"model":"voyage-context-3","input_type":"query","output_dimension":256,"output_dtype":"float","encoding_format":"base64"}'
{
"inputs": [
[
"string"
]
],
"model": "voyage-context-3",
"input_type": "query",
"output_dimension": 256,
"output_dtype": "float",
"encoding_format": "base64"
}
{
"object": "list",
"data": [
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
42.0
],
"index": 42
}
],
"index": 42
}
],
"model": "string",
"usage": {
"total_tokens": 42
}
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}