你好,未来的智能体大师!
这个文件夹是为你量身打造的 Agno 框架入门教程。我将通过四个循序渐进的案例,手把手带你掌握构建 AI 智能体的核心技巧。
我们将以创建一个充满乐趣的“独眼杰克”海盗船长智能体为主线,逐步为他解锁新的能力。
在开始之前,请确保你已经安装了所有案例可能需要的 Python 库。你可以在终端中运行以下命令一次性安装它们:
pip install agno openai duckduckgo-search lancedb tantivy sqlalchemy typer rich同时,请确保你已经设置了你的 OpenAI API 密钥。在你的终端中运行:
- Mac / Linux:
export OPENAI_API_KEY='sk-...'
- Windows (CMD):
set OPENAI_API_KEY=sk-...
- 学习目标: 掌握创建最基础智能体的方法,并学习如何通过
instructions参数赋予它独特的个性和行为模式。 - 核心代码:
Agent,OpenAIChat - 如何运行:
python learning_agno/case_1_basic_agent.py
- 观察要点: 查看船长是否完全按照你的指令,用海盗的口吻进行了回答。
- 学习目标: 学会使用
tools参数为智能体集成外部工具(如此处的网页搜索),让它能获取实时信息。 - 核心代码:
tools=[DuckDuckGoTools()],show_tool_calls=True - 如何运行:
python learning_agno/case_2_agent_with_tools.py
- 观察要点: 注意终端中打印出的
[Tool Call]信息。这表明船长意识到自己的知识不足,并决定使用“魔法望远镜”(搜索工具)来寻找答案。
- 学习目标: 学习如何通过
knowledge参数,为智能体挂载一个本地知识库(RAG),让它成为特定领域的专家。 - 核心代码:
knowledge=TextKnowledgeBase(...),vector_db=LanceDb(...),embedder=OpenAIEmbedder(...) - 如何运行:
python learning_agno/case_3_agent_with_knowledge.py
- 观察要点:
- 第一次运行时,会看到知识库被加载和处理。
- 船长能够准确回答关于“Agno框架”的问题,而这些信息只存在于我们提供的
my_knowledge.txt文件中。 - 注意观察
[Tool Call],你会看到它调用了一个名为knowledge_base_search的内部工具。
- 学习目标: 学习如何使用
storage参数为智能体提供长期记忆,使其能够跨会话记住对话历史。 - 核心代码:
storage=SqliteStorage(...),user_id,read_chat_history=True - 如何运行:
python learning_agno/case_4_agent_with_memory.py
- 观察要点:
- 这是一个交互式应用。第一次和它对话时,问它一个问题,比如“我最喜欢的水果是香蕉”。
- 结束对话(输入
exit),然后重新运行程序。 - 再次启动对话后,问它:“我最喜欢的水果是什么?”
- 如果它能回答“香蕉”,就证明它的记忆生效了!观察
[Tool Call],你会看到它调用了read_chat_history工具。
- 学习目标: 掌握 Agno 框架最强大的功能之一:智能体团队。学习如何将多个单一职责的智能体组合起来,解决一个需要分工协作的复杂任务。
- 核心代码:
Team,members,mode='coordinate',success_criteria - 如何运行:
python learning_agno/case_5_agent_team.py
- 观察要点:
- 注意观察终端的输出。你会清晰地看到团队的“协调员”是如何先调用【首席研究员】进行搜索。
- 然后,协调员会将研究员的结果传递给【金牌撰稿人】。
- 最后,由撰稿人产出最终报告。
- 整个过程全自动进行,完美模拟了真实团队的工作流。
现在,扬帆起航,开始你的 Agno 探险之旅吧!祝你好运,未来的船长!