Yandex GPT Writer [RUS]
Простая и надёжная библиотека для работы с Yandex GPT через Yandex Cloud API.
- Автоматическое обновление IAM-токена каждые 55 минут ✅
- Поддержка Node.js ✅
- Zero-dependency ✅
Установка
npm install yandex-gpt-writer
Опции
oauthToken | string | "" | OAuth token для доступа к Yandex Cloud. ОБЯЗАТЕЛЬНО. |
iamTokenApiUrl | string | "https://iam.api.cloud.yandex.net/iam/v1/tokens" | URL для получения IAM токена. |
catalogId | string | "" | ID каталога Yandex Cloud. ОБЯЗАТЕЛЬНО. |
apiUrl | string | "https://llm.api.cloud.yandex.net/foundationModels/v1/completion" | URL для доступа к Yandex LLM API. |
messages | Array | [] | Массив сообщений для отправки в Yandex LLM API. |
completionOptions | object | { stream: false, temperature: 1, maxTokens: "2000" } | Объект с опциями завершения. |
modelUri | string | llm://${this.catalogId}/yandex-lite | URI модели Yandex LLM. |
iamToken | string | null | null | IAM токен (автоматически получается). |
Методы
getIamToken() | Асинхронно получает IAM токен. |
setIamTokenApiUrl() | Устанавливает iamTokenApiUrl. |
setApiUrl() | Устанавливает apiUrl. |
setModelUri(modelUri) | Устанавливает URI модели. |
setCompletionOptions(options) | Устанавливает опции завершения. |
getCompletionOptions() | Возвращает текущие опции завершения. |
addMessage(message) | Добавляет сообщение в историю сообщений. |
setMessages(messages) | Устанавливает историю сообщений. |
clearMessages() | Очищает историю сообщений. |
getMessages() | Возвращает текущую историю сообщений. |
refreshIamToken() | Принудительно обновляет IAM-токен (например, при смене OAuth-токена).сообщений. |
writeYandex() | Асинхронно отправляет запрос в Yandex LLM API и возвращает ответ. |
Пример использования
import YandexGptWriter from "yandex-gpt-writer";
const writer = new YandexGptWriter();
writer.oauthToken = process.env.YANDEX_OAUTH_TOKEN;
writer.catalogId = process.env.YANDEX_CATALOG_ID;
writer.modelUri = `llm@${writer.catalogId}/yandex-lite`;
writer.setCompletionOptions({ temperature: 0.7, maxTokens: 500 });
writer.addMessage({ role: "system", text: "Ты - полезный ассистент." });
writer.addMessage({
role: "user",
text: "Напиши небольшое стихотворение о весне.",
});
writer.setMessages([
{ role: "system", text: "Ты - полезный ассистент." },
{ role: "user", text: "Напиши небольшое стихотворение о весне." },
]);
try {
const response = await writer.writeYandex();
console.log("Ответ YandexGPT:", response);
} catch (error) {
console.error("Произошла ошибка:", error);
}
Связаться со мной
Мой telegram
Yandex GPT Writer [ENG]
An easy way to use Yandex GPT for your project.
NPM install
npm install yandex-gpt-writer
Options
oauthToken | string | "" | OAuth token for access to Yandex Cloud. REQUIRED. |
iamTokenApiUrl | string | "https://iam.api.cloud.yandex.net/iam/v1/tokens" | URL to get IAM token. |
catalogId | string | "" | ID catalog Yandex Cloud. REQUIRED. |
apiUrl | string | "https://llm.api.cloud.yandex.net/foundationModels/v1/completion" | URL for access to Yandex LLM API. |
messages | Array | [] | |
Array of messages to send to Yandex LLM API. | | | |
completionOptions | object | { stream: false, temperature: 1, maxTokens: "2000" } | An Object with completion options. |
modelUri | string | llm://${this.catalogId}/yandex-lite | Yandex LLM model URI. |
iamToken | string | null | null | IAM token (automatically obtained). |
Методы
getIamToken() | Asynchronously receives an IAM token. |
setIamTokenApiUrl() | Sets iamTokenApiUrl. |
setApiUrl() | Sets apiUrl. |
setModelUri(modelUri) | Sets the URI of the model. |
setCompletionOptions(options) | Sets completion options. |
getCompletionOptions() | Returns the current completion options. |
addMessage(message) | Adds a message to the message history. |
setMessages(messages) | Sets the message history. |
clearMessages() | Clears message history. |
getMessages() | Returns the current message history. |
writeYandex() | Asynchronously sends a request to Yandex LLM API and returns a response. |
Пример использования
import YandexGptWriter from "yandex-gpt-writer";
const writer = new YandexGptWriter();
writer.oauthToken = process.env.YANDEX_OAUTH_TOKEN;
writer.catalogId = process.env.YANDEX_CATALOG_ID;
writer.modelUri = `llm@${writer.catalogId}/yandex-lite`;
writer.setCompletionOptions({ temperature: 0.7, maxTokens: 500 });
writer.addMessage({ role: "system", text: "You are a useful assistant." });
writer.addMessage({
role: "user",
text: "Write a short poem about spring.",
});
writer.setMessages([
{ role: "system", text: "You are a useful assistant." },
{ role: "user", text: "Write a short poem about spring." },
]);
try {
const response = await writer.writeYandex();
console.log("YandexGPT response:", response);
} catch (error) {
console.error("An error occurred:", error);
}
Сontact me
My telegram