Delen via


Insluitingen genereren met azure AI-modeldeductie

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel wordt uitgelegd hoe u de insluitings-API gebruikt met modellen die zijn geïmplementeerd in Azure AI-modeldeductie in Azure AI-services.

Vereisten

Als u insluitmodellen in uw toepassing wilt gebruiken, hebt u het volgende nodig:

Insluitingen gebruiken

Maak eerst de client om het model te gebruiken. De volgende code maakt gebruik van een eindpunt-URL en -sleutel die zijn opgeslagen in omgevingsvariabelen.

import os
from azure.ai.inference import EmbeddingsClient
from azure.core.credentials import AzureKeyCredential

model = EmbeddingsClient(
    endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
    credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
    model="text-embedding-3-small"
)

Als u de resource hebt geconfigureerd voor ondersteuning voor Microsoft Entra ID , kunt u het volgende codefragment gebruiken om een client te maken.

import os
from azure.ai.inference import EmbeddingsClient
from azure.core.credentials import AzureKeyCredential

model = EmbeddingsClient(
    endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
    credential=DefaultAzureCredential(),
    model="text-embedding-3-small"
)

Insluitingen maken

Maak een insluitingsaanvraag om de uitvoer van het model te bekijken.

response = model.embed(
    input=["The ultimate answer to the question of life"],
)

Tip

Houd bij het maken van een aanvraag rekening met de invoerlimiet van het token voor het model. Als u grotere delen van tekst wilt insluiten, hebt u een segmenteringsstrategie nodig.

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

import numpy as np

for embed in response.data:
    print("Embeding of size:", np.asarray(embed.embedding).shape)

print("Model:", response.model)
print("Usage:", response.usage)

Het kan handig zijn om insluitingen in invoerbatches te berekenen. De parameter inputs kan een lijst met tekenreeksen zijn, waarbij elke tekenreeks een andere invoer is. Op zijn beurt is het antwoord een lijst met insluitingen, waarbij elke insluiting overeenkomt met de invoer op dezelfde positie.

response = model.embed(
    input=[
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter",
    ],
)

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

import numpy as np

for embed in response.data:
    print("Embeding of size:", np.asarray(embed.embedding).shape)

print("Model:", response.model)
print("Usage:", response.usage)

Tip

Houd bij het maken van batches van aanvraag rekening met de batchlimiet voor elk van de modellen. De meeste modellen hebben een batchlimiet van 1024.

Dimensies voor insluitingen opgeven

U kunt het aantal dimensies voor de insluitingen opgeven. In de volgende voorbeeldcode ziet u hoe u insluitingen maakt met 1024 dimensies. U ziet dat niet alle insluitingsmodellen ondersteuning bieden voor het aantal dimensies in de aanvraag en in die gevallen wordt een 422-fout geretourneerd.

response = model.embed(
    input=["The ultimate answer to the question of life"],
    dimensions=1024,
)

Verschillende typen insluitingen maken

Sommige modellen kunnen meerdere insluitingen genereren voor dezelfde invoer, afhankelijk van hoe u deze wilt gebruiken. Met deze mogelijkheid kunt u nauwkeurigere insluitingen voor RAG-patronen ophalen.

In het volgende voorbeeld ziet u hoe u insluitingen maakt die worden gebruikt om een insluiting te maken voor een document dat wordt opgeslagen in een vectordatabase:

from azure.ai.inference.models import EmbeddingInputType

response = model.embed(
    input=["The answer to the ultimate question of life, the universe, and everything is 42"],
    input_type=EmbeddingInputType.DOCUMENT,
)

Wanneer u aan een query werkt om een dergelijk document op te halen, kunt u het volgende codefragment gebruiken om de insluitingen voor de query te maken en de prestaties van het ophalen te maximaliseren.

from azure.ai.inference.models import EmbeddingInputType

response = model.embed(
    input=["What's the ultimate meaning of life?"],
    input_type=EmbeddingInputType.QUERY,
)

