add README.md with instructions
This commit is contained in:
@@ -1,2 +1,66 @@
|
|||||||
# task-6a1865008a94f887e50d471c
|
# Экзамен: Структурированный вывод (Pydantic)
|
||||||
|
|
||||||
|
## Описание
|
||||||
|
|
||||||
|
Приложение для извлечения структурированных данных из текста с использованием Pydantic и LangChain.
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Для работы с OpenAI установите переменную окружения:
|
||||||
|
```bash
|
||||||
|
export OPENAI_API_KEY=your_api_key
|
||||||
|
```
|
||||||
|
|
||||||
|
Для работы с Ollama убедитесь, что сервис запущен:
|
||||||
|
```bash
|
||||||
|
ollama serve
|
||||||
|
ollama pull llama3.2
|
||||||
|
```
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# С встроенным примером (интерактивный выбор)
|
||||||
|
python main.py
|
||||||
|
|
||||||
|
# С аргументом командной строки
|
||||||
|
python main.py "Анна, 28 лет, Python-разработчик. Навыки: FastAPI, Docker."
|
||||||
|
```
|
||||||
|
|
||||||
|
## Примеры
|
||||||
|
|
||||||
|
### Информация о человеке
|
||||||
|
```
|
||||||
|
Вход: "Анна, 28 лет, Python-разработчик. Навыки: FastAPI, Docker."
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "Анна",
|
||||||
|
"age": 28,
|
||||||
|
"profession": "Python-разработчик",
|
||||||
|
"skills": ["FastAPI", "Docker"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Заметки о встрече
|
||||||
|
```
|
||||||
|
Вход: "Встреча 28.05.2026. Участники: Иван, Мария, Петр. Темы: план проекта, бюджет. Решения: утвердить бюджет. Следующие шаги: подготовить ТЗ."
|
||||||
|
|
||||||
|
{
|
||||||
|
"date": "28.05.2026",
|
||||||
|
"participants": ["Иван", "Мария", "Петр"],
|
||||||
|
"topics": ["план проекта", "бюджет"],
|
||||||
|
"decisions": ["утвердить бюджет"],
|
||||||
|
"next_steps": ["подготовить ТЗ"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Компоненты
|
||||||
|
|
||||||
|
- **PersonInfo** — модель для информации о человеке (имя, возраст, профессия, навыки)
|
||||||
|
- **MeetingNotes** — модель для заметок о встрече (дата, участники, темы, решения, следующие шаги)
|
||||||
|
- **PydanticOutputParser** — для валидации и парсинга вывода LLM
|
||||||
|
- **Маршрутизация** — автоматический выбор схемы по типу текста
|
||||||
Reference in New Issue
Block a user