e418e26d9ca2552187d54407145916a9bcea7b05
Экзамен: Структурированный вывод (Pydantic)
Описание
Приложение для извлечения структурированных данных из текста с использованием Pydantic и LangChain.
Установка
pip install -r requirements.txt
Для работы с OpenAI установите переменную окружения:
export OPENAI_API_KEY=your_api_key
Для работы с Ollama убедитесь, что сервис запущен:
ollama serve
ollama pull llama3.2
Запуск
# С встроенным примером (интерактивный выбор)
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
- Маршрутизация — автоматический выбор схемы по типу текста
Description
Languages
Python
100%