BAAI: bge-m3
BAAI BGE-M3 obsługuje wyszukiwanie z użyciem reprezentacji gęstych, rzadkich reprezentacji leksykalnych i reprezentacji wielowektorowych w ponad 100 językach. Jego gęsty wektor wyjściowy ma 1024 wymiary, a okno 8192 tokenów mieści zarówno zdania, jak i dłuższe dokumenty bez wymaganej instrukcji dla zapytania.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
BGE-M3 to wielojęzyczny model wyszukiwania BAAI zaprojektowany wokół trzech rodzajów wszechstronności: wielu funkcji wyszukiwania, wielu języków i różnych długości wejścia. Producent dokumentuje obsługę ponad stu języków i wejść do 8192 tokenów. Ujednolicony model może dostarczać gęste wektory, rzadkie wagi leksykalne i reprezentacje wielowektorowe, dzięki czemu projekt wyszukiwania może wybrać lub połączyć więcej niż jeden rodzaj materiału.
Trzy reprezentacje do wyszukiwania
Tryb gęsty mapuje tekst na pojedynczy wektor o 1024 wymiarach. Wspiera porównanie znaczenia reprezentowanego przez zapytanie i fragment. Tryb rzadki przypisuje wagi tokenom obecnym w tekście do dopasowania leksykalnego. Tryb wielowektorowy reprezentuje tekst za pomocą kilku wektorów i wykorzystuje interakcję w stylu ColBERT do dokładniejszego porównania zapytania z dokumentem.
Wyjścia te mają różne role w indeksie wyszukiwania. Gęsty wektor daje jedną reprezentację fragmentu; rzadka mapa wag tokenów zachowuje sygnały leksykalne; wiele wektorów zapewnia inną strukturę porównania. Przykłady producenta pokazują zwracanie wybranych reprezentacji i obliczanie ocen par tekstów. Traktuj wybraną reprezentację i metodę oceniania jako celowy element zadania wyszukiwania.
Tekst wielojęzyczny i przygotowanie wejścia
BGE-M3 nie wymaga dodawania instrukcji wyszukiwania używanej przez wcześniejsze modele BGE. Przygotuj bezpośrednio zapytanie i rzeczywiste fragmenty źródłowe. Wielojęzyczny zbiór wiedzy może zachowywać każdy fragment w oryginalnym języku wraz z identyfikatorem dokumentu i ustawieniem regionalnym. Sprawdzając wyniki, używaj rzeczywistych pytań użytkowników z docelowej mieszanki językowej.
Praktycznym zadaniem jest wyszukiwanie wyjaśnień zasad, pomocy produktowej lub dokumentacji technicznej przechowywanych w kilku językach. Zachowaj nazwy, numery modeli i terminy istotne dla pytania. Reprezentacja leksykalna może pomagać zachować dopasowanie tych terminów, a gęsta reprezentacja dostarcza przesłanki semantyczne. Wyszukany fragment powinien zawierać tekst i lokalizację źródła możliwe do sprawdzenia przez czytelnika.
Dłuższe dokumenty i szczegółowość
Okno wejścia 8192 tokenów pozwala modelowi reprezentować materiał od krótkich zdań do dłuższych dokumentów. Dobierz poziom szczegółowości do odpowiedzi, którą wyszukiwanie ma zwrócić. Cała sekcja może zachować definicję i jej wyjątki; mniejszy fragment może ułatwić odnalezienie konkretnej instrukcji. Długie okno umożliwia takie wybory, ale wektor pozostaje powiązany z materiałem rzeczywiście zakodowanym.
Zachowaj powiązanie każdego fragmentu z dokumentem nadrzędnym i wersją. W obszernym raporcie zachowaj nagłówek i otaczające wyjaśnienie istotnej ilustracji lub wniosku. Nie polegaj wyłącznie na tytule wyniku wyszukiwania, gdy dowody są w treści. Jeśli źródło się zmieni, zachowaj wystarczające metadane do aktualizacji odpowiadających mu reprezentacji wyszukiwania.
Oceny hybrydowe i dalsze wykorzystanie
Producent zaleca wyszukiwanie hybrydowe, po którym następuje osobny etap ponownego rankingu. Jego przykłady obliczają oceny gęste, rzadkie i wielowektorowe oraz tworzą kombinacje ważone. Wybierz kombinację zgodnie z pytaniami i słownictwem zbioru; waga pokazana w przykładzie nie jest uniwersalnym ustawieniem dla każdego korpusu.
Użyteczny wynik to zbiór kandydatów, których fragmenty źródłowe pozostają dostępne, z zapisaną reprezentacją i metodą rankingu. Osobny reranker może doprecyzować ten zbiór, a osobny etap generowania tekstu wykorzystać treść fragmentów. Rzadkie i wielowektorowe możliwości BGE-M3 są trybami modelu producenta; gęste osadzenie, wyjście leksykalne i ocena pary to odrębne artefakty, a nie wymienne tablice.
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings baai/bge-m3
baai/bge-m3Start
BAAI BGE-M3 obsługuje wyszukiwanie z użyciem reprezentacji gęstych, rzadkich reprezentacji leksykalnych i reprezentacji wielowektorowych w ponad 100 językach. Jego gęsty wektor wyjściowy ma 1024 wymiary, a okno 8192 tokenów mieści zarówno zdania, jak i dłuższe dokumenty bez wymaganej instrukcji dla zapytania.
- Akceptowane dane wejściowe
- Tekst · token_ids
- Wyniki
- embedding
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings
- Wejście
text,token_ids- Wyjście
embedding- Kontekst
- 8194 tokens
- Format wyjściowy
- json
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity baai/bge-m3 | Domyślnie— |
Poleinput | Typstring|string[]|integer[]|integer[][] | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 Warunki: Niepusta, jednorodna partia danych. Identyfikatory tokenów są nieujemnymi liczbami całkowitymi. Budżet wejścia: Maksimum: 8194 · Jednostka tekstu: bajty UTF8 · Jednostka tokenów: elementy tablicy tokenów | Domyślnie— |
Poleencoding_format | Typstring | WymaganieOpcjonalne | Wartości i limity float | Domyślniefloat |
Poledimensions | Typinteger | WymaganieNieobsługiwane | Wartości i limity Minimum: 1 | Domyślnie— |
Poleuser | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Polesession_id | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Poletrace | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Poleprovider | Typobject | WymaganieOpcjonalne | Wartości i limity Warunki: Odrzucono provider.options | Domyślnie— |
Kombinacje materiałów wejściowych
text_to_embedding
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt8194 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext, token_ids |
Cykl życia: synchronous_json
Zachowaj indeks i liczbę wymiarów każdego wektora.
Nawet jeśli nazwa modelu wskazuje na multimodalność, ta konkretna ścieżka nie obsługuje obiektów obrazów.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Stawka standardowa Gdy wybrany jest tryb szybki
- Tryb flex
- Stawka standardowa Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
| Konfiguracja | Tabela stawek | Opłata |
|---|---|---|
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe $0.00004 / 1K tokenów Wyjście · Tokeny wyjściowe $0 / 1K tokenów Wejście · Odczyt cache — / 1K tokenów Wejście · Zapis do cache — / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Reprezentacje wektorowe
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)
Odbieranie i zapisywanie wyników
Ailoot Ultra · Reprezentacje wektorowe
json
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Nie wprowadzono endpointu zadań generowania osadzeń.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra baai/bge-m3
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · BAAI: bge-m3
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/embeddings·baai/bge-m3:text,token_ids→embedding- Jakich pól używa żądanie?
POST /v1/embeddings·baai/bge-m3:model,input,encoding_format,provider- Jakie limity obowiązują?
POST /v1/embeddings·baai/bge-m3:ctx:8194;input.budget.maximum:8194(bajty UTF8);input.min_items:1