Режимы взаимодействия с inference-сервисом
В Foundation Models Catalog поддерживается только синхронный режим на стороне сервера. В этом режиме сервер обрабатывает запрос и возвращает результат клиенту в рамках одного HTTP-соединения. Соединение с клиентом удерживается до полной генерации ответа.
На стороне клиента можно отправлять синхронные и асинхронные запросы.
Для работы с моделями доступны различные типы API в зависимости от решаемой задачи и категории моделей.
Типы API
Типы API определяют структуру данных запроса и формат ответа. Доступные API зависят от модели, развернутой в inference-сервисе. Подробнее о типах API в их официальной документации.
Отправить синхронный запрос
При отправке синхронного запроса код клиента блокируется до получения полного ответа от модели. Такой способ подходит для задач, не требующих параллельной обработки запросов.
Completions API
Chat API
Embeddings API
Rerank API
Transcriptions API
curl
Python
Node.js
-
Откройте CLI.
-
Отправьте запрос к модели:
curl <endpoint>/v1/completions \-H "Authorization: Bearer <api_key>" \-H "Content-Type: application/json" \-d '{"model": "<model>","prompt": "<prompt>","temperature": <temperature>,"max_tokens": <max_tokens>}'Укажите:
-
<endpoint>— эндпоинт inference-сервиса, можно скопировать в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Быстрый старт → в блоке Endpoint нажмите ; -
<api_key>— API-ключ, можно скопировать в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка API-ключи → в строке API-ключа нажмите , а затем ; -
<model>— название модели, можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Сервис → строка Модель; -
<prompt>— промт, например:Объясни, что такое промт. -
<temperature>— температура генерации. Чем выше значение, тем более разнообразными будут ответы. Рекомендуемые значения указаны в описании модели. Ссылку на описание модели можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Сервис → строка Модель; -
<max_tokens>— максимальное количество токенов в ответе модели. Не может превышать максимальную длину контекста. Максимальную длину контекста можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Сервис → строка Максимальная длина контекста.
-
Отправить асинхронный запрос
При отправке асинхронного запроса код клиента не блокируется, что позволяет выполнять другие задачи во время ожидания ответа от модели. Соединение клиента с сервером удерживается до момента получения полного ответа.
Completions API
Chat API
Python
Node.js
-
Установите библиотеку
openai:pip install openai -
Отправьте запрос к модели:
import asynciofrom openai import AsyncOpenAIclient = AsyncOpenAI(base_url="<endpoint>/v1",api_key="<api_key>")async def get_completion():response = await client.completions.create(model="<model>",prompt="<prompt>",temperature=<temperature>,max_tokens=<max_tokens>)return response.choices[0].message.contentasync def main():result = await get_completion()print(f"Response: {result}")Укажите:
-
<endpoint>— эндпоинт inference-сервиса, можно скопировать в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Быстрый старт → в блоке Endpoint нажмите ; -
<api_key>— API-ключ, можно скопировать в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка API-ключи → в строке API-ключа нажмите , а затем ; -
<model>— название модели, можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Сервис → строка Модель; -
<prompt>— промт, например:Объясни, что такое промт. -
<temperature>— температура генерации. Чем выше значение, тем более разнообразными будут ответы. Рекомендуемые значения указаны в описании модели. Ссылку на описание модели можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Сервис → строка Модель; -
<max_tokens>— максимальное количество токенов в ответе модели. Не может превышать максимальную длину контекста. Максимальную длину контекста можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Inference-сервисы → страница inference-сервиса → вкладка Сервис → строка Максимальная длина контекста.
-