U ziet dat niet alle ondersteuning voor insluitingsmodellen het invoertype in de aanvraag aangeeft en dat in die gevallen een 422-fout wordt geretourneerd. Standaard worden insluitingen van het type Text geretourneerd.

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel wordt uitgelegd hoe u de insluitings-API gebruikt met modellen die zijn geïmplementeerd in Azure AI-modeldeductie in Azure AI-services.

Vereisten

Als u insluitmodellen in uw toepassing wilt gebruiken, hebt u het volgende nodig:

  • Een insluitingsmodelimplementatie. Als u nog geen gelezen model toevoegen en configureren voor Azure AI-services hebt om een insluitingsmodel toe te voegen aan uw resource.

  • Installeer de Azure-deductiebibliotheek voor JavaScript met de volgende opdracht:

    npm install @azure-rest/ai-inference
    

    Tip

    Lees meer over het Azure AI-deductiepakket en de naslaginformatie.

Insluitingen gebruiken

Maak eerst de client om het model te gebruiken. De volgende code maakt gebruik van een eindpunt-URL en -sleutel die zijn opgeslagen in omgevingsvariabelen.

import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";

const client = new ModelClient(
    process.env.AZURE_INFERENCE_ENDPOINT, 
    new AzureKeyCredential(process.env.AZURE_INFERENCE_CREDENTIAL),
    "text-embedding-3-small"
);

Als u de resource hebt geconfigureerd voor ondersteuning voor Microsoft Entra ID , kunt u het volgende codefragment gebruiken om een client te maken.

import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { DefaultAzureCredential }  from "@azure/identity";

const client = new ModelClient(
    process.env.AZURE_INFERENCE_ENDPOINT, 
    new DefaultAzureCredential(),
    "text-embedding-3-small"
);

Insluitingen maken

Maak een insluitingsaanvraag om de uitvoer van het model te bekijken.

var response = await client.path("/embeddings").post({
    body: {
        input: ["The ultimate answer to the question of life"],
    }
});

Tip

Houd bij het maken van een aanvraag rekening met de invoerlimiet van het token voor het model. Als u grotere delen van tekst wilt insluiten, hebt u een segmenteringsstrategie nodig.

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);

Het kan handig zijn om insluitingen in invoerbatches te berekenen. De parameter inputs kan een lijst met tekenreeksen zijn, waarbij elke tekenreeks een andere invoer is. Op zijn beurt is het antwoord een lijst met insluitingen, waarbij elke insluiting overeenkomt met de invoer op dezelfde positie.

var response = await client.path("/embeddings").post({
    body: {
        input: [
            "The ultimate answer to the question of life", 
            "The largest planet in our solar system is Jupiter",
        ],
    }
});

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

if (isUnexpected(response)) {
    throw response.body.error;
}

console.log(response.embedding);
console.log(response.body.model);
console.log(response.body.usage);

Tip

Houd bij het maken van batches van aanvraag rekening met de batchlimiet voor elk van de modellen. De meeste modellen hebben een batchlimiet van 1024.

Dimensies voor insluitingen opgeven

U kunt het aantal dimensies voor de insluitingen opgeven. In de volgende voorbeeldcode ziet u hoe u insluitingen maakt met 1024 dimensies. U ziet dat niet alle insluitingsmodellen ondersteuning bieden voor het aantal dimensies in de aanvraag en in die gevallen wordt een 422-fout geretourneerd.

var response = await client.path("/embeddings").post({
    body: {
        input: ["The ultimate answer to the question of life"],
        dimensions: 1024,
    }
});

Verschillende typen insluitingen maken

Sommige modellen kunnen meerdere insluitingen genereren voor dezelfde invoer, afhankelijk van hoe u deze wilt gebruiken. Met deze mogelijkheid kunt u nauwkeurigere insluitingen voor RAG-patronen ophalen.

