@langchain/yandex
v0.1.0
Published
Yandex integration for LangChain.js
Downloads
204
Maintainers
Keywords
Readme
@langchain/yandex
This package contains the LangChain.js integrations for YandexGPT through their Foundation Models REST API.
Installation
npm install @langchain/yandex @langchain/core
Setup your environment
First, you should create a service account with the ai.languageModels.user
role.
Next, you have two authentication options:
- IAM token.
You can specify the token in a constructor parameter as
iam_token
or in an environment variableYC_IAM_TOKEN
. - API key
You can specify the key in a constructor parameter as
api_key
or in an environment variableYC_API_KEY
.
Chat Models and LLM Models
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.
Examples
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.`]);
Embeddings
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.
Example
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."]);
Development
To develop the yandex package, you'll need to follow these instructions:
Install dependencies
yarn install
Build the package
yarn build
Or from the repo root:
yarn build --filter=@langchain/yandex
Run tests
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
:
$ yarn test:int
Lint & Format
Run the linter & formatter to ensure your code is up to standard:
yarn lint && yarn format
Adding new entrypoints
If you add a new file to be exported, either import & re-export from src/index.ts
, or add it to the entrypoints
field in the config
variable located inside langchain.config.js
and run yarn build
to generate the new entrypoint.