Поделиться через


Создание внедрения с помощью вывода модели искусственного интеллекта Azure

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этой статье объясняется, как использовать API внедрения с моделями, развернутыми в модели ИИ Azure в службах ИИ Azure.

Необходимые компоненты

Чтобы использовать модели внедрения в приложение, вам потребуется:

  • Подписка Azure. Если вы используете модели GitHub, вы можете обновить интерфейс и создать подписку Azure в процессе. Ознакомьтесь с обновлением моделей GitHub до модели ИИ Azure, если это ваше дело.

  • Ресурс служб ИИ Azure. Дополнительные сведения см. в статье "Создание ресурса Служб искусственного интеллекта Azure".

  • URL-адрес конечной точки и ключ.

    Снимок экрана: получение URL-адреса и ключа, связанного с ресурсом.

  • Развертывание модели внедрения. Если у вас нет одного чтения "Добавление и настройка моделей" в службы ИИ Azure для добавления модели внедрения в ресурс.

  • Установите пакет вывода искусственного интеллекта Azure с помощью следующей команды:

    pip install -U azure-ai-inference
    

    Совет

    Дополнительные сведения о пакете вывода и справочнике по выводу искусственного интеллекта Azure.

Использование внедрения

Сначала создайте клиент для использования модели. В следующем коде используется URL-адрес конечной точки и ключ, хранящиеся в переменных среды.

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"
)

Если вы настроили ресурс в службу поддержки идентификатора Microsoft Entra, можно использовать следующий фрагмент кода для создания клиента.

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"
)

Создание внедренных модулей

Создайте запрос на внедрение, чтобы просмотреть выходные данные модели.

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

Совет

При создании запроса учитывайте ограничение входных данных маркера для модели. Если вам нужно внедрить более крупные части текста, вам потребуется стратегия фрагментирования.

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

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)

Это может быть полезно для вычислений внедрения в входных пакетах. Параметр inputs может быть списком строк, где каждая строка имеет разные входные данные. В свою очередь ответ представляет собой список внедрения, где каждое внедрение соответствует входным данным в той же позиции.

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

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

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)

Совет

При создании пакетов запросов учитывайте ограничение пакета для каждой модели. Большинство моделей имеют ограничение пакета 1024.

Указание измерений внедрения

Можно указать количество измерений для внедрения. В следующем примере кода показано, как создавать внедрения с 1024 измерениями. Обратите внимание, что не все модели внедрения поддерживают количество измерений в запросе и в этих случаях возвращается ошибка 422.

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

Создание различных типов внедрения

Некоторые модели могут создавать несколько внедренных входных данных в зависимости от способа их использования. Эта возможность позволяет получить более точные внедрения для шаблонов RAG.

В следующем примере показано, как создать внедрения, которые используются для создания внедрения документа, который будет храниться в векторной базе данных:

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,
)

При работе с запросом для получения такого документа можно использовать следующий фрагмент кода, чтобы создать внедрения для запроса и максимально повысить производительность извлечения.

from azure.ai.inference.models import EmbeddingInputType

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

Обратите внимание, что не все модели внедрения поддерживаются, указывающие тип входных данных в запросе и в этих случаях возвращается ошибка 422. По умолчанию возвращаются внедрения типов Text .

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этой статье объясняется, как использовать API внедрения с моделями, развернутыми в модели ИИ Azure в службах ИИ Azure.

Необходимые компоненты

Чтобы использовать модели внедрения в приложение, вам потребуется:

  • Подписка Azure. Если вы используете модели GitHub, вы можете обновить интерфейс и создать подписку Azure в процессе. Ознакомьтесь с обновлением моделей GitHub до модели ИИ Azure, если это ваше дело.

  • Ресурс служб ИИ Azure. Дополнительные сведения см. в статье "Создание ресурса Служб искусственного интеллекта Azure".

  • URL-адрес конечной точки и ключ.

    Снимок экрана: получение URL-адреса и ключа, связанного с ресурсом.

  • Развертывание модели внедрения. Если у вас нет одного чтения "Добавление и настройка моделей" в службы ИИ Azure для добавления модели внедрения в ресурс.

  • Установите библиотеку вывода Azure для JavaScript с помощью следующей команды:

    npm install @azure-rest/ai-inference
    

    Совет

    Дополнительные сведения о пакете вывода и справочнике по выводу искусственного интеллекта Azure.