In het volgende voorbeeld ziet u hoe u insluitingen maakt die worden gebruikt om een insluiting te maken voor een document dat wordt opgeslagen in een vectordatabase:

var response = await client.path("/embeddings").post({
    body: {
        input: ["The answer to the ultimate question of life, the universe, and everything is 42"],
        input_type: "document",
    }
});

Wanneer u aan een query werkt om een dergelijk document op te halen, kunt u het volgende codefragment gebruiken om de insluitingen voor de query te maken en de prestaties van het ophalen te maximaliseren.

var response = await client.path("/embeddings").post({
    body: {
        input: ["What's the ultimate meaning of life?"],
        input_type: "query",
    }
});

U ziet dat niet alle ondersteuning voor insluitingsmodellen het invoertype in de aanvraag aangeeft en dat in die gevallen een 422-fout wordt geretourneerd. Standaard worden insluitingen van het type Text geretourneerd.

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel wordt uitgelegd hoe u de insluitings-API gebruikt met modellen die zijn geïmplementeerd in Azure AI-modeldeductie in Azure AI-services.

Vereisten

Als u insluitmodellen in uw toepassing wilt gebruiken, hebt u het volgende nodig:

  • Een insluitingsmodelimplementatie. Als u nog geen gelezen model toevoegen en configureren voor Azure AI-services hebt om een insluitingsmodel toe te voegen aan uw resource.

  • Voeg het Azure AI-deductiepakket toe aan uw project:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-inference</artifactId>
        <version>1.0.0-beta.1</version>
    </dependency>
    

    Tip

    Lees meer over het Azure AI-deductiepakket en de naslaginformatie.

  • Als u Entra-id gebruikt, hebt u ook het volgende pakket nodig:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
        <version>1.13.3</version>
    </dependency>
    
  • Importeer de volgende naamruimte:

    package com.azure.ai.inference.usage;
    
    import com.azure.ai.inference.EmbeddingsClient;
    import com.azure.ai.inference.EmbeddingsClientBuilder;
    import com.azure.ai.inference.models.EmbeddingsResult;
    import com.azure.ai.inference.models.EmbeddingItem;
    import com.azure.core.credential.AzureKeyCredential;
    import com.azure.core.util.Configuration;
    
    import java.util.ArrayList;
    import java.util.List;
    

Insluitingen gebruiken

Maak eerst de client om het model te gebruiken. De volgende code maakt gebruik van een eindpunt-URL en -sleutel die zijn opgeslagen in omgevingsvariabelen.

EmbeddingsClient client = new EmbeddingsClient(
    URI.create(System.getProperty("AZURE_INFERENCE_ENDPOINT")),
    new AzureKeyCredential(System.getProperty("AZURE_INFERENCE_CREDENTIAL")),
    "text-embedding-3-small"
);

Als u de resource hebt geconfigureerd voor ondersteuning voor Microsoft Entra ID , kunt u het volgende codefragment gebruiken om een client te maken.

client = new EmbeddingsClient(
    URI.create(System.getProperty("AZURE_INFERENCE_ENDPOINT")),
    new DefaultAzureCredential(),
    "text-embedding-3-small"
);

Insluitingen maken

Maak een insluitingsaanvraag om de uitvoer van het model te bekijken.

EmbeddingsOptions requestOptions = new EmbeddingsOptions()
    .setInput(Arrays.asList("The ultimate answer to the question of life"));

Response<EmbeddingsResult> response = client.embed(requestOptions);

Tip

Houd bij het maken van een aanvraag rekening met de invoerlimiet van het token voor het model. Als u grotere delen van tekst wilt insluiten, hebt u een segmenteringsstrategie nodig.

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

System.out.println("Embedding: " + response.getValue().getData());
System.out.println("Model: " + response.getValue().getModel());
System.out.println("Usage:");
System.out.println("\tPrompt tokens: " + response.getValue().getUsage().getPromptTokens());
System.out.println("\tTotal tokens: " + response.getValue().getUsage().getTotalTokens());

