JS/TS SDK для GigaChat API
GigaChat — это JS-библиотека для работы с REST API GigaChat. Она является частью GigaChain и входит в состав langchain-gigachat-js — партнерского пакета opensource-фреймворка LangChain .
Библиотека поддерживает:
- чат;
- обработку потоковой передачи токенов;
- работу с функциями;
- создание эмбеддингов;
- работу с GigaChat Vision;
- генерацию изображений;
- работу в пакетном режиме;
- подсчет токенов;
- проверку текста на ИИ;
- работу с файлами.
Больше примеров работы с библиотекой gigachat — в репозитории .
Установка
npm install gigachat
Быстрый старт
Для работы с библиотекой вам понадобится ключ авторизации API.
Чтобы получить ключ авторизации:
- Создайте проект GigaChat API в личном кабинете Studio.
- В интерфейсе проекта, в левой панели выберите раздел Настройки API.
- Нажмите кнопку Получить ключ.
В открывшемся окне скопируйте и сохраните значение поля Authorization Key. Ключ авторизации отображается только один раз и не хранится в личном кабинете. При компрометации или утере ключа авторизации вы можете сгенерировать его повторно.
Подробно о том, как создать проект GigaChat API — в официальной документации, в разделах Быстрый старт для физических лиц и Быстрый старт для ИП и юридических лиц.
Передайте полученный ключ авторизации в параметре credentials при инициализации объекта GigaChat.
Пример простого запроса на генерацию:
import GigaChat from 'gigachat';
import { Agent } from 'node:https';
const httpsAgent = new Agent({
rejectUnauthorized: false, // Отключает проверку корневого сертификата
// Читайте ниже как можно включить проверку сертификата НУЦ Минцифры
});
const client = new GigaChat({
timeout: 600,
model: 'GigaChat-2-Pro',
credentials: 'ваш_ключ_авторизации',
httpsAgent: httpsAgent,
});
client
.chat({
messages: [{ role: 'user', content: 'Привет, как дела?' }],
})
.then((resp) => {
console.log(resp.choices[0]?.message.content);
});
Способы авторизации
Существуют различные способы авторизации, помимо к люча авторизации.
const client = new GigaChat({
credentials: 'креды',
scope: 'GIGACHAT_API_PERS / GIGACHAT_API_B2B / GIGACHAT_API_CORP',
});
const client = new GigaChat({
baseUrl: '