Использование внедрения

Сначала создайте клиент для использования модели. В следующем коде используется URL-адрес конечной точки и ключ, хранящиеся в переменных среды.

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"
);

Если вы настроили ресурс в службу поддержки идентификатора Microsoft Entra, можно использовать следующий фрагмент кода для создания клиента.

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"
);

Создание внедренных модулей

Создайте запрос на внедрение, чтобы просмотреть выходные данные модели.

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

Совет

При создании запроса учитывайте ограничение входных данных маркера для модели. Если вам нужно внедрить более крупные части текста, вам потребуется стратегия фрагментирования.

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

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

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

Это может быть полезно для вычислений внедрения в входных пакетах. Параметр inputs может быть списком строк, где каждая строка имеет разные входные данные. В свою очередь ответ представляет собой список внедрения, где каждое внедрение соответствует входным данным в той же позиции.

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",
        ],
    }
});

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

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

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

Совет

При создании пакетов запросов учитывайте ограничение пакета для каждой модели. Большинство моделей имеют ограничение пакета 1024.

Указание измерений внедрения

Можно указать количество измерений для внедрения. В следующем примере кода показано, как создавать внедрения с 1024 измерениями. Обратите внимание, что не все модели внедрения поддерживают количество измерений в запросе и в этих случаях возвращается ошибка 422.

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

Создание различных типов внедрения

Некоторые модели могут создавать несколько внедренных входных данных в зависимости от способа их использования. Эта возможность позволяет получить более точные внедрения для шаблонов RAG.

В следующем примере показано, как создать внедрения, которые используются для создания внедрения документа, который будет храниться в векторной базе данных:

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",
    }
});

При работе с запросом для получения такого документа можно использовать следующий фрагмент кода, чтобы создать внедрения для запроса и максимально повысить производительность извлечения.

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

Обратите внимание, что не все модели внедрения поддерживаются, указывающие тип входных данных в запросе и в этих случаях возвращается ошибка 422. По умолчанию возвращаются внедрения типов Text .

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этой статье объясняется, как использовать API внедрения с моделями, развернутыми в модели ИИ Azure в службах ИИ Azure.

Необходимые компоненты

Чтобы использовать модели внедрения в приложение, вам потребуется:

  • Подписка Azure. Если вы используете модели GitHub, вы можете обновить интерфейс и создать подписку Azure в процессе. Ознакомьтесь с обновлением моделей GitHub до модели ИИ Azure, если это ваше дело.

  • Ресурс служб ИИ Azure. Дополнительные сведения см. в статье "Создание ресурса Служб искусственного интеллекта Azure".

  • URL-адрес конечной точки и ключ.

    Снимок экрана: получение URL-адреса и ключа, связанного с ресурсом.

  • Развертывание модели внедрения. Если у вас нет одного чтения "Добавление и настройка моделей" в службы ИИ Azure для добавления модели внедрения в ресурс.

  • Добавьте пакет вывода искусственного интеллекта Azure в проект:

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

    Совет

    Дополнительные сведения о пакете вывода и справочнике по выводу искусственного интеллекта Azure.

  • Если вы используете идентификатор Записи, вам также потребуется следующий пакет:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
        <version>1.13.3</version>
    </dependency>
    
  • Импортируйте следующее пространство имен:

    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;
    

Использование внедрения

Сначала создайте клиент для использования модели. В следующем коде используется URL-адрес конечной точки и ключ, хранящиеся в переменных среды.

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