Het kan handig zijn om insluitingen in invoerbatches te berekenen. De parameter inputs kan een lijst met tekenreeksen zijn, waarbij elke tekenreeks een andere invoer is. Op zijn beurt is het antwoord een lijst met insluitingen, waarbij elke insluiting overeenkomt met de invoer op dezelfde positie.

requestOptions = new EmbeddingsOptions()
    .setInput(Arrays.asList(
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    ));

response = client.embed(requestOptions);

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

Tip

Houd bij het maken van batches van aanvraag rekening met de batchlimiet voor elk van de modellen. De meeste modellen hebben een batchlimiet van 1024.

Dimensies voor insluitingen opgeven

U kunt het aantal dimensies voor de insluitingen opgeven. In de volgende voorbeeldcode ziet u hoe u insluitingen maakt met 1024 dimensies. U ziet dat niet alle insluitingsmodellen ondersteuning bieden voor het aantal dimensies in de aanvraag en in die gevallen wordt een 422-fout geretourneerd.

Verschillende typen insluitingen maken

Sommige modellen kunnen meerdere insluitingen genereren voor dezelfde invoer, afhankelijk van hoe u deze wilt gebruiken. Met deze mogelijkheid kunt u nauwkeurigere insluitingen voor RAG-patronen ophalen.

In het volgende voorbeeld ziet u hoe u insluitingen maakt die worden gebruikt om een insluiting te maken voor een document dat wordt opgeslagen in een vectordatabase:

List<String> input = Arrays.asList("The answer to the ultimate question of life, the universe, and everything is 42");
requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.DOCUMENT);

response = client.embed(requestOptions);

Wanneer u aan een query werkt om een dergelijk document op te halen, kunt u het volgende codefragment gebruiken om de insluitingen voor de query te maken en de prestaties van het ophalen te maximaliseren.

input = Arrays.asList("What's the ultimate meaning of life?");
requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.QUERY);

response = client.embed(requestOptions);

U ziet dat niet alle ondersteuning voor insluitingsmodellen het invoertype in de aanvraag aangeeft en dat in die gevallen een 422-fout wordt geretourneerd. Standaard worden insluitingen van het type Text geretourneerd.

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel wordt uitgelegd hoe u de insluitings-API gebruikt met modellen die zijn geïmplementeerd in Azure AI-modeldeductie in Azure AI-services.

Vereisten

Als u insluitmodellen in uw toepassing wilt gebruiken, hebt u het volgende nodig:

  • Een insluitingsmodelimplementatie. Als u nog geen gelezen model toevoegen en configureren voor Azure AI-services hebt om een insluitingsmodel toe te voegen aan uw resource.

  • Installeer het Azure AI-deductiepakket met de volgende opdracht:

    dotnet add package Azure.AI.Inference --prerelease
    

    Tip

    Lees meer over het Azure AI-deductiepakket en de naslaginformatie.

  • Als u Entra-id gebruikt, hebt u ook het volgende pakket nodig:

    dotnet add package Azure.Identity
    

Insluitingen gebruiken

Maak eerst de client om het model te gebruiken. De volgende code maakt gebruik van een eindpunt-URL en -sleutel die zijn opgeslagen in omgevingsvariabelen.

EmbeddingsClient client = new EmbeddingsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL")),
    "text-embedding-3-small"
);

Als u de resource hebt geconfigureerd voor ondersteuning voor Microsoft Entra ID , kunt u het volgende codefragment gebruiken om een client te maken.

client = new EmbeddingsClient(
    new Uri(Environment.GetEnvironmentVariable("AZURE_INFERENCE_ENDPOINT")),
    new DefaultAzureCredential(includeInteractiveCredentials: true),
    "text-embedding-3-small"
);

Insluitingen maken

Maak een insluitingsaanvraag om de uitvoer van het model te bekijken.

EmbeddingsOptions requestOptions = new EmbeddingsOptions()
{
    Input = {
        "The ultimate answer to the question of life"
    },
};

