Обзор YandexGPT API
YandexGPT API позволяет быстро создавать текстовый контент: генерировать описание товаров, статьи, новости, информационные рассылки, посты для блога и многое другое. Качество ответа нейросети напрямую зависит от точности переданной инструкции: чем точнее вы опишете свой запрос, тем выше вероятность получить ожидаемый результат. Примеры инструкций и запросов собраны в библиотеке промтов YandexGPT API.
Модель в первую очередь предназначена для работы с русскоязычными текстами, но может понимать около 20 языков, в том числе английский и японский. Кроме текстового описания в промтах необходимо указывать специальный параметр температура, который определяет вариативность ответа модели: чем выше значение температуры, тем более непредсказуемым будет результат выполнения запроса.
Для работы с YandexGPT API в Yandex Cloud доступны два интерфейса. Вы можете отправлять запросы в AI Playground
AI Playground подойдет для знакомства и тестирования: в нем вы можете отправлять синхронные запросы к разным моделям YandexGPT API, настраивать параметры и подбирать промты. При общении модель сохраняет контекст разговора, но вы можете создать новый эксперимент, если контекст необходимо сменить. Кроме того, в навигационном меню слева доступны интерфейсы YandexGPT Playground в формате чата и промт-режима. Используйте их, если вам необходимо полностью повторить поведение модели через API и вы не хотите сохранять результаты диалога.
Подробнее о моделях YandexGPT API см. в разделе Модели YandexGPT API.
Форматирование ответов модели
По умолчанию модель возвращает ответ, отформатированный с помощью разметки Markdown
Пример:
{
"modelUri": "gpt://<идентификатор_каталога>/yandexgpt/latest",
"completionOptions": {
"stream": false,
"temperature": 0.6,
"maxTokens": "2000"
},
"messages": [
{
"role": "system",
"text": "Ты — умный ассистент."
},
{
"role": "user",
"text": "Назови любые три группы товаров в продовольственном магазине. Для каждой группы приведи три любые подгруппы, входящие в группу. Представь результат в форме объекта JSON, где каждая группа товаров представлена в виде ключа в объекте JSON, а значениями являются массивы из соответствующих подгрупп. Нужны только данные без вводных фраз и объяснений. Не используй разметку Markdown!"
}
]
}
Результат:
{
"result": {
"alternatives": [
{
"message": {
"role": "assistant",
"text": "{\n \"мясо\": [\"говядина\", \"свинина\", \"баранина\"],\n \"молочные продукты\": [\"молоко\", \"творог\", \"сметана\"],\n \"фрукты\": [\"яблоки\", \"бананы\", \"апельсины\"]\n}"
},
"status": "ALTERNATIVE_STATUS_FINAL"
}
],
"usage": {
"inputTextTokens": "87",
"completionTokens": "58",
"totalTokens": "145"
},
"modelVersion": "07.03.2024"
}
}
Модель вернула ответ в формате JSON, где перенос строки заменен на \n
, а кавычки экранированы.
Если с помощью промта вам не удается добиться желаемого результата, попробуйте дообучить модель в Yandex DataSphere