Если вы настроили ресурс в службу поддержки идентификатора Microsoft Entra, можно использовать следующий фрагмент кода для создания клиента.

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

Создание внедренных модулей

Создайте запрос на внедрение, чтобы просмотреть выходные данные модели.

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

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

Совет

При создании запроса учитывайте ограничение входных данных маркера для модели. Если вам нужно внедрить более крупные части текста, вам потребуется стратегия фрагментирования.

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

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());

Это может быть полезно для вычислений внедрения в входных пакетах. Параметр inputs может быть списком строк, где каждая строка имеет разные входные данные. В свою очередь ответ представляет собой список внедрения, где каждое внедрение соответствует входным данным в той же позиции.

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);

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

Совет

При создании пакетов запросов учитывайте ограничение пакета для каждой модели. Большинство моделей имеют ограничение пакета 1024.

Указание измерений внедрения

Можно указать количество измерений для внедрения. В следующем примере кода показано, как создавать внедрения с 1024 измерениями. Обратите внимание, что не все модели внедрения поддерживают количество измерений в запросе и в этих случаях возвращается ошибка 422.

Создание различных типов внедрения

Некоторые модели могут создавать несколько внедренных входных данных в зависимости от способа их использования. Эта возможность позволяет получить более точные внедрения для шаблонов RAG.

В следующем примере показано, как создать внедрения, которые используются для создания внедрения документа, который будет храниться в векторной базе данных:

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);

При работе с запросом для получения такого документа можно использовать следующий фрагмент кода, чтобы создать внедрения для запроса и максимально повысить производительность извлечения.

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

response = client.embed(requestOptions);

Обратите внимание, что не все модели внедрения поддерживаются, указывающие тип входных данных в запросе и в этих случаях возвращается ошибка 422. По умолчанию возвращаются внедрения типов Text .

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этой статье объясняется, как использовать API внедрения с моделями, развернутыми в модели ИИ Azure в службах ИИ Azure.

Необходимые компоненты

Чтобы использовать модели внедрения в приложение, вам потребуется:

  • Подписка Azure. Если вы используете модели GitHub, вы можете обновить интерфейс и создать подписку Azure в процессе. Ознакомьтесь с обновлением моделей GitHub до модели ИИ Azure, если это ваше дело.

  • Ресурс служб ИИ Azure. Дополнительные сведения см. в статье "Создание ресурса Служб искусственного интеллекта Azure".

  • URL-адрес конечной точки и ключ.

    Снимок экрана: получение URL-адреса и ключа, связанного с ресурсом.

  • Развертывание модели внедрения. Если у вас нет одного чтения "Добавление и настройка моделей" в службы ИИ Azure для добавления модели внедрения в ресурс.

  • Установите пакет вывода искусственного интеллекта Azure с помощью следующей команды:

    dotnet add package Azure.AI.Inference --prerelease
    

    Совет

    Дополнительные сведения о пакете вывода и справочнике по выводу искусственного интеллекта Azure.

  • Если вы используете идентификатор Записи, вам также потребуется следующий пакет:

    dotnet add package Azure.Identity
    

Использование внедрения

Сначала создайте клиент для использования модели. В следующем коде используется URL-адрес конечной точки и ключ, хранящиеся в переменных среды.

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

Если вы настроили ресурс в службу поддержки идентификатора Microsoft Entra, можно использовать следующий фрагмент кода для создания клиента.

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

Создание внедренных модулей

Создайте запрос на внедрение, чтобы просмотреть выходные данные модели.

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

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

Совет

При создании запроса учитывайте ограничение входных данных маркера для модели. Если вам нужно внедрить более крупные части текста, вам потребуется стратегия фрагментирования.

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

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}");

Это может быть полезно для вычислений внедрения в входных пакетах. Параметр inputs может быть списком строк, где каждая строка имеет разные входные данные. В свою очередь ответ представляет собой список внедрения, где каждое внедрение соответствует входным данным в той же позиции.

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);

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