Response<EmbeddingsResult> response = client.Embed(requestOptions);

Tip

Houd bij het maken van een aanvraag rekening met de invoerlimiet van het token voor het model. Als u grotere delen van tekst wilt insluiten, hebt u een segmenteringsstrategie nodig.

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

Console.WriteLine($"Embedding: {response.Value.Data}");
Console.WriteLine($"Model: {response.Value.Model}");
Console.WriteLine("Usage:");
Console.WriteLine($"\tPrompt tokens: {response.Value.Usage.PromptTokens}");
Console.WriteLine($"\tTotal tokens: {response.Value.Usage.TotalTokens}");

Het kan handig zijn om insluitingen in invoerbatches te berekenen. De parameter inputs kan een lijst met tekenreeksen zijn, waarbij elke tekenreeks een andere invoer is. Op zijn beurt is het antwoord een lijst met insluitingen, waarbij elke insluiting overeenkomt met de invoer op dezelfde positie.

EmbeddingsOptions requestOptions = new EmbeddingsOptions()
{
    Input = {
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    },
};

Response<EmbeddingsResult> response = client.Embed(requestOptions);

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

Tip

Houd bij het maken van batches van aanvraag rekening met de batchlimiet voor elk van de modellen. De meeste modellen hebben een batchlimiet van 1024.

Dimensies voor insluitingen opgeven

U kunt het aantal dimensies voor de insluitingen opgeven. In de volgende voorbeeldcode ziet u hoe u insluitingen maakt met 1024 dimensies. U ziet dat niet alle insluitingsmodellen ondersteuning bieden voor het aantal dimensies in de aanvraag en in die gevallen wordt een 422-fout geretourneerd.

Verschillende typen insluitingen maken

Sommige modellen kunnen meerdere insluitingen genereren voor dezelfde invoer, afhankelijk van hoe u deze wilt gebruiken. Met deze mogelijkheid kunt u nauwkeurigere insluitingen voor RAG-patronen ophalen.

In het volgende voorbeeld ziet u hoe u insluitingen maakt die worden gebruikt om een insluiting te maken voor een document dat wordt opgeslagen in een vectordatabase:

var input = new List<string> { 
    "The answer to the ultimate question of life, the universe, and everything is 42"
};
var requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.DOCUMENT);

Response<EmbeddingsResult> response = client.Embed(requestOptions);

Wanneer u aan een query werkt om een dergelijk document op te halen, kunt u het volgende codefragment gebruiken om de insluitingen voor de query te maken en de prestaties van het ophalen te maximaliseren.

var input = new List<string> { 
    "What's the ultimate meaning of life?"
};
var requestOptions = new EmbeddingsOptions(input, EmbeddingInputType.QUERY);

Response<EmbeddingsResult> response = client.Embed(requestOptions);

U ziet dat niet alle ondersteuning voor insluitingsmodellen het invoertype in de aanvraag aangeeft en dat in die gevallen een 422-fout wordt geretourneerd. Standaard worden insluitingen van het type Text geretourneerd.

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel wordt uitgelegd hoe u de insluitings-API gebruikt met modellen die zijn geïmplementeerd in Azure AI-modeldeductie in Azure AI-services.

Vereisten

Als u insluitmodellen in uw toepassing wilt gebruiken, hebt u het volgende nodig:

Insluitingen gebruiken

Als u de tekst insluitingen wilt gebruiken, gebruikt u de route /embeddings die is toegevoegd aan de basis-URL, samen met uw referenties die zijn aangegeven in api-key. Authorization header wordt ook ondersteund met de indeling Bearer <key>.

POST https://<resource>.services.ai.azure.com/models/embeddings?api-version=2024-05-01-preview
Content-Type: application/json
api-key: <key>

Als u de resource hebt geconfigureerd met ondersteuning voor Microsoft Entra ID , geeft u het token door in de Authorization header:

