OpenAI: Text Embedding 3 Small
Het kleine tekstembeddingmodel van de derde generatie van OpenAI retourneert standaard 1.536-dimensionale vectoren en ondersteunt kortere representaties. Gebruik de numerieke uitvoer voor semantisch zoeken, codeopvraging, groepering, aanbevelingen en classificatie.
- Ailoot Ultra · Embeddings
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Vectorrepresentaties · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
text-embedding-3-small is het kleinere tekstembeddingmodel van de derde generatie van OpenAI. Het zet geschreven materiaal om in numerieke vectoren met standaard 1.536 componenten. Die vectoren meten relaties tussen teksten voor een andere zoek- of analysestap; het model genereert geen gespreksantwoord op de invoer.
Net als het grotere model van de derde generatie ondersteunt het de dimensions-instelling van de producent voor kortere embeddings. De training is ontworpen om informatie over concepten in een verkorte vector te behouden, waarbij de groottekeuze de kwaliteit en het resourcegebruik van de toepassing beïnvloedt. Houd het model en de geselecteerde dimensies consistent tussen de records en zoekvragen die worden vergeleken.
Een praktische toepassing is codezoeken. De gids van de maker beschrijft het representeren van bronfuncties als tekst en het embedden daarvan, daarna het embedden van een natuurlijke-taalvraag met hetzelfde model en het vergelijken van de resulterende vectoren. Een illustratief resultaat is een gerangschikte verzameling relevante functies die aan hun bronlocaties zijn gekoppeld. Voor documentzoeken is het vergelijkbare artefact een verzameling passages waarvan tekst en oorspronkelijke verwijzingen beschikbaar blijven voor de lezer of het volgende model.
Andere gedocumenteerde toepassingen omvatten clustering, aanbevelingen van verwante inhoud, classificatie, detectie van uitschieters en het meten van diversiteit. Een gerichte berichtenworkflow kan vergelijkbare verzoeken groeperen of die met categoriebeschrijvingen vergelijken. De toepassing definieert hoe een gelijkenisresultaat een categorie, aanbeveling of beoordelingsitem wordt; de embedding zelf bestaat nog steeds uit numerieke gegevens.
OpenAI specificeert een maximale invoer van 8.192 tokens per tekst. De embedding-API accepteert tekenreeksen of getokeniseerde invoer en meerdere invoeritems in één aanvraag, weigert lege tekenreeksen en past een totale limiet van 300.000 tokens toe. Bereid lang materiaal voor als betekenisvolle passages en behoud de titels of definities die nodig zijn om ze te interpreteren. Gebruik een consistente verzameling bronvelden in plaats van verschillende soorten records met niet-gerelateerde voorbereidingsregels te embedden.
De producent retourneert standaard float-vectoren en documenteert ook base64-codering. De gids stelt dat OpenAI-embeddings naar eenheidslengte zijn genormaliseerd en beveelt cosinusgelijkenis aan; een inproduct kan die berekenen en Euclidische afstand geeft dezelfde rangschikking. Als een embedding van de derde generatie na ontvangst handmatig wordt verkort, normaliseer die verkorte vector dan opnieuw zoals de gids beschrijft. De dimensions-instelling voorkomt dat handmatig afkappen de gewone voorbereidingsstap wordt.
Leg de modelidentiteit, dimensies en bronkoppeling bij elke vector vast. Een bruikbaar vervolgartefact is een gerangschikte lijst, gegroepeerde verzameling of set classificatiekenmerken die aan de oorspronkelijke tekst is gekoppeld. Controleer of het geselecteerde materiaal de taak daadwerkelijk ondersteunt en houd ontbrekende feiten gescheiden van semantische verwantschap. De volgende stap kan de representatie dan voor een specifieke zoek- of beslisworkflow gebruiken.
Ailoot Ultra · Embeddings POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Aan de slag
Het kleine tekstembeddingmodel van de derde generatie van OpenAI retourneert standaard 1.536-dimensionale vectoren en ondersteunt kortere representaties. Gebruik de numerieke uitvoer voor semantisch zoeken, codeopvraging, groepering, aanbevelingen en classificatie.
- Toegestane invoer
- Tekst · token_ids
- Resultaten
- embedding
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Invoer
text,token_ids- Uitvoer
embedding- Context
- 8.192 tokens
- Uitvoerformaat
- json
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten openai/text-embedding-3-small | Standaard— |
Veldinput | Typestring|string[]|integer[]|integer[][] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 Voorwaarden: Niet-lege homogene batch. Token-ID's zijn niet-negatieve gehele getallen. Invoerbudget: Maximum: 8.192 · Teksteenheid: UTF8-bytes · Tokeneenheid: elementen van de token-array | Standaard— |
Veldencoding_format | Typestring | VereisteOptioneel | Waarden en limieten float | Standaardfloat |
Velddimensions | Typeinteger | VereisteNiet ondersteund | Waarden en limieten Minimum: 1 | Standaard— |
Velduser | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de precieze betekenis bij de achterliggende leverancier is modelspecifiek. | Standaard— |
Veldsession_id | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de precieze betekenis bij de achterliggende leverancier is modelspecifiek. | Standaard— |
Veldtrace | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de precieze betekenis bij de achterliggende leverancier is modelspecifiek. | Standaard— |
Veldprovider | Typeobject | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options geweigerd | Standaard— |
Combinaties van invoermaterialen
text_to_embedding
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input |
Parameterinput_shapes | Contractstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Contractfloat |
Parameterdimensions_override | Contractfalse |
Parametermax_input_budget_units | Contract8192 |
Parametermultimodal_objects | Contractfalse |
Parametermaterial_types | Contracttext, token_ids |
Levenscyclus: synchronous_json
Bewaar elke vectorindex en -dimensie.
Ook bij een multimodale modelnaam zijn afbeeldingsobjecten op dit specifieke pad niet toegestaan.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Standaardtarief Wanneer de snelle modus geselecteerd is
- Flex-modus
- Standaardtarief Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.00004 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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)
Resultaten ophalen en opslaan
Ailoot Ultra · Embeddings
json
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke vector met zijn index. Het aantal vectoren moet gelijk zijn aan het aantal invoeritems; de dimensies moeten consistent zijn.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Er wordt geen endpoint voor embeddingtaken toegevoegd.
Antwoordvelden
| Veld | Type |
|---|---|
Veldobject | Typestring |
Veldmodel | Typestring |
Velddata[].index | Typeinteger |
Velddata[].embedding | Typefinite float[] |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
Ailoot Ultra · Vectorrepresentaties · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Aan de slag
Het kleine tekstembeddingmodel van de derde generatie van OpenAI retourneert standaard 1.536-dimensionale vectoren en ondersteunt kortere representaties. Gebruik de numerieke uitvoer voor semantisch zoeken, codeopvraging, groepering, aanbevelingen en classificatie.
- Toegestane invoer
- Tekst
- Resultaten
- embedding
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Vectorrepresentaties · text-embedding-3-small POST /v1/embeddings
- Invoer
text- Uitvoer
embedding- Context
- 8.192 tokens
- Uitvoerformaat
- json
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten text-embedding-3-small | Standaard— |
Veldinput | Typestring|string[]|integer[]|integer[][] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 Voorwaarden: Niet-lege homogene batch. Token-ID's zijn niet-negatieve gehele getallen. Invoerbudget: Maximum: 8.192 · Teksteenheid: UTF8-bytes · Tokeneenheid: elementen van de token-array | Standaard— |
Veldencoding_format | Typestring | VereisteOptioneel | Waarden en limieten float | Standaardfloat |
Velddimensions | Typeinteger | VereisteNiet ondersteund | Waarden en limieten Minimum: 1 | Standaard— |
Velduser | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: Optionele JSON-metadata; de exacte betekenis bij de aanbieder hangt af van het geselecteerde model. | Standaard— |
Veldsession_id | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: Optionele JSON-metadata; de exacte betekenis bij de aanbieder hangt af van het geselecteerde model. | Standaard— |
Veldtrace | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: Optionele JSON-metadata; de exacte betekenis bij de aanbieder hangt af van het geselecteerde model. | Standaard— |
Veldprovider | Typeobject | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options geweigerd | Standaard— |
Combinaties van invoermaterialen
text_to_embedding
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input |
Parameterinput_shapes | Contractstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Contractfloat |
Parameterdimensions_override | Contractfalse |
Parametermax_input_budget_units | Contract8192 |
Parametermultimodal_objects | Contractfalse |
Parametermaterial_types | Contracttext |
Parametertext_file_material | ContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht. |
Levenscyclus: synchronous_json
Verstuur de exacte model-ID en de verplichte velden.
Bewaar elk teruggestuurd item en zijn oorspronkelijke identificatiecodes.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Standaardtarief Wanneer de snelle modus geselecteerd is
- Flex-modus
- Standaardtarief Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.00004 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Vectorrepresentaties · 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')))
Resultaten ophalen en opslaan
Ailoot Ultra · Vectorrepresentaties · text-embedding-3-small
json
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke vector met eindige waarden met zijn oorspronkelijke index. Behoud alle dimensies en het volledige verbruiksobject.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Er wordt geen endpoint voor embeddingtaken toegevoegd.
Antwoordvelden
| Veld | Type |
|---|---|
Veldobject | Typestring |
Veldmodel | Typestring |
Velddata[].index | Typeinteger |
Velddata[].embedding | Typefinite float[] |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · OpenAI: Text Embedding 3 Small
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Welke velden gebruikt het verzoek?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- Welke limieten gelden?
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