Cria incorporações vetoriais contextualizadas para partes de documento. Essas incorporações capturam detalhes locais dentro de cada parte e contexto global de todo o documento.
Esse ponto de extremidade aceita querys, documentos completos ou partes 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 partes 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"]]Partes de documentos. Mais comumente, cada lista interna contém partes 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 parte é codificada em contexto com as outras do mesmo documento, resultando em mais incorporações sensíveis ao contexto. As partes fornecidas não devem ter sobreposição.
Comportamento independente do contexto para 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 partes em todas as entradas não deve exceder 16K.
Para queries, a lista contém apenas uma única query. Para documentos ou partes de documento, a lista deve incluir todas as partes de um único documento, ordenadas por sua posição no documento, ou o documento inteiro pode ser fornecido como uma única parte. 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 partes de documento, a lista deve incluir todas as partes de um único documento, ordenadas por sua posição no documento, ou o documento inteiro pode ser fornecido como uma única parte. 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:
- Para
query, o prompt é "Representar a query para recuperar documentos de suporte: ". - Para
document, o prompt é "Representar o documento para recuperação: ".
- Para
Os valores são
query,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
256,512,1024,2048ou 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 números de ponto flutuante de precisão única 32-bit (4-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) na faixa 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. - Se
base64, as incorporações são representadas como uma array NumPy codificada em Base64 de:- Números de ponto flutuante (numpy.float32) para
output_dtype, defina comofloat. - Inteiros assinados (numpy.int8) para
output_dtype, defina comoint8oubinary. - Inteiros não assinados (numpy.uint8) para
output_dtype, defina comouint8ouubinary.
- 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"
}