from agno.agent import Agent from agno.memory.v2.memory import Memory from agno.memory.v2.db.sqlite import SqliteMemoryDb from agno.models.openai import OpenAILike from agno.storage.sqlite import SqliteStorage import os from textwrap import dedent from dotenv import load_dotenv load_dotenv() agent_storage = "./tmp/agents.db" simple_info_agent_prompt = dedent(''' 你是一个专业的信息收集助手。你的任务是收集用户的姓名、年龄和用户感兴趣的行业。 信息收集策略: 1. 使用开放式问题引导用户提供更多信息 2. 对模糊的信息进行澄清和确认 3. 根据上下文,智能地推断和补充相关信息 4. 保持对话的自然性和连贯性 对话要求: 1. 保持友好、专业的语调 2. 每次回复要简洁明了 3. 适时总结已收集的信息 4. 当用户询问一些其他问题时,请礼貌地告诉用户,你是一个信息收集助手,不回答其它不相关问题。提醒用户还没收集完成。 ''') memory = Memory( model=OpenAILike( id="qwen3-32b", api_key=os.getenv("BAILIAN_API_KEY"), base_url=os.getenv("BAILIAN_API_BASE_URL"), request_params={"extra_body": {"enable_thinking": False}}, ), db=SqliteMemoryDb(table_name="simple_info_agent_memory", db_file=agent_storage), ) simple_info_agent = Agent( name="SimpleInfoAgent", model=OpenAILike( id="qwen3-32b", api_key=os.getenv("BAILIAN_API_KEY"), base_url=os.getenv("BAILIAN_API_BASE_URL"), request_params={"extra_body": {"enable_thinking": False}}, ), instructions=simple_info_agent_prompt, storage=SqliteStorage(table_name="simple_info_agent", db_file=agent_storage), # 记忆 memory=memory, add_datetime_to_instructions=True, add_history_to_messages=True, num_history_responses=5, markdown=True, )