Files
povtornyy-ekzamen-graf-s-re…/SOLUTION.md
T

50 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Что реализовано**
- В `package.json` добавлены зависимости `langchain-openai` и `langchain-core`.
- В `src/index.js` импортированы `OpenAI` из `langchain-openai` и `BaseLLM` из `langchain-core`.
- Создан экземпляр LLM‑провайдера, который автоматически читает ключ из переменной окружения `OPENAI_API_KEY`.
- Добавлена проверка, что созданный объект действительно наследует `BaseLLM`.
- Отправлен простой запрос к LLM и выведен ответ в консоль.
**Почему это удовлетворяет требованиям**
- Наличие пакетов в `dependencies` гарантирует, что они будут установлены при `npm install`.
- Использование `OpenAI` из `langchain-openai` и проверка через `BaseLLM` из `langchain-core` демонстрирует корректную конфигурацию LLM‑провайдера.
- В проекте не добавлено никаких сторонних пакетов помимо указанных, что соответствует ограничению «No other external packages should be added beyond those required».
**Короткие фрагменты кода**
`package.json`
```json
{
"dependencies": {
"langchain-core": "^0.1.0",
"langchain-openai": "^0.1.0"
}
}
```
`src/index.js` импорты
```js
import { OpenAI } from "langchain-openai";
import { BaseLLM } from "langchain-core";
```
`src/index.js` создание LLM
```js
const llm = new OpenAI({
temperature: 0.7,
});
```
`src/index.js` проверка типа
```js
if (!(llm instanceof BaseLLM)) {
console.error("Error: The LLM instance is not a BaseLLM.");
process.exit(1);
}
```
**Ограничения**
- В примере реализован только базовый запрос; полноценный самокорректирующийся агент ещё не реализован.
- Работает только при наличии корректного `OPENAI_API_KEY` в окружении.
Таким образом, проект теперь содержит необходимые пакеты и корректно конфигурирует LLM‑провайдера, как требовалось в задании.