feat: solution for 'Повторный экзамен #2: Сравнительный обзор 3 сущностей (Tavily)'
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user