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

This commit is contained in:
2026-06-29 16:44:12 +03:00
parent 56c15b71cc
commit 87575da55f
3 changed files with 137 additions and 63 deletions
+23 -63
View File
@@ -1,70 +1,30 @@
# Research Brief Generator
# Повторный экзамен #2: Сравнительный обзор 3 сущностей (Tavily)
This project builds a LangGraph agent that produces a cohesive research brief comparing three entities (e.g., vector databases).
The agent:
Главная
Мои задания
Повторный экзамен #2: Сравнительный обзор 3 сущностей (Tavily)
EN
Повторный экзамен #2: Сравнительный обзор 3 сущностей (Tavily)
Зачёт
Версия 3
Дедлайн сдачи: 31.08.2026
1. Generates comparison criteria using an LLM.
2. Performs iterative web searches with Tavily for each entitycriterion pair.
3. Aggregates findings into a concise research brief.
4. Provides a recommendation verdict.
В работе
## Prerequisites
Требуется доработка
- Python 3.10+
- An OpenAI API key (set in `OPENAI_API_KEY` environment variable).
- A Tavily API key (set in `TAVILY_API_KEY` environment variable).
В работе отсутствует ключевой элемент задания – таблица сравнения 3×N с явным вердиктом.
## Setup
Редактирование ответа
```bash
# Clone the repository
git clone https://github.com/yourusername/research-brief.git
cd research-brief
Заполните ответ и отправьте работу на проверку преподавателю.
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create a .env file with your API keys
echo "OPENAI_API_KEY=your_openai_key" >> .env
echo "TAVILY_API_KEY=your_tavily_key" >> .env
```
## Usage
Run the CLI with default entities (Chroma, FAISS, Qdrant):
```bash
python -m src.main
```
Provide custom entities:
```bash
python -m src.main --entities "EntityA, EntityB, EntityC"
```
The output will display the research brief followed by the verdict.
## Project Structure
```
src/
├── cli.py # CLI entry point
├── graph.py # LangGraph workflow
├── main.py # Package entry
├── nodes.py # Node implementations
└── state.py # State schema
```
## Extending
- Replace the LLM with a local model (e.g., Ollama) by adjusting the `llm` initialization in `nodes.py`.
- Add more sophisticated parsing or error handling as needed.
## License
MIT License
Тип ответа
Текст
Ссылка
Файлы
Ссылка (URL)
Прикреплённые файлы
Загрузить файл
Отправить на проверку