Cria incorporações vetoriais contextualizadas para blocos de documento . Essas incorporações capturam detalhes locais dentro de cada chunk e contexto global de todo o documento.
Esse endpoint aceita queries, documentos completos ou chunks de documento e retorna incorporações sensíveis ao contexto em todo o documento.
corpo, corpo
Obrigatório
-
Uma lista de listas, onde cada lista interna contém uma query, um documento ou blocos de documento a serem vetorizados.
Cada lista interna no
inputsrepresenta um conjunto de elementos de texto que são incorporados juntos. Cada elemento na lista é codificado não apenas de forma independente, mas também codifica o contexto dos outros elementos na mesma lista.inputs = [["text_1_1", "text_1_2", ..., "text_1_n"], ["text_2_1", "text_2_2", ..., "text_2_m"]]Blocos de documentos. Mais comumente, cada lista interna contém chunks de um único documento, ordenados por sua posição no documento. Neste 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 chunk é codificado em contexto com os outros do mesmo documento, resultando em mais incorporações sensíveis ao contexto. Oschunks fornecidos não devem ter sobreposição.
Comportamento independente do contextopara queries e documentos. Se houver um elemento por lista interna, cada texto será incorporado de forma independente – semelhante às incorporações padrão (independentemente de contexto):
inputs = [["query_1"], ["query_2"], ..., ["query_k"]] inputs = [["doc_1"], ["doc_2"], ..., ["doc_k"]]Portanto, se as entradas forem queries, cada lista interna deverá conter uma única query (comprimento de um), conforme mostrado acima, e
input_typedeverá ser definido comoquery.As seguintes restrições se aplicam à lista
inputs:- A lista não deve conter mais de 1,000 entradas.
- O número total de tokens em todas as entradas não deve exceder 120K.
- O número total de chunks em todas as entradas não deve exceder 16K.
Para queries, a lista contém apenas uma única query. Para documentos ou blocos de documento , a lista deve incluir todos os blocos de um único documento, ordenados por sua posição no documento, ou o documento inteiro pode ser fornecido como um único bloco. O número total de tokens na lista não deve exceder 32,000 tokens.
Pelo menos
1, mas não mais de1000elementos.Para queries, a lista contém apenas uma única query. Para documentos ou blocos de documento , a lista deve incluir todos os blocos de um único documento, ordenados por sua posição no documento, ou o documento inteiro pode ser fornecido como um único bloco. O número total de tokens na lista não deve exceder 32,000 tokens.
Pelo menos
1elemento. O comprimento mínimo de cada um é1. -
O modelo de incorporação contextualizado a ser usado. Modelo recomendado:
voyage-context-3.O valor é
voyage-context-3. -
Tipo do texto de entrada. Padrão é
null. Outras opções:query,document.- Quando
input_typeénull, o modelo de incorporação converte diretamente as entradas em vetores numéricos. Para fins de recuperação ou pesquisa, onde uma "query" pesquisa informações relevantes em uma coleção de dados conhecida como "documentos", especifique se suas entradas são queries ou documentos definindoinput_typecomoqueryoudocument, respectivamente . Nesses casos, o Voyage acrescenta automaticamente um prompt ao seuinputsantes de vetorizá-los, criando vetores mais personalizados para tarefas de recuperação ou pesquisa. As incorporações geradas com e sem o argumentoinput_typesão compatíveis. - Para maior clareza, os seguintes prompts são anexados à sua entrada:
queryPara, o prompt é "Representar a query para recuperar documentos de suporte: ".documentPara, o prompt é "Representar o documento para recuperação: ".
Os valores
querysão,documentou nulo. - Quando
-
O número de dimensões para as incorporações de saída resultantes. Padrão é
null.voyage-context-3suporta os seguintes valores deoutput_dimension: 2048, 1024 (padrão) 512 e 256. Se configurado paranull, o modelo utiliza o valor padrão de 1024.Os valores são,,,
25651210242048ou nulo. -
O tipo de dados para as incorporações a serem retornadas. Padrão é
float. Outras opções:int8,uint8,binary,ubinary.float: cada incorporação retornada é uma lista de 324números de ponto flutuante de precisão única -bit ( -byte). Esse é o padrão e fornece a mais alta precisão/precisão de recuperação.int8euint8: cada incorporação retornada é uma lista de números inteiros de 8bits (1bytes) que variam de -128 a 127 e 0 a 255, respectivamente.binaryeubinary: cada incorporação retornada é uma lista de 8bits inteiros que representam valores de incorporação de bit único compactados e quantizados:int8parabinaryeuint8paraubinary. O comprimento da lista de inteiros retornada é 1/8 deoutput_dimension(que é a dimensão real da incorporação). O tipobinaryutiliza o método binário offset.
O valor padrão é
float. -
Formato em que as incorporações são codificadas. Padrão é
null. Outras opções:base64.- Se
null, cada incorporação é uma array de números flutuantes quandooutput_dtypeestá definido comofloate uma array de inteiros para todos os outros valores deoutput_dtype(int8,uint8,binarye ex.,ubinary). Consulteoutput_dtypepara obter mais detalhes. base64Se, as incorporações são representadas como uma array NumPy codificada64em Base de:- Números de ponto flutuante (numpy.float32) para
output_dtypedefinidofloatcomo. - Inteiros assinados (numpy.int8) para configurado
output_dtypeint8parabinaryou. - Inteiros não assinados (numpy.uint8) para configurado
output_dtypeuint8paraubinaryou.
- Números de ponto flutuante (numpy.float32) para
Os valores são
base64ou nulo. - Se
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"
}