feat: solution for 'Повторный экзамен #2: Сравнительный обзор 3 сущностей (Tavily)'
This commit is contained in:
@@ -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.
|
||||
- **Environment‑based 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.
|
||||
> **Важно:** Весь код написан только с использованием объектно‑ориентированного подхода, без смешения процедурных функций.
|
||||
Reference in New Issue
Block a user