OpenAI: Text Embedding 3 Small
OpenAIs kleines Text-Embedding-Modell der dritten Generation gibt standardmäßig 1.536-dimensionale Vektoren zurück und unterstützt kürzere Repräsentationen. Verwenden Sie die numerische Ausgabe für semantische Suche, Codesuche, Gruppierung, Empfehlungen und Klassifikation.
- Ailoot Ultra · Embeddings
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Einbettungen · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
text-embedding-3-small ist OpenAIs kleineres Text-Embedding-Modell der dritten Generation. Es wandelt schriftliches Material in numerische Vektoren mit standardmäßig 1.536 Komponenten um. Diese Vektoren messen Beziehungen zwischen Texten für einen weiteren Such- oder Analyseschritt; das Modell generiert keine Gesprächsantwort auf die Eingabe.
Wie das größere Modell der dritten Generation unterstützt es das Steuerelement dimensions des Anbieters für kürzere Embeddings. Das Training ist darauf ausgelegt, konzeptrepräsentierende Informationen in einem verkürzten Vektor zu erhalten, wobei die Größenwahl Qualität und Ressourcenbedarf der Anwendung beeinflusst. Halten Sie Modell und gewählte Dimensionen für die verglichenen Datensätze und Anfragen einheitlich.
Eine praktische Anwendung ist die Codesuche. Der Herstellerleitfaden beschreibt, Quellcodefunktionen als Text zu repräsentieren und einzubetten, anschließend eine natürlichsprachliche Anfrage mit demselben Modell einzubetten und die resultierenden Vektoren zu vergleichen. Ein beispielhaftes Ergebnis ist eine sortierte Menge relevanter Funktionen mit Verknüpfungen zu ihren Quellpositionen. Für Dokumentensuche ist das entsprechende Artefakt eine Menge von Passagen, deren Text und Originalverweise für Leser oder das nächste Modell verfügbar bleiben.
Weitere dokumentierte Anwendungen umfassen Clustering, Empfehlungen verwandter Inhalte, Klassifikation, Ausreißererkennung und das Messen von Vielfalt. Ein fokussierter Nachrichtenworkflow kann ähnliche Anfragen gruppieren oder sie mit Kategoriebeschreibungen vergleichen. Die Anwendung definiert, wie aus einem Ähnlichkeitsergebnis eine Kategorie, Empfehlung oder ein Prüfelement wird; das Embedding selbst besteht weiterhin aus numerischen Daten.
OpenAI gibt eine maximale Eingabe von 8.192 Tokens pro Text an. Seine Embedding-API akzeptiert Zeichenfolgen oder tokenisierte Eingaben sowie mehrere Eingaben in einer Anfrage, weist leere Zeichenfolgen zurück und wendet eine Gesamtgrenze von 300.000 Tokens an. Bereiten Sie langes Material als sinnvolle Passagen vor und bewahren Sie die zum Verständnis nötigen Titel oder Definitionen. Verwenden Sie eine einheitliche Menge von Quellfeldern, statt verschiedene Datensatzarten mit unzusammenhängenden Vorbereitungsregeln einzubetten.
Der Anbieter gibt standardmäßig float-Vektoren zurück und dokumentiert außerdem base64-Kodierung. Der Leitfaden erklärt, dass OpenAI-Embeddings auf Einheitslänge normalisiert sind, und empfiehlt Kosinusähnlichkeit; ein Skalarprodukt kann sie berechnen, und die euklidische Distanz liefert dieselbe Rangfolge. Wenn ein Embedding der dritten Generation nach der Rückgabe manuell verkürzt wird, normalisieren Sie den verkürzten Vektor erneut wie im Leitfaden beschrieben. Das Steuerelement dimensions vermeidet, dass manuelles Abschneiden zum gewöhnlichen Vorbereitungsschritt wird.
Protokollieren Sie Modellidentität, Dimensionen und Quellverknüpfung bei jedem Vektor. Ein nützliches nachgelagertes Artefakt ist eine sortierte Liste, gruppierte Sammlung oder Menge von Klassifikationsmerkmalen mit Verknüpfungen zu dem Text, der sie erzeugt hat. Prüfen Sie, ob das ausgewählte Material die Aufgabe tatsächlich unterstützt, und halten Sie fehlende Fakten von semantischer Verwandtschaft getrennt. Der nächste Schritt kann die Repräsentation dann für einen konkreten Such- oder Entscheidungsworkflow verwenden.
Ailoot Ultra · Embeddings POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Start
OpenAIs kleines Text-Embedding-Modell der dritten Generation gibt standardmäßig 1.536-dimensionale Vektoren zurück und unterstützt kürzere Repräsentationen. Verwenden Sie die numerische Ausgabe für semantische Suche, Codesuche, Gruppierung, Empfehlungen und Klassifikation.
- Zulässige Eingaben
- Text · token_ids
- Ergebnisse
- embedding
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Eingabetypen
text,token_ids- Ausgabetypen
embedding- Kontext
- 8.192 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits openai/text-embedding-3-small | Standard— |
Feldinput | Typstring|string[]|integer[]|integer[][] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 Bedingungen: Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen. Eingabebudget: Maximum: 8.192 · Texteinheit: UTF8-Bytes · Tokeneinheit: Elemente des Token-Arrays | Standard— |
Feldencoding_format | Typstring | AnforderungOptional | Werte und Limits float | Standardfloat |
Felddimensions | Typinteger | AnforderungNicht unterstützt | Werte und Limits Minimum: 1 | Standard— |
Felduser | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldsession_id | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldtrace | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits Bedingungen: provider.options abgelehnt | Standard— |
Kombinationen von Eingabematerialien
text_to_embedding
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, input |
Parameterinput_shapes | Vertragstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Vertragfloat |
Parameterdimensions_override | Vertragfalse |
Parametermax_input_budget_units | Vertrag8192 |
Parametermultimodal_objects | Vertragfalse |
Parametermaterial_types | Vertragtext, token_ids |
Lebenszyklus: synchronous_json
Jeden Vektorindex und jede Dimension beibehalten.
Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Standardtarif Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Standardtarif Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.00004 / 1K Token Ausgabe · Ausgabetoken $0 / 1K Token Eingabe · Cache-Lesen — / 1K Token Eingabe · Cache-Schreiben — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
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": "openai/text-embedding-3-small", "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='openai/text-embedding-3-small',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Ergebnisse abrufen und speichern
Ailoot Ultra · Embeddings
json
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.
Wenn die ursprüngliche Antwort geprüft werden muss
Es wird kein Endpunkt für Embedding-Aufträge eingeführt.
Antwortfelder
| Feld | Typ |
|---|---|
Feldobject | Typstring |
Feldmodel | Typstring |
Felddata[].index | Typinteger |
Felddata[].embedding | Typfinite float[] |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
Ailoot Ultra · Einbettungen · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Start
OpenAIs kleines Text-Embedding-Modell der dritten Generation gibt standardmäßig 1.536-dimensionale Vektoren zurück und unterstützt kürzere Repräsentationen. Verwenden Sie die numerische Ausgabe für semantische Suche, Codesuche, Gruppierung, Empfehlungen und Klassifikation.
- Zulässige Eingaben
- Text
- Ergebnisse
- embedding
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Einbettungen · text-embedding-3-small POST /v1/embeddings
- Eingabetypen
text- Ausgabetypen
embedding- Kontext
- 8.192 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits text-embedding-3-small | Standard— |
Feldinput | Typstring|string[]|integer[]|integer[][] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 Bedingungen: Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen. Eingabebudget: Maximum: 8.192 · Texteinheit: UTF8-Bytes · Tokeneinheit: Elemente des Token-Arrays | Standard— |
Feldencoding_format | Typstring | AnforderungOptional | Werte und Limits float | Standardfloat |
Felddimensions | Typinteger | AnforderungNicht unterstützt | Werte und Limits Minimum: 1 | Standard— |
Felduser | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Optionale JSON-Metadaten; die genaue Semantik beim vorgelagerten Anbieter hängt vom ausgewählten Modell ab. | Standard— |
Feldsession_id | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Optionale JSON-Metadaten; die genaue Semantik beim vorgelagerten Anbieter hängt vom ausgewählten Modell ab. | Standard— |
Feldtrace | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Optionale JSON-Metadaten; die genaue Semantik beim vorgelagerten Anbieter hängt vom ausgewählten Modell ab. | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits Bedingungen: provider.options abgelehnt | Standard— |
Kombinationen von Eingabematerialien
text_to_embedding
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, input |
Parameterinput_shapes | Vertragstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Vertragfloat |
Parameterdimensions_override | Vertragfalse |
Parametermax_input_budget_units | Vertrag8192 |
Parametermultimodal_objects | Vertragfalse |
Parametermaterial_types | Vertragtext |
Parametertext_file_material | VertragDas tatsächliche UTF-8-Dokument lesen und seinen Text in die angegebene Zeichenfolge für Eingabe oder Nachrichteninhalt einfügen. |
Lebenszyklus: synchronous_json
Senden Sie die genaue Modell-ID und die erforderlichen Felder.
Bewahren Sie jedes zurückgegebene Element und seine ursprünglichen Kennungen auf.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Standardtarif Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Standardtarif Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.00004 / 1K Token Ausgabe · Ausgabetoken $0 / 1K Token Eingabe · Cache-Lesen — / 1K Token Eingabe · Cache-Schreiben — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Einbettungen · text-embedding-3-small
{
"model": "text-embedding-3-small",
"input": [
"First document",
"Second document"
],
"encoding_format": "float"
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/embeddings', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
Ergebnisse abrufen und speichern
Ailoot Ultra · Einbettungen · text-embedding-3-small
json
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Bewahren Sie jeden endlichen Vektor mit seinem ursprünglichen Index auf. Erhalten Sie alle Dimensionen und das vollständige Verbrauchsobjekt.
Wenn die ursprüngliche Antwort geprüft werden muss
Es wird kein Endpunkt für Embedding-Aufträge eingeführt.
Antwortfelder
| Feld | Typ |
|---|---|
Feldobject | Typstring |
Feldmodel | Typstring |
Felddata[].index | Typinteger |
Felddata[].embedding | Typfinite float[] |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · OpenAI: Text Embedding 3 Small
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(UTF8-Bytes);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(UTF8-Bytes);input.min_items:1