Обновить solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/solution.py

This commit is contained in:
2026-05-27 07:31:08 +00:00
parent e7a4c478d6
commit b268f361ed
@@ -1,19 +1,11 @@
import os
from typing import List
# LangChain — обёртки над моделью и парсером
from pydantic import BaseModel, Field
from langchain_core.prompts import PromptTemplate
from langchain_core.output_parsers import PydanticOutputParser
# LangChain — интеграция с OpenAI
from langchain_openai import ChatOpenAI
from pydantic import BaseModel, Field
class AssignmentCard(BaseModel):
"""Структурированная карточка учебного задания."""
title: str = Field(..., description="Название задания одной фразой")
subject: str = Field(..., description="Учебная дисциплина или тема")
deadline_hint: str | None = Field(
@@ -31,10 +23,8 @@ class AssignmentCard(BaseModel):
def main() -> None:
# Парсер структурированного вывода из langchain_core
output_parser = PydanticOutputParser(pydantic_object=AssignmentCard)
# Шаблон промпта из langchain_core
template = PromptTemplate(
template=(
"Прочитай описание учебного задания и заполни все поля карточки.\n\n"
@@ -48,10 +38,8 @@ def main() -> None:
},
)
# Языковая модель через обёртку langchain_openai
model = ChatOpenAI(model="gpt-4o-mini", temperature=0)
# Цепочка LangChain: промпт | модель | парсер
chain = template | model | output_parser
sample = (