YandexGPT API. Часть 1
YandexGPT (YaLM 2.0) — это большая языковая модель нового поколения. Она разработана и обучена компанией «Яндекс» на десятках миллионов текстов из интернета, а также на тысячах ответов, подготовленных AI-тренерами. Нейросеть способна обрабатывать запросы пользователей и отвечать на них в текстовом виде или голосом от лица «Алисы».
https://lifehacker.ru/yandexgpt
Интернет заполонён информацией как пользоваться ChatGPT API в своих приложениях для генерации текста, перевода, классификации и организации чат-ботов с ИИ внутри.
Сегодня мы рассмотрим как использовать YandexGPT, чтобы можно было интегрировать в свой проект.
Получение данных для аутентификации запросов
Сперва в личном кабинете Yandex Cloud получим идентификатор каталога (СОХРАНИМ ЕГО, ОН ПОНАДОБИТСЯ ПОЗЖЕ):
Далее зайдём в этот каталог и перейдём в Сервисные аккаунты и нажмём "Создать сервисный аккаунт":
Необходимо задать имя, описание и роль ai.languageModels.user.
После создания заходим внутрь сервисного аккаунта и нажимаем "Создать API-ключ"
Вводим описание, чтобы было понятно, где используем:
После чего будет выведен ключ:
ВАЖНО! Сохраните секретный ключ перед закрытием этого окна, иначе вы не сможете его увидеть снова.
Всё, теперь переходим непосредственно к коду 😊
Пример кода на TypeScript
Нам понадобится библиотека для http-запросов. Я возьму axios
npm i --save axios
yarn add axios
bun add axios
import axios from 'axios';
const folder_id = '<идентификатор каталога>';
const yandexgpt_key = '<секретный ключ выше>';
const data = {
modelUri: `gpt://${folder_id}/yandexgpt/latest`,
completionOptions: {
"stream": false,
"temperature": 0.6,
"maxTokens": "2000"
},
"messages": [
{
"role": "system",
"text": "Найди ошибки в тексте и исправь их"
},
{
"role": "user",
"text": "Ламинат подойдет для укладке на кухне"
}
]
};
async function main() {
try {
const response = await axios.post(
`https://llm.api.cloud.yandex.net/foundationModels/v1/completion`,
data,
{
headers: {
'Authorization': `Api-Key ${yandexgpt_key}`,
'x-folder-id': folder_id,
},
}
);
console.log(response.status);
console.log(JSON.stringify(response.data, null, 2));
} catch (err) {
console.error('error:', err)
}
}
main();Пример кода на Python
import asyncio
import json
import requests
folder_id = '<идентификатор каталога>'
yandexgpt_key = '<секретный ключ выше>'
yandex_gpt_api_url = 'https://llm.api.cloud.yandex.net/foundationModels/v1/completion'
messages = [
{
"role": "system",
"text": "Ты дружелюбный ассистент. Рассказывай шутки"
},
]
def yandex_gpt():
response = requests.post(
yandex_gpt_api_url,
headers={
"Authorization": f"Api-Key {gpt_api_key}",
"x-folder-id": folder_id
},
json={
"modelUri": f"gpt://{folder_id}/yandexgpt/latest",
"completionOptions": {
"stream": False,
"temperature": 0.6
},
"messages": messages
},
)
return response.json()- https://cloud.yandex.ru/ru/docs/yandexgpt/quickstart
- https://cloud.yandex.ru/ru/docs/yandexgpt/concepts/models