Sentence Transformers: all-MiniLM-L12-v2
Sentence Transformers all-MiniLM-L12-v2 codifica frases e parágrafos curtos em vetores de 384 dimensões para pesquisa, similaridade e agrupamento. A sua receita de referência utiliza mean pooling e normalização, com truncamento predefinido aos 256 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.
all-MiniLM-L12-v2 é um codificador de Sentence Transformers para frases e parágrafos curtos. Produz um vetor denso de 384 dimensões por texto para pesquisa semântica, recuperação de informação, agrupamento e similaridade entre frases. O modelo utiliza a arquitetura de base MiniLM-L12-H384-uncased e foi ajustado com aprendizagem contrastiva numa coleção de mil milhões de pares de frases.
Codifique a unidade que pretende recuperar
Utilize uma frase ou um parágrafo curto que expresse uma ideia útil. Numa coleção de descrições de produtos, mantenha a característica e a condição que distinguem o artigo: «O adaptador liga um auricular com fios a uma porta USB-C» é mais informativo do que «Acessório de áudio». Guarde o identificador do registo e a descrição original junto do respetivo vetor.
Uma consulta de pesquisa pode então ser comparada com as descrições codificadas. Examine os candidatos devolvidos quanto aos requisitos exatos, como o tipo de conector ou a compatibilidade com dispositivos, antes de apresentar uma escolha final. O vetor representa o significado do texto; a aplicação de pesquisa que o integra recupera os registos correspondentes.
Mean pooling e vetores normalizados
O exemplo de codificação publicado calcula a média das representações dos tokens com a máscara de atenção, para que as posições de preenchimento não contribuam para a média. Depois aplica normalização L2. Estes passos fazem parte da receita de referência para obter o vetor da frase, em vez de constituírem uma instrução para retirar um token arbitrário do transformer subjacente.
Mantenha a configuração do modelo, pooling e normalização consistente entre os textos indexados e as novas consultas. As representações resultantes de 384 componentes podem ser comparadas através de similaridade do cosseno. Guarde um registo dessa configuração com a coleção; um codificador diferente de 384 dimensões não se torna compatível apenas porque os seus vetores têm o mesmo comprimento.
Comprimento de entrada predefinido e âmbito do treino
O fabricante especifica truncamento predefinido para além de 256 segmentos de palavra, ou word pieces. Este é um limite do tokenizador, não uma contagem de palavras ou caracteres comuns. Para um registo mais longo, escolha secções curtas e coerentes e preserve o título ou o detalhe identificador necessário para interpretar cada uma.
O procedimento de treino do modelo utilizou sequências de até 128 tokens. Essa definição de treino é distinta do valor predefinido publicado de 256 segmentos de palavra no momento da codificação. Uma passagem que caiba no valor predefinido pode ainda diferir substancialmente do material de frases curtas utilizado no treino, pelo que deve avaliar descrições longas ou especializadas com exemplos representativos.
Fluxos de similaridade e agrupamento
Num conjunto de mensagens de suporte, os embeddings podem fornecer entradas numéricas para uma etapa de agrupamento. Reveja várias mensagens de cada grupo proposto e as que se encontram próximas da sua fronteira antes de atribuir uma etiqueta legível por pessoas. Para revisão de conteúdo duplicado, recupere registos semelhantes e compare a sua formulação real; duas passagens podem abordar o mesmo assunto, mas dar instruções diferentes.
Esta edição exata L12-v2 é um perfil de embeddings de frases em inglês. É distinta de all-MiniLM-L6-v2 e dos checkpoints paraphrase-MiniLM. Os nomes de família partilhados não transferem as respetivas configurações de sequência ou receitas de pooling. Utilize os seus vetores densos e compactos em conjunto com os registos de origem e uma avaliação específica da tarefa, em vez de tratar um valor de similaridade como resposta verificada ou decisão editorial final.
Ailoot Ultra · Embeddings POST /v1/embeddings sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2Introdução
Sentence Transformers all-MiniLM-L12-v2 codifica frases e parágrafos curtos em vetores de 384 dimensões para pesquisa, similaridade e agrupamento. A sua receita de referência utiliza mean pooling e normalização, com truncamento predefinido aos 256 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/all-minilm-l12-v2 | 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/all-minilm-l12-v2", "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/all-minilm-l12-v2',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/all-minilm-l12-v2
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Sentence Transformers: all-MiniLM-L12-v2
- Que entradas e resultados estão disponíveis?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:text,token_ids→embedding- Que campos utiliza o pedido?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:model,input,encoding_format,provider- Que limites se aplicam?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:input.budget.maximum:512(bytes UTF8);input.min_items:1