49 lines
2.3 KiB
Markdown
49 lines
2.3 KiB
Markdown
**Что реализовано**
|
||
- В `package.json` добавлен пакет `langchain-openai` (версия `^0.1.0`).
|
||
- В `src/agent.js` импорт `OpenAI` обновлён на `langchain-openai`.
|
||
- Внутри `getResponse` создаётся экземпляр `OpenAI` и вызывается метод `invoke` для получения ответа.
|
||
- В `src/index.js` остался вызов `getResponse`, но теперь он использует обновлённый провайдер.
|
||
|
||
**Почему это удовлетворяет требованиям**
|
||
- Пакет `langchain-openai` – это LLM‑провайдер, доступный в npm, как требовалось.
|
||
- Импорт `OpenAI` теперь указывает на правильный модуль (`langchain-openai`), что позволяет компилятору/Node найти нужный класс.
|
||
- Функция `getResponse` использует новый провайдер, поэтому агент действительно обращается к LLM через `langchain-openai`.
|
||
|
||
**Короткие фрагменты кода**
|
||
|
||
`package.json`
|
||
```json
|
||
"dependencies": {
|
||
"langchain-openai": "^0.1.0"
|
||
}
|
||
```
|
||
|
||
`src/agent.js`
|
||
```js
|
||
import { OpenAI } from 'langchain-openai';
|
||
|
||
export async function getResponse(prompt) {
|
||
const model = new OpenAI({
|
||
temperature: 0.7,
|
||
modelName: 'gpt-3.5-turbo'
|
||
});
|
||
const response = await model.invoke(prompt);
|
||
return response;
|
||
}
|
||
```
|
||
|
||
`src/index.js`
|
||
```js
|
||
import { getResponse } from './agent.js';
|
||
|
||
export async function main() {
|
||
const prompt = 'Hello, world! What is the capital of France?';
|
||
const answer = await getResponse(prompt);
|
||
console.log('LLM response:', answer);
|
||
}
|
||
```
|
||
|
||
**Ограничения**
|
||
- В коде отсутствует проверка наличия ключа API для OpenAI; при отсутствии ключа запрос завершится ошибкой.
|
||
- Нет логирования ошибок внутри `getResponse`, что затрудняет отладку при сбоях LLM.
|
||
- Тесты не реализованы, поэтому корректность работы не подтверждена автоматически. |