Files
ekzamen-samokorrektiruyusch…/SOLUTION.md
T

49 lines
2.3 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` (версия `^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.
- Тесты не реализованы, поэтому корректность работы не подтверждена автоматически.