fix:实现基础功能

This commit is contained in:
2025-12-10 22:36:12 +08:00
commit 39aa02c74e
35 changed files with 2990 additions and 0 deletions

50
utils/agent_utils.py Normal file
View File

@@ -0,0 +1,50 @@
import re
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from loguru import logger
from config.config import load_config
config = load_config("config.toml")
def generate_comment(name, age_group, traits):
"""
生成评语
:param name: 学生姓名
:param age_group: 所在班级
:param traits: 表现特征
:return: 评语
"""
ai_config = config["ai"]
llm = ChatOpenAI(
base_url=ai_config["api_url"],
api_key=ai_config["api_key"],
model=ai_config["model"],
temperature=0.7,
)
# 2. 构建 Prompt Template
prompt = ChatPromptTemplate.from_messages([
("system", ai_config["prompt"]),
("human", "学生姓名:{name}\n所在班级:{age_group}\n表现特征:{traits}\n\n请开始撰写评语:")
])
# 3. 组装链 (Prompt -> Model -> OutputParser)
chain = prompt | llm | StrOutputParser()
# 4. 执行
try:
comment = chain.invoke({
"name": name,
"age_group": age_group,
"traits": traits
})
cleaned_text = re.sub(r'\s+', '', comment)
logger.success(f"学生:{name} =>生成评语成功: {cleaned_text}")
return cleaned_text
except Exception as e:
print(f"生成评语失败: {e}")
return "生成失败请检查网络或Key。"