POST https://<resource>.services.ai.azure.com/models/embeddings?api-version=2024-05-01-preview
Content-Type: application/json
Authorization: Bearer <token>

Insluitingen maken

Maak een insluitingsaanvraag om de uitvoer van het model te bekijken.

{
    "input": [
        "The ultimate answer to the question of life"
    ]
}

Tip

Houd bij het maken van een aanvraag rekening met de invoerlimiet van het token voor het model. Als u grotere delen van tekst wilt insluiten, hebt u een segmenteringsstrategie nodig.

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

{
    "id": "0ab1234c-d5e6-7fgh-i890-j1234k123456",
    "object": "list",
    "data": [
        {
            "index": 0,
            "object": "embedding",
            "embedding": [
                0.017196655,
                // ...
                -0.000687122,
                -0.025054932,
                -0.015777588
            ]
        }
    ],
    "model": "text-embedding-3-small",
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 0,
        "total_tokens": 9
    }
}

Het kan handig zijn om insluitingen in invoerbatches te berekenen. De parameter inputs kan een lijst met tekenreeksen zijn, waarbij elke tekenreeks een andere invoer is. Op zijn beurt is het antwoord een lijst met insluitingen, waarbij elke insluiting overeenkomt met de invoer op dezelfde positie.

{
    "input": [
        "The ultimate answer to the question of life", 
        "The largest planet in our solar system is Jupiter"
    ]
}

Het antwoord is als volgt, waar u de gebruiksstatistieken van het model kunt zien:

{
    "id": "0ab1234c-d5e6-7fgh-i890-j1234k123456",
    "object": "list",
    "data": [
        {
            "index": 0,
            "object": "embedding",
            "embedding": [
                0.017196655,
                // ...
                -0.000687122,
                -0.025054932,
                -0.015777588
            ]
        },
        {
            "index": 1,
            "object": "embedding",
            "embedding": [
                0.017196655,
                // ...
                -0.000687122,
                -0.025054932,
                -0.015777588
            ]
        }
    ],
    "model": "text-embedding-3-small",
    "usage": {
        "prompt_tokens": 19,
        "completion_tokens": 0,
        "total_tokens": 19
    }
}

Tip

Houd bij het maken van batches van aanvraag rekening met de batchlimiet voor elk van de modellen. De meeste modellen hebben een batchlimiet van 1024.

Dimensies voor insluitingen opgeven

U kunt het aantal dimensies voor de insluitingen opgeven. In de volgende voorbeeldcode ziet u hoe u insluitingen maakt met 1024 dimensies. U ziet dat niet alle insluitingsmodellen ondersteuning bieden voor het aantal dimensies in de aanvraag en in die gevallen wordt een 422-fout geretourneerd.

{
    "input": [
        "The ultimate answer to the question of life"
    ],
    "dimensions": 1024
}

Verschillende typen insluitingen maken

Sommige modellen kunnen meerdere insluitingen genereren voor dezelfde invoer, afhankelijk van hoe u deze wilt gebruiken. Met deze mogelijkheid kunt u nauwkeurigere insluitingen voor RAG-patronen ophalen.

In het volgende voorbeeld ziet u hoe u insluitingen maakt die worden gebruikt om een insluiting te maken voor een document dat wordt opgeslagen in een vectordatabase:

{
    "input": [
        "The answer to the ultimate question of life, the universe, and everything is 42"
    ],
    "input_type": "document"
}

Wanneer u aan een query werkt om een dergelijk document op te halen, kunt u het volgende codefragment gebruiken om de insluitingen voor de query te maken en de prestaties van het ophalen te maximaliseren.

{
    "input": [
        "What's the ultimate meaning of life?"
    ],
    "input_type": "query"
}

U ziet dat niet alle ondersteuning voor insluitingsmodellen het invoertype in de aanvraag aangeeft en dat in die gevallen een 422-fout wordt geretourneerd. Standaard worden insluitingen van het type Text geretourneerd.