Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica perguntas e passagens em vetores de 768 dimensões para pesquisa semântica. Utiliza CLS pooling e embeddings não normalizados concebidos para pontuação por produto escalar, com um limite de entrada de 512 segmentos de palavra.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
multi-qa-mpnet-base-dot-v1 é um modelo de Sentence Transformers concebido para recuperar passagens de texto para uma pergunta ou consulta. O seu treino utilizou cerca de 215 milhões de pares de pergunta e resposta. Cada entrada torna-se um vetor denso de 768 dimensões, sendo o CLS pooling e a pontuação por produto escalar características que definem esta edição exata.
Prepare uma pergunta e passagens candidatas
Escreva a consulta como a necessidade de informação e prepare as entradas do corpus como passagens de texto legíveis. Por exemplo, uma pergunta sobre a alteração de uma morada de entrega pode ser comparada com parágrafos separados sobre alterações de morada, cancelamento de encomendas e acompanhamento de entregas. Mantenha as condições relevantes na passagem sobre a alteração de morada, incluindo se a encomenda já foi expedida.
Codifique a consulta e as passagens com este mesmo modelo. O exemplo publicado faz isso diretamente, sem um prefixo de consulta/documento, e ordena as passagens pelas respetivas pontuações de produto escalar. Mantenha cada vetor ligado à sua passagem original e ao identificador do documento, para que o resultado ordenado possa mostrar o material efetivamente indexado.
CLS pooling e a edição de produto escalar
A receita de referência do modelo utiliza a representação do primeiro token, conhecida como CLS pooling. A sua tabela técnica indica explicitamente que os embeddings não são normalizados e apresenta o produto escalar como função de pontuação adequada. Preserve essa receita ao configurar a coleção e o lado da consulta.
Aplicar normalização L2 a estes vetores altera a geometria da sua pontuação. O perfil normalizado all-mpnet-base-v2 utiliza uma receita diferente e é um checkpoint separado, apesar de partilhar a família MPNet e uma saída de 768 componentes. Mantenha a edição exata e a função de comparação associadas à coleção armazenada, em vez de as escolher apenas a partir do comprimento do vetor.
Limite de comprimento e passagens mais longas
O limite de entrada indicado é de 512 segmentos de palavra, ou word pieces; texto mais longo é truncado. O fabricante também observa que as entradas de treino atingiam apenas 250 segmentos de palavra e que texto mais longo pode funcionar menos bem. O comprimento aceite pelo tokenizador e a ressalva sobre o comprimento de treino descrevem, por isso, limites práticos diferentes.
Para um artigo de ajuda extenso, prepare secções curtas que respondam a perguntas específicas. Conserve um título quando este identifica o tema e mantenha uma regra junto da exceção necessária para a interpretar corretamente. Uma entrada com uma página inteira pode perder o material posterior devido ao truncamento, enquanto um fragmento demasiado pequeno pode perder a condição que o torna útil.
Utilize a ordenação na recuperação e no RAG
Os vetores densos suportam uma primeira etapa de recuperação. Devolva as passagens candidatas com maior pontuação juntamente com as referências às suas fontes e, depois, examine se respondem à pergunta real. Num fluxo RAG, forneça essas passagens à etapa de redação da resposta como material de origem; a recuperação, por si só, não compõe a resposta.
Utilize perguntas representativas com passagens relevantes conhecidas para escolher o número de resultados e avaliar a ordenação. Inclua exemplos com vocabulário semelhante mas intenção diferente, como alterar uma morada em vez de consultar a morada atual. Interprete as pontuações relativamente aos candidatos sob o mesmo modelo e configuração de pontuação, em vez de as tratar como probabilidades calibradas de correção.
A saída útil deste checkpoint é um espaço de embeddings de perguntas e passagens para pesquisa semântica. Os seus vetores não normalizados, o CLS pooling, a pontuação por produto escalar e a ressalva publicada sobre entradas longas são os detalhes a preservar ao preparar e utilizar os resultados.
Ailoot Ultra · Embeddings POST /v1/embeddings sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1Introdução
Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica perguntas e passagens em vetores de 768 dimensões para pesquisa semântica. Utiliza CLS pooling e embeddings não normalizados concebidos para pontuação por produto escalar, com um limite de entrada de 512 segmentos de palavra.
- Entradas aceites
- Texto · token_ids
- Resultados
- embedding
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Embeddings POST /v1/embeddings
- Entrada
text,token_ids- Saída
embedding- Formato de saída
- json
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites sentence-transformers/multi-qa-mpnet-base-dot-v1 | Predefinição— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 Condições: Lote homogéneo não vazio. Os IDs de tokens são números inteiros não negativos. Orçamento de entrada: Máximo: 512 · Unidade de texto: bytes UTF8 · Unidade de tokens: elementos do array de tokens | Predefinição— |
Campoencoding_format | Tipostring | RequisitoOpcional | Valores e limites float | Predefiniçãofloat |
Campodimensions | Tipointeger | RequisitoNão suportado | Valores e limites Mínimo: 1 | Predefinição— |
Campouser | Tipojson_value | RequisitoOpcional | Valores e limites Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo. | Predefinição— |
Camposession_id | Tipojson_value | RequisitoOpcional | Valores e limites Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo. | Predefinição— |
Campotrace | Tipojson_value | RequisitoOpcional | Valores e limites Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo. | Predefinição— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores e limites Condições: provider.options rejeitado | Predefinição— |
Combinações de materiais de entrada
text_to_embedding
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, input |
Parâmetroinput_shapes | Contratostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parâmetroencoding_format | Contratofloat |
Parâmetrodimensions_override | Contratofalse |
Parâmetromax_input_budget_units | Contrato512 |
Parâmetromultimodal_objects | Contratofalse |
Parâmetromaterial_types | Contratotext, token_ids |
Ciclo de vida: synchronous_json
Guarde o índice e a dimensão de cada vetor.
O nome do modelo multimodal não permite objetos de imagem neste caminho exato.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
| Configuração | Tabela de tarifas | Custo |
|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Custo Entrada · Tokens de entrada $0.00001 / 1K tokens Saída · Tokens de saída $0 / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Embeddings
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "sentence-transformers/multi-qa-mpnet-base-dot-v1", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='sentence-transformers/multi-qa-mpnet-base-dot-v1',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Receber e guardar os resultados
Ailoot Ultra · Embeddings
json
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Guarde cada vetor com o respetivo índice. O número de vetores tem de ser igual ao número de entradas; as dimensões têm de ser consistentes.
Se for necessário verificar a resposta original
Não é introduzido nenhum endpoint de tarefas de embeddings.
Campos da resposta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra sentence-transformers/multi-qa-mpnet-base-dot-v1
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Que entradas e resultados estão disponíveis?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Que campos utiliza o pedido?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Que limites se aplicam?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(bytes UTF8);input.min_items:1