Files
task-6a1865008a94f887e50d471c/README.md
T
2026-05-28 16:31:02 +00:00

2.2 KiB
Raw Blame History

Экзамен: Структурированный вывод (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
  • Маршрутизация — автоматический выбор схемы по типу текста