Sentence Transformers: all-mpnet-base-v2
Sentence Transformers all-mpnet-base-v2 zamienia zdania i krótkie akapity w wektory o 768 wymiarach do wyszukiwania, grupowania i oceny podobieństwa. Opublikowana receptura używa uśredniania i normalizacji L2, z domyślnym przycinaniem przy 384 fragmentach słów.
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.
all-mpnet-base-v2 to model Sentence Transformers do reprezentowania zdań i krótkich akapitów jako gęstych wektorów o 768 wymiarach. Został dostrojony na podstawie modelu bazowego MPNet z użyciem uczenia kontrastywnego na zbiorze miliarda par zdań. Producent wskazuje wyszukiwanie informacji, grupowanie i podobieństwo zdań jako zamierzone zastosowania.
Koduj zdanie lub krótki akapit
Przygotuj tekst do porównania, zachowując główną myśl i odróżniające szczegóły. W wewnętrznym zbiorze dokumentów krótka sekcja może opisywać, jak poprosić o wymianę sprzętu lub jakie informacje musi zawierać raport konserwacyjny. Zachowaj tytuł dokumentu i lokalizację źródła dostępne obok wektora.
Zapytanie osadzone tym samym modelem może wyszukiwać powiązane sekcje nawet przy odmiennych sformułowaniach. Sprawdzaj te sekcje pod kątem rzeczywistej instrukcji potrzebnej czytelnikowi. W procesie oceny podobieństwa porównuj po wyszukaniu same proponowane zdania, zwłaszcza gdy jedno zawiera wyjątek lub warunek nieobecny w drugim.
Uśrednianie i normalizacja
Referencyjny przykład kodowania uśrednia kontekstowe reprezentacje tokenów z maską uwagi, wykluczając dopełnienie ze średniej. Następnie normalizuje wynikowe osadzenia zdań metodą L2. Zachowaj oba kroki przy tworzeniu wektorów zbioru i późniejszych zapytań.
Każdy wektor ma 768 składowych. Podobieństwo cosinusowe może porównywać znormalizowane reprezentacje, a tekst źródłowy dostarcza materiału uzasadniającego wynik. Wspólna liczba składowych nie czyni tego modelu zgodnym z multi-qa-mpnet-base-dot-v1: to osobne wydanie określa agregację CLS i nieznormalizowane wektory do oceniania iloczynem skalarnym.
Domyślne przycinanie i przygotowanie fragmentów
Producent podaje, że wejście przekraczające 384 fragmenty słów jest domyślnie przycinane. Utrzymuj istotną sekcję w tym limicie tokenizera. Długą procedurę dziel na znaczących granicach sekcji i uwzględniaj wystarczający lokalny kontekst do wyjaśnienia, czego dotyczy krok. Fragment taki jak „Prześlij w ciągu pięciu dni” potrzebuje zdarzenia lub procesu, od którego zaczyna się termin.
Procedura treningu ograniczała sekwencje do 128 tokenów, co jest odrębne od opublikowanej domyślnej długości kodowania 384 fragmentów słów. Używaj reprezentatywnego materiału przy ocenie dłuższych akapitów lub słownictwa specyficznego dla zbioru. Więcej tekstu mieszczącego się na wejściu nie dowodzi, że każdy szczegół jednakowo wpłynie na wynik wyszukiwania.
Wyszukiwanie, grupowanie i porównanie
W wyszukiwaniu zachowaj powiązanie wektora z dokumentem, aby uporządkowani kandydaci mogli zwracać pierwotne sekcje. W procesie RAG wybrane sekcje stają się kontekstem etapu pisania odpowiedzi. Model dostarcza reprezentacje liczbowe; nie generuje odpowiedzi opartej na źródłach ani nie decyduje, który dokument jest autorytatywny.
Przy grupowaniu porównuj rekordy w każdej proponowanej grupie przed przypisaniem etykiet. Zbiór notatek konserwacyjnych może zawierać podobny język, lecz dotyczyć różnych urządzeń lub warunków awarii. Uwzględnij te wyróżniające szczegóły w zakodowanym tekście i sprawdzaj je w zwróconym materiale zamiast polegać na samej ocenie.
Ten konkretny punkt kontrolny all-mpnet-base-v2 jest angielskim profilem osadzeń zdań z własnymi ustawieniami uśredniania, normalizacji i domyślnego przycinania. Zachowaj te ustawienia z indeksowanym zbiorem i używaj wektorów jako pomocy w znajdowaniu oraz porównywaniu źródłowych fragmentów istotnych dla zadania.
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2Start
Sentence Transformers all-mpnet-base-v2 zamienia zdania i krótkie akapity w wektory o 768 wymiarach do wyszukiwania, grupowania i oceny podobieństwa. Opublikowana receptura używa uśredniania i normalizacji L2, z domyślnym przycinaniem przy 384 fragmentach słów.
- 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- Format wyjściowy
- json
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity sentence-transformers/all-mpnet-base-v2 | 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: 512 · 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 | Kontrakt512 |
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
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono 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.00001 / 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": "sentence-transformers/all-mpnet-base-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-mpnet-base-v2',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 sentence-transformers/all-mpnet-base-v2
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Sentence Transformers: all-mpnet-base-v2
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:text,token_ids→embedding- Jakich pól używa żądanie?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:model,input,encoding_format,provider- Jakie limity obowiązują?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:input.budget.maximum:512(bajty UTF8);input.min_items:1