diff --git a/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/solution.py b/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/solution.py index 2638e8a..50b1bfd 100644 --- a/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/solution.py +++ b/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка/solution.py @@ -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 = (