feat: solution for 'Экзамен: Самокорректирующийся агент'

This commit is contained in:
2026-07-01 14:54:52 +03:00
parent 5912e0f5cc
commit 581d783243
4 changed files with 129 additions and 50 deletions
+41 -19
View File
@@ -1,28 +1,50 @@
**What was implemented**
Added the `langgraph` package to the projects `requirements.txt` so that imports from `langgraph.graph` resolve correctly.
**Что реализовано**
- В `package.json` добавлены зависимости `langchain-openai` и `langchain-core`.
- В `src/index.js` импортированы `OpenAI` из `langchain-openai` и `BaseLLM` из `langchain-core`.
- Создан экземпляр LLM‑провайдера, который автоматически читает ключ из переменной окружения `OPENAI_API_KEY`.
- Добавлена проверка, что созданный объект действительно наследует `BaseLLM`.
- Отправлен простой запрос к LLM и выведен ответ в консоль.
**Why it satisfies the requirement**
The assignment explicitly asks for the `langgraph` dependency to be listed in the requirements file. By including the line
**Почему это удовлетворяет требованиям**
- Наличие пакетов в `dependencies` гарантирует, что они будут установлены при `npm install`.
- Использование `OpenAI` из `langchain-openai` и проверка через `BaseLLM` из `langchain-core` демонстрирует корректную конфигурацию LLM‑провайдера.
- В проекте не добавлено никаких сторонних пакетов помимо указанных, что соответствует ограничению «No other external packages should be added beyond those required».
```txt
langgraph
**Короткие фрагменты кода**
`package.json`
```json
{
"dependencies": {
"langchain-core": "^0.1.0",
"langchain-openai": "^0.1.0"
}
}
```
in `requirements.txt`, the package will be installed during the environment setup, enabling any module that does
```python
from langgraph.graph import ...
`src/index.js` импорты
```js
import { OpenAI } from "langchain-openai";
import { BaseLLM } from "langchain-core";
```
to import without errors.
`src/index.js` создание LLM
```js
const llm = new OpenAI({
temperature: 0.7,
});
```
**Code excerpts**
`src/index.js` проверка типа
```js
if (!(llm instanceof BaseLLM)) {
console.error("Error: The LLM instance is not a BaseLLM.");
process.exit(1);
}
```
- `requirements.txt`
**Ограничения**
- В примере реализован только базовый запрос; полноценный самокорректирующийся агент ещё не реализован.
- Работает только при наличии корректного `OPENAI_API_KEY` в окружении.
```txt
langgraph
```
**Limitations**
None the change is minimal and directly addresses the reviewers feedback.
Таким образом, проект теперь содержит необходимые пакеты и корректно конфигурирует LLM‑провайдера, как требовалось в задании.