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

This commit is contained in:
2026-07-01 13:23:40 +03:00
parent f1bd10bd09
commit c11f8de6a7
8 changed files with 299 additions and 164 deletions
+48 -21
View File
@@ -1,31 +1,58 @@
# Сравнительный обзор трёх сущностей проекта Tavily
# Tavily Compare
## Описание проекта
Данный скрипт генерирует сравнительный обзор трёх ключевых компонентов проекта **Tavily**:
1. **Tavily Search** – сервис быстрого поиска.
2. **Tavily API** – программный интерфейс для интеграции.
3. **Tavily SDK** – набор библиотек для разработчиков.
A lightweight Node.js library that compares three entities by querying the [Tavily](https://tavily.com) API.
The library uses a single, unified async/await approach for all HTTP requests and provides clear error handling.
Весь код реализован в объектно‑ориентированном стиле, без смешения процедурного подхода.
## Installation
## Как запустить
```bash
# Убедитесь, что у вас установлен Python 3.8+
python3 src/index.py
npm install tavily-compare
```
После запуска скрипт выведет на экран сравнительный обзор в русском языке.
## Usage
## Итоговый обзор
- **Tavily Search** – лучший выбор для быстрого поиска благодаря интуитивному интерфейсу и высокой производительности.
- **Tavily API** – предпочтителен для интеграции в сторонние приложения, но требует более глубоких знаний.
- **Tavily SDK** – удобен для разработчиков, желающих быстро добавить функциональность, однако может быть ограничен в масштабируемости.
```js
import { compare } from 'tavily-compare';
## Зависимости
- Python 3.8+
// Set your Tavily API key in the environment
process.env.TAVILY_API_KEY = 'YOUR_TAVILY_API_KEY';
## Лицензия
MIT License
(async () => {
try {
const results = await compare('entity1', 'entity2', 'entity3');
console.log(results);
// {
// entity1: { ...tavily response... },
// entity2: { ...tavily response... },
// entity3: { ...tavily response... }
// }
} catch (err) {
console.error(err.message);
}
})();
```
---
> **Важно:** Весь код написан только с использованием объектно‑ориентированного подхода, без смешения процедурных функций.
## API
### `compare(entity1, entity2, entity3)`
- **Parameters**
- `entity1` *string* First entity to compare.
- `entity2` *string* Second entity to compare.
- `entity3` *string* Third entity to compare.
- **Returns** *Promise\<Object\>* An object mapping each entity to its Tavily API response.
- **Throws** *Error* If any API call fails or if arguments are missing.
## Testing
Run the test suite with:
```bash
npm test
```
The tests mock the Tavily API to ensure no real HTTP requests are made.
## License
MIT © Your Name