BAAI: bge-m3
BAAI BGE-M3 suporta recuperação densa, lexical esparsa e multivetor em mais de 100 línguas. A saída densa tem 1024 dimensões e a janela de 8192 tokens acomoda desde frases até documentos mais longos, sem exigir uma instrução de consulta.
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.
O BGE-M3 é o modelo multilingue de recuperação da BAAI, concebido em torno de três tipos de versatilidade: múltiplas funções de recuperação, múltiplas línguas e diferentes comprimentos de entrada. O fabricante documenta suporte para mais de cem línguas e entradas até 8192 tokens. O seu modelo unificado pode fornecer vetores densos, pesos lexicais esparsos e representações multivetoriais, pelo que um desenho de recuperação pode selecionar ou combinar mais do que um tipo de evidência.
Três representações para a recuperação
O modo denso mapeia um texto num único vetor de 1024 dimensões. Permite comparar o significado representado por uma consulta e por uma passagem. O modo esparso atribui pesos aos tokens presentes no texto para correspondência lexical. O modo multivetorial representa um texto com vários vetores e utiliza uma interação ao estilo ColBERT para comparar a consulta e o documento a um nível mais fino.
Estas saídas têm papéis diferentes num índice de pesquisa. Um vetor denso fornece uma representação para uma passagem; um mapa esparso de pesos de tokens retém sinais lexicais; múltiplos vetores fornecem uma estrutura de comparação diferente. Os exemplos do produtor mostram como devolver as representações selecionadas e calcular pontuações para pares de textos. Trate a representação escolhida e o método de pontuação como uma parte deliberada da tarefa de recuperação.
Texto multilingue e preparação da entrada
O BGE-M3 não exige a adição da instrução de recuperação utilizada pelos modelos BGE anteriores. Prepare diretamente a consulta e as passagens de origem efetivas. Uma coleção de conhecimento multilingue pode manter cada passagem na sua língua original, com o identificador do documento e a respetiva variante linguística. Utilize perguntas reais de utilizadores, na combinação de línguas pretendida, ao verificar os resultados.
Uma tarefa prática é pesquisar explicações de políticas, ajuda de produtos ou documentação técnica disponíveis em várias línguas. Mantenha os nomes, números de modelo e termos que importam para a pergunta. Uma representação lexical pode ajudar a preservar a correspondência nesses termos, enquanto uma representação densa fornece evidência semântica. A passagem recuperada deve incluir o texto e a localização na fonte que o leitor pode inspecionar.
Documentos mais longos e granularidade
A janela de entrada de 8192 tokens permite ao modelo representar material desde frases curtas até documentos mais longos. Escolha a granularidade em função da resposta que a pesquisa deve devolver. Uma secção completa pode preservar uma definição e as suas exceções; uma passagem mais pequena pode facilitar a localização de uma instrução específica. Uma janela longa torna essas escolhas possíveis, mas o vetor continua associado ao material efetivamente codificado.
Mantenha cada passagem ligada ao seu documento principal e à respetiva versão. Num relatório extenso, preserve o título e a explicação envolvente da figura ou da conclusão relevante. Não se baseie apenas no título de um resultado de pesquisa quando a evidência está no corpo do texto. Se a fonte mudar, guarde metadados suficientes para atualizar as representações de recuperação correspondentes.
Pontuações híbridas e utilização a jusante
O fabricante recomenda uma recuperação híbrida seguida de uma fase separada de reordenação. Os seus exemplos calculam pontuações densas, esparsas e multivetoriais e formam combinações ponderadas. Selecione a combinação em função das perguntas e do vocabulário da coleção; um peso apresentado num exemplo não é uma definição universal para todos os corpora.
Um resultado útil é um conjunto de candidatos cujas passagens de origem continuam disponíveis, com a representação e o método de ordenação registados. Um reordenador separado pode refinar esse conjunto, e uma fase separada de geração de texto pode utilizar o conteúdo das passagens. As capacidades esparsa e multivetorial do BGE-M3 são modos do modelo do produtor; o embedding denso, a saída lexical e a pontuação de pares são artefactos distintos, e não matrizes intercambiáveis.
Ailoot Ultra · Embeddings POST /v1/embeddings baai/bge-m3
baai/bge-m3Introdução
BAAI BGE-M3 suporta recuperação densa, lexical esparsa e multivetor em mais de 100 línguas. A saída densa tem 1024 dimensões e a janela de 8192 tokens acomoda desde frases até documentos mais longos, sem exigir uma instrução de consulta.
- 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- Contexto
- 8194 tokens
- Formato de saída
- json
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites baai/bge-m3 | 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: 8194 · 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 | Contrato8194 |
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
- Tarifa normal Quando o modo rápido está selecionado
- Modo flex
- Tarifa normal Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Tarifa normal 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.00004 / 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": "baai/bge-m3", "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='baai/bge-m3',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 baai/bge-m3
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · BAAI: bge-m3
- Que entradas e resultados estão disponíveis?
POST /v1/embeddings·baai/bge-m3:text,token_ids→embedding- Que campos utiliza o pedido?
POST /v1/embeddings·baai/bge-m3:model,input,encoding_format,provider- Que limites se aplicam?
POST /v1/embeddings·baai/bge-m3:ctx:8194;input.budget.maximum:8194(bytes UTF8);input.min_items:1