Agno + Ertas
使用 Agno 建構代理——這是 Phidata 的現代化重塑,具備內建記憶、工具與推理的簡潔 SDK,可與 OpenAI API 或 Ertas 訓練本地模型同樣良好地運作。
Overview
Agno 是 Phidata 在 2025 年的重塑,這個 Python 代理框架以其簡潔的 API 表面以及對記憶、工具使用與推理迴圈的務實處理贏得早期關注。重塑伴隨著對正式上線部署的更專注以及可選託管平台層(agno.ai)的推出,適合想要託管代理執行與開源 SDK 並行的團隊。SDK 本身保持 Apache 2.0 授權,且框架的設計哲學未變——讓抽象保持簡單、讓工具易於加入,並對想自行組合編排的團隊保持低介入。2026 年 5 月初的 v2.6.3 釋出在 AgentOS chat 中加入了 Team HITL(人類介入)核可、Gmail 與 Calendar context provider、Mongo 排程器、多模態 Gemini 檔案搜尋,以及實驗性的多框架模式——將 Agno 從簡潔 SDK 擴展為更完 整的平台,同時不打亂核心程式設計模型。
框架在 2026 年代理生態系中佔據一個經過深思熟慮的中間位置。它比 LangGraph 更輕量(沒有圖狀態機)、比 Smolagents 更有觀點(開箱即用包含記憶、知識、推理模式),且比 OpenAI Agents SDK 更 Pythonic(它傾向於 Pythonic 慣例而非完全鏡像 OpenAI API)。對於想要簡潔 Python 代理 SDK 並內建電池——對話記憶、向量知識儲存、結構化推理、多代理團隊——的團隊,Agno 命中了一個生產力的甜蜜點。
Agno 在設計上模型無關。框架透過其 provider 抽象支援 OpenAI、Anthropic、Google、AWS Bedrock、Cohere 與任何 OpenAI 相容端點。對於在 Ollama、vLLM 或自託管推論上執行微調模型的團隊,整合只需幾行設定。
How Ertas Integrates
Ertas 訓練的模型透過 Agno 的 `OpenAIChat` provider 設定指向本地端點來協同運作。在 Studio 微調並匯出為 GGUF 後,你透過 Ollama、vLLM 或 Ertas Cloud 提供模型服務,再將 Agno 的模型 provider 指向你的端點。每個代理——無論它具備記憶、知識檢索或多代理編排——都使用你的微調模型作為底層引擎。
Agno 內建電池的設計特別契合微調模型。框架內建的記憶、知識檢索與推理模式假設模型擅長結構化工具使用與一致的輸出格式——這些正是微調產生而通用 7B 模型常常缺乏的特質。與 Ertas 訓練模型結合,Agno 的高階抽象在生產中變得更可靠,而非脆弱。
對於想要 Agno 託管平台之託管代理執行但搭配自託管推論的團隊,框架支援混合設定:代理程式碼在 Agno 平台上執行、模型呼叫前往你自己的推論端點。這種模式讓團隊獲得平台的營運功能(部署、追蹤、評估),同時保持推論成本固定且資料主權完整。
Getting Started
- 1
在 Ertas Studio 微調你特定任務的模型
在包含 Agno 仰賴的結構化模式之資料上訓練:工具呼叫、記憶引用、知識檢索軌跡。Studio 的 JSONL 格式乾淨地對應到 Agno 的訊息慣例。
- 2
部署到 OpenAI 相容端點
匯出為 GGUF 並透過 Ollama、vLLM 或 Ertas Cloud 提供服務。Agno 呼叫任何暴露標準 chat-completion API 的端點。
- 3
安裝 Agno 並設定模型
安裝 agno-python。建立一個 `OpenAIChat` provider 指向你的 Ertas 推論端點並使用你的模型名稱。
- 4
以內建記憶、知識與工具建構代理
使用 Agno 內建電池的原語:透過 SQLite 或 PostgreSQL 的持久記憶、向量知識儲存、工具整合與結構化推理。依需要組合為多代理團隊。
- 5
可選:部署至 Agno 託管平台
將你的代理程式碼推送至 agno.ai 進行託管執行,同時將推論保留在你自己的端點。或使用 Agno 的參考部署自託管整個堆疊。
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.knowledge.url import UrlKnowledge
from agno.vectordb.lancedb import LanceDb
# Point Agno at your Ertas-trained model served via Ollama
model = OpenAIChat(
id="ertas-research-assistant-7b",
base_url="http://localhost:11434/v1",
api_key="not-needed",
)
# Knowledge retrieval over a curated source set
knowledge = UrlKnowledge(
urls=["https://docs.your-company.com/handbook"],
vector_db=LanceDb(table_name="company_handbook", uri="./data/lance"),
)
agent = Agent(
name="Research Assistant",
model=model,
knowledge=knowledge,
tools=[DuckDuckGoTools()],
instructions="Answer questions using internal handbook knowledge first, web search second.",
show_tool_calls=True,
markdown=True,
)
agent.print_response("What's our policy on remote work and how does it compare to industry norms?")Benefits
- 簡潔的 Pythonic SDK——最小的概念負擔
- 電池內建——記憶、知識儲存、結構化推理、多代理團隊
- 預設模型無關——與任何 OpenAI 相容端點協同運作
- 可選的託管平台(agno.ai)支援搭配自託管推論的託管執行
- Apache 2.0 授權——乾淨的商業使用故事
- 自然契合產生可靠結構化輸出的微調模型
- 2026 年積極開發並具強勁社群動能
Related Resources
Fine-Tuning
Function Calling
Vector Database
Agentic RAG: How to Build a Retrieval Tool Your AI Agent Discovers and Calls Automatically
Fine-Tuning for Tool Calling: How to Build Reliable AI Agents with Small Models
Building Reliable AI Agents with Fine-Tuned Local Models: Complete Guide
LangGraph
Ollama
OpenAI Agents SDK
Pydantic AI
vLLM
Ertas for Customer Support
Ertas for Data Extraction
Ertas for Internal Knowledge Bases
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.