在探索大语言模型的教育应用过程中,我们开发了一个基于多 Agent 的智能教学系统。本文将介绍如何通过教师和学生两个专业化的 Agent 协同工作,实现自然的教学对话互动。
GitHub Code 项目地址
核心架构设计
1. Agent 基类设计
from pydantic import BaseModel
from typing import Optional
class Agent(BaseModel):
name: str = "Agent"
model: str = "gpt-4o" # deepseek-chat, mixtral-8x7b-32768, Qwen/Qwen2-72B-Instruct, gpt-4o, llama3-70b-8192
instructions: str = "你是一个非常有用的人工智能助手,你使用中文回答用户的问题。"
tools: list = []
2. 消息处理机制
def run_full_turn(agent, messages, logger):
current_agent = agent
num_init_messages = len(messages)
messages = messages.copy()
while True:
tool_schemas = [function_to_schema(tool) for tool in current_agent.tools]
tools = {
tool.__name__: tool for tool in current_agent.tools}
response = get_model_response_with_tools(
model_name=current_agent.model