50 lines
2.5 KiB
Markdown
50 lines
2.5 KiB
Markdown
**Что реализовано**
|
||
- В `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‑провайдера, как требовалось в задании. |