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