Совет

При создании пакетов запросов учитывайте ограничение пакета для каждой модели. Большинство моделей имеют ограничение пакета 1024.

Указание измерений внедрения

Можно указать количество измерений для внедрения. В следующем примере кода показано, как создавать внедрения с 1024 измерениями. Обратите внимание, что не все модели внедрения поддерживают количество измерений в запросе и в этих случаях возвращается ошибка 422.

Создание различных типов внедрения

Некоторые модели могут создавать несколько внедренных входных данных в зависимости от способа их использования. Эта возможность позволяет получить более точные внедрения для шаблонов RAG.

В следующем примере показано, как создать внедрения, которые используются для создания внедрения документа, который будет храниться в векторной базе данных:

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);

При работе с запросом для получения такого документа можно использовать следующий фрагмент кода, чтобы создать внедрения для запроса и максимально повысить производительность извлечения.

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);

Обратите внимание, что не все модели внедрения поддерживаются, указывающие тип входных данных в запросе и в этих случаях возвращается ошибка 422. По умолчанию возвращаются внедрения типов Text .

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этой статье объясняется, как использовать API внедрения с моделями, развернутыми в модели ИИ Azure в службах ИИ Azure.

Необходимые компоненты

Чтобы использовать модели внедрения в приложение, вам потребуется:

  • Подписка Azure. Если вы используете модели GitHub, вы можете обновить интерфейс и создать подписку Azure в процессе. Ознакомьтесь с обновлением моделей GitHub до модели ИИ Azure, если это ваше дело.

  • Ресурс служб ИИ Azure. Дополнительные сведения см. в статье "Создание ресурса Служб искусственного интеллекта Azure".

  • URL-адрес конечной точки и ключ.

    Снимок экрана: получение URL-адреса и ключа, связанного с ресурсом.

Использование внедрения

Чтобы использовать внедренные тексты, используйте маршрут /embeddings , добавленный к базовому URL-адресу, а также учетные данные, указанные в api-key. Authorization Заголовок также поддерживается в формате Bearer <key>.

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

Если вы настроили ресурс с поддержкой идентификатора Microsoft Entra, передайте маркер в заголовке Authorization :

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

Создание внедренных модулей

Создайте запрос на внедрение, чтобы просмотреть выходные данные модели.

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

Совет

При создании запроса учитывайте ограничение входных данных маркера для модели. Если вам нужно внедрить более крупные части текста, вам потребуется стратегия фрагментирования.

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

{
    "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
    }
}

Это может быть полезно для вычислений внедрения в входных пакетах. Параметр inputs может быть списком строк, где каждая строка имеет разные входные данные. В свою очередь ответ представляет собой список внедрения, где каждое внедрение соответствует входным данным в той же позиции.

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

Ответ выглядит следующим образом, где можно просмотреть статистику использования модели:

{
    "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
    }
}

Совет

При создании пакетов запросов учитывайте ограничение пакета для каждой модели. Большинство моделей имеют ограничение пакета 1024.

Указание измерений внедрения

Можно указать количество измерений для внедрения. В следующем примере кода показано, как создавать внедрения с 1024 измерениями. Обратите внимание, что не все модели внедрения поддерживают количество измерений в запросе и в этих случаях возвращается ошибка 422.

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

Создание различных типов внедрения

Некоторые модели могут создавать несколько внедренных входных данных в зависимости от способа их использования. Эта возможность позволяет получить более точные внедрения для шаблонов RAG.

В следующем примере показано, как создать внедрения, которые используются для создания внедрения документа, который будет храниться в векторной базе данных:

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

При работе с запросом для получения такого документа можно использовать следующий фрагмент кода, чтобы создать внедрения для запроса и максимально повысить производительность извлечения.

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

Обратите внимание, что не все модели внедрения поддерживаются, указывающие тип входных данных в запросе и в этих случаях возвращается ошибка 422. По умолчанию возвращаются внедрения типов Text .