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 que están integrados juntos. Cada elemento de la lista no solo se codifica 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. Por lo general, 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.Se aplican las siguientes restricciones a la lista
inputs:- La lista no debe tener más de 1,000 entradas.
- El número total de tokens en todas las entradas no debe superar 120K.
- El número total de fragmentos en todas las entradas no debe exceder 16K.
Al menos
1pero no más de1000elementos.Para las querys, la lista contiene únicamente una query. Para documentos o fragmentos de documentos, la lista debe incluir todos los fragmentos de un solo documento, ordenados según su posición en el documento, o se puede proporcionar el documento completo como un solo fragmento. El número total de tokens en la lista no debe exceder 32,000 tokens.
Para las querys, la lista contiene únicamente una query. Para documentos o fragmentos de documentos, la lista debe incluir todos los fragmentos de un solo documento, ordenados según su posición en el documento, o se puede proporcionar el documento completo como un solo fragmento. El número total de tokens en la lista no debe exceder 32,000 tokens.
Al menos
1elemento. La longitud mínima de cada uno es1. -
El modelo de incrustación contextualizado a utilizar. Modelo recomendado:
voyage-context-3.El valor es
voyage-context-3. -
Tipo de texto de entrada. Por defecto 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, las siguientes indicaciones se anteponen a tu entrada:
- Para
query, el mensaje es "Representa la query para recuperar documentos de respaldo: ". - Para
document, la indicación es "Representa el documento para recuperación: ".
- Para
Los valores son
query,documento null. - 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. -
El tipo de datos para los embeddings que se devolverán. Por defecto es
float. Otras opciones:int8,uint8,binary,ubinary.float: Cada embedding retornado es una lista de números de punto flotante de precisión simple de 32bits (4bytes). Esta es la opción por defecto y aporta la mayor precisión/precisión 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 por defecto es
float. -
Formato en el que se codifican los incrustados. Por defecto 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. - Si
base64, los incrustaciones se representan como un arreglo NumPy codificado en base64 de:- Números de punto flotante (numpy.float)32para
output_dtypeestablecidosfloaten. - Enteros con signo (numpy.int8) para
output_dtypeestablezca enint8obinary. - 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"
}