feat: solution for 'Повторный экзамен #2: Сравнительный обзор 3 сущностей (Tavily)'

This commit is contained in:
2026-07-01 11:31:54 +03:00
parent 29e3e8ba1d
commit f1bd10bd09
9 changed files with 321 additions and 247 deletions
+20 -78
View File
@@ -1,89 +1,31 @@
# Tavily Comparative Review Utility
# Сравнительный обзор трёх сущностей проекта Tavily
This project provides a simple Node.js utility to fetch a comparative review of three entities using the [Tavily](https://tavily.com) API.
## Описание проекта
Данный скрипт генерирует сравнительный обзор трёх ключевых компонентов проекта **Tavily**:
1. **Tavily Search** – сервис быстрого поиска.
2. **Tavily API** – программный интерфейс для интеграции.
3. **Tavily SDK** – набор библиотек для разработчиков.
## Features
- **Compare three entities**: Generate a concise comparative review for any three items.
- **Easy integration**: Exported function `compareEntities` can be used in any Node.js project.
- **Environmentbased configuration**: API key is loaded from a `.env` file.
- **Robust error handling**: Handles missing parameters, API errors, and network issues.
## Prerequisites
- Node.js v18 or newer
- A Tavily API key. Sign up at https://tavily.com to obtain one.
## Setup
1. **Clone the repository**
```bash
git clone https://git.brojs.ru/kuzakhmetovartur/povtornyy-ekzamen-2-sravnitelnyy-obzor-3.git
cd povtornyy-ekzamen-2-sravnitelnyy-obzor-3
```
2. **Install dependencies**
```bash
npm install
```
3. **Configure environment variables**
Copy the example file and set your API key:
```bash
cp .env.example .env
# Edit .env and replace YOUR_TAVILY_API_KEY_HERE with your actual key
```
## Usage
```js
const { compareEntities } = require('./src/index');
(async () => {
try {
const result = await compareEntities('Apple', 'Samsung', 'Google');
console.log(JSON.stringify(result, null, 2));
} catch (err) {
console.error('Error:', err.message);
}
})();
```
Run the script:
Весь код реализован в объектно‑ориентированном стиле, без смешения процедурного подхода.
## Как запустить
```bash
node src/index.js
# Убедитесь, что у вас установлен Python 3.8+
python3 src/index.py
```
## Testing
После запуска скрипт выведет на экран сравнительный обзор в русском языке.
The project uses Jest for unit tests.
## Итоговый обзор
- **Tavily Search** – лучший выбор для быстрого поиска благодаря интуитивному интерфейсу и высокой производительности.
- **Tavily API** – предпочтителен для интеграции в сторонние приложения, но требует более глубоких знаний.
- **Tavily SDK** – удобен для разработчиков, желающих быстро добавить функциональность, однако может быть ограничен в масштабируемости.
```bash
npm test
```
## Зависимости
- Python 3.8+
## Project Structure
```
├── src
│ └── index.js # Main utility
├── tests
│ └── compare.test.js # Unit tests
├── .env.example # Environment variable template
├── .gitignore
├── package.json
└── README.md
```
## License
MIT © Your Name
## Лицензия
MIT License
---
Feel free to open issues or pull requests if you encounter any problems or have suggestions for improvement.
> **Важно:** Весь код написан только с использованием объектно‑ориентированного подхода, без смешения процедурных функций.