This package contains the LangChain.js integrations for YandexGPT through their Foundation Models REST API.
npm install @langchain/yandex @langchain/core
First, you should create a service account with the ai.languageModels.user role.
Next, you have two authentication options:
iam_token or in an environment variable YC_IAM_TOKEN.api_key or in an environment variable YC_API_KEY.This package contains the ChatYandexGPT and YandexGPT classes for working with the YandexGPT series of models.
To specify the model you can use model_uri parameter, see the documentation for more details.
By default, the latest version of yandexgpt-lite is used from the folder specified in the parameter folder_id or YC_FOLDER_ID environment variable.
import { ChatYandexGPT } from "@langchain/yandex";
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
const chat = new ChatYandexGPT();
const response = await chat.invoke([
new SystemMessage(
"You are a helpful assistant that translates English to French."
),
new HumanMessage("I love programming."),
]);
import { YandexGPT } from "@langchain/yandex";
const model = new YandexGPT();
const res = await model.invoke([`Translate "I love programming" into French.`]);
This package also adds support for YandexGPT embeddings models.
To specify the model you can use model_uri parameter, see the documentation for more details.
By default, the latest version of text-search-query embeddings model is used from the folder specified in the parameter folder_id or YC_FOLDER_ID environment variable.
import { YandexGPTEmbeddings } from "@langchain/yandex";
const model = new YandexGPTEmbeddings({});
/* Embed queries */
const res = await model.embedQuery("This is a test document.");
/* Embed documents */
const documentRes = await model.embedDocuments(["This is a test document."]);
To develop the yandex package, you'll need to follow these instructions:
pnpm install
pnpm build
Or from the repo root:
pnpm build --filter @langchain/yandex
Test files should live within a tests/ file in the src/ folder. Unit tests should end in .test.ts and integration tests should
end in .int.test.ts:
$ pnpm test:int
Run the linter & formatter to ensure your code is up to standard:
pnpm lint && pnpm format
If you add a new file to be exported, either import & re-export from src/index.ts, or add it to the exports field in the package.json file and run pnpm build to generate the new entrypoint.
Class for generating embeddings using the YandexGPT Foundation models API. Extends the Embeddings class and implements YandexGPTEmbeddings
Class for generating embeddings using the YandexGPT Foundation models API. Extends the Embeddings class and implements YandexGPTEmbeddings