원클릭으로
migrate-to-glm
将 Agno 项目代码从 Gemini、OpenAIResponses 或 OpenAIChat 迁移到 GLM 模型(OpenAILike)。用于用户需要切换模型、替换 Gemini/OpenAI 为 GLM、配置 OpenAI 兼容模型时。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
将 Agno 项目代码从 Gemini、OpenAIResponses 或 OpenAIChat 迁移到 GLM 模型(OpenAILike)。用于用户需要切换模型、替换 Gemini/OpenAI 为 GLM、配置 OpenAI 兼容模型时。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when analyzing agno-cookbook Python source files to generate implementation principle documentation (.md). Use when the user asks to generate code analysis, implementation docs, or principle documentation for .py files.
Use when the user asks to commit git changes, create a commit, or save code changes. Creates well-formatted conventional commits with Chinese descriptions.
Use when migrating Agno project code from Gemini, OpenAIResponses, or OpenAIChat to GLM model (OpenAILike). Use when switching models, replacing Gemini/OpenAI with GLM, or configuring OpenAI-compatible models.
Use when translating Python project files (comments, docstrings, instructions, markdown) from English to Chinese. Use when the user asks to translate code comments, README, documentation, or AI prompt instructions to Chinese.
Translate Python project files (comments, docstrings, instructions, markdown) from English to Chinese. Use when the user asks to translate code comments, README, documentation, or AI prompt instructions to Chinese in a Python project.
使用可执行脚本获取系统信息
| name | migrate-to-glm |
| description | 将 Agno 项目代码从 Gemini、OpenAIResponses 或 OpenAIChat 迁移到 GLM 模型(OpenAILike)。用于用户需要切换模型、替换 Gemini/OpenAI 为 GLM、配置 OpenAI 兼容模型时。 |
将 Agno 项目中使用 Gemini、OpenAIResponses 或 OpenAIChat 的代码迁移到 GLM 模型(通过 OpenAILike)。
Gemini(id="gemini-3-flash-preview"),需要切换到 GLMOpenAIResponses(id="gpt-5.2") 等 OpenAI 系模型,需要切换到 GLMOpenAIChat(id="gpt-4o-mini") 等 OpenAI Chat 模型,需要切换到 GLM使用 Grep 查找需要迁移的文件:
# 来自 Gemini 的文件
grep -r "from agno.models.google import Gemini" .
grep -r "Gemini(id=" .
# 来自 OpenAIResponses 的文件(同一 openai 模块,换为 OpenAILike)
grep -r "OpenAIResponses(id=" .
grep -r "from agno.models.openai import OpenAIResponses" .
# 来自 OpenAIChat 的文件(同一 openai 模块,换为 OpenAILike)
grep -r "OpenAIChat(id=" .
grep -r "from agno.models.openai import OpenAIChat" .
对每个需要迁移的 Python 文件执行以下操作。
A1. 替换 import 语句
# 旧代码
from agno.models.google import Gemini
# 新代码
import os
from dotenv import load_dotenv
from agno.models.openai import OpenAILike
load_dotenv()
A2. 替换模型配置
# 旧代码
model=Gemini(id="gemini-3-flash-preview")
# 新代码
model=OpenAILike(
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/coding/paas/v4"),
api_key=os.getenv("MODEL_API_KEY"),
)
同一文件已使用 agno.models.openai,只需换类名并改为 GLM 配置(如 CultureManager、Agent 等)。
B1. 替换 import 语句
# 旧代码
from agno.models.openai import OpenAIResponses
# 新代码
import os
from dotenv import load_dotenv
from agno.models.openai import OpenAILike
load_dotenv()
B2. 替换模型配置
# 旧代码
model=OpenAIResponses(id="gpt-5.2")
# 新代码
model=OpenAILike(
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/coding/paas/v4"),
api_key=os.getenv("MODEL_API_KEY"),
)
实战示例(02_agents/culture/01_create_cultural_knowledge.py): CultureManager 的 model 从 OpenAIResponses(id="gpt-5.2") 改为上述 OpenAILike 配置即可,其他逻辑不变。
同一文件已使用 agno.models.openai,与场景 B 操作相同:换类名为 OpenAILike,并改为 GLM 环境变量配置。常见于护栏、审核等示例(如 gpt-4o-mini)。
C1. 替换 import 语句
# 旧代码
from agno.models.openai import OpenAIChat
# 新代码
import os
from dotenv import load_dotenv
from agno.models.openai import OpenAILike
load_dotenv()
C2. 替换模型配置
# 旧代码
model=OpenAIChat(id="gpt-4o-mini")
# 新代码
model=OpenAILike(
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/coding/paas/v4"),
api_key=os.getenv("MODEL_API_KEY"),
)
注意: 同一文件中若有多个 Agent(...) 或其它使用模型的地方,每一处 model=OpenAIChat(...) 都要替换为上述 OpenAILike 配置。
在项目根目录创建 .env 文件:
MODEL_ID=GLM-4.7
MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4
MODEL_API_KEY=your-api-key-here
检查 .gitignore 包含:
.env
uv add python-dotenv openai sqlalchemy yfinance
如果代码使用了知识库(Knowledge)和向量搜索,需要同时迁移 Embedder。
# 旧代码
from agno.knowledge.embedder.google import GeminiEmbedder
# 新代码
from agno.knowledge.embedder.openai import OpenAIEmbedder
# 旧代码
embedder=GeminiEmbedder(id="gemini-embedding-001")
# 新代码
embedder=OpenAIEmbedder(
id=os.getenv("EMBEDDER_MODEL", "embedding-3"),
api_key=os.getenv("EMBEDDER_API_KEY"),
base_url=os.getenv("EMBEDDER_BASE_URL", "https://open.bigmodel.cn/api/paas/v4/"),
)
添加 Embedder 相关环境变量:
# Agent 模型配置
MODEL_ID=GLM-4.7
MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4
MODEL_API_KEY=your-api-key
# Embedder 配置(用于知识库向量化)
EMBEDDER_MODEL=embedding-3
EMBEDDER_BASE_URL=https://open.bigmodel.cn/api/paas/v4/
EMBEDDER_API_KEY=your-embedder-api-key
注意: Embedder 的 base_url 使用标准端点(paas/v4/),不是 coding 端点。
迁移前:
from agno.knowledge import Knowledge
from agno.knowledge.embedder.google import GeminiEmbedder
from agno.vectordb.chroma import ChromaDb
knowledge = Knowledge(
name="Agno Documentation",
vector_db=ChromaDb(
name="agno_docs",
embedder=GeminiEmbedder(id="gemini-embedding-001"),
),
)
迁移后:
import os
from dotenv import load_dotenv
from agno.knowledge import Knowledge
from agno.knowledge.embedder.openai import OpenAIEmbedder
from agno.vectordb.chroma import ChromaDb
load_dotenv()
knowledge = Knowledge(
name="Agno Documentation",
vector_db=ChromaDb(
name="agno_docs",
embedder=OpenAIEmbedder(
id=os.getenv("EMBEDDER_MODEL", "embedding-3"),
api_key=os.getenv("EMBEDDER_API_KEY"),
base_url=os.getenv("EMBEDDER_BASE_URL", "https://open.bigmodel.cn/api/paas/v4/"),
),
),
)
可用模型:
embedding-3:新一代向量模型(推荐)embedding-2:上一代模型API 端点:
https://open.bigmodel.cn/api/paas/v4/embeddings
向量维度:
Python 3.14 不兼容:
当前 ChromaDB 与 Python 3.14 存在兼容性问题:
pydantic.v1.errors.ConfigError: unable to infer type for attribute "chroma_server_nofile"
解决方案:
受影响文件:
07_agent_search_over_knowledge.py08_custom_tool_for_self_learning.py10_human_in_the_loop.pyfrom agno.agent import Agent
from agno.models.google import Gemini
from agno.tools.yfinance import YFinanceTools
agent = Agent(
name="Finance Agent",
model=Gemini(id="gemini-3-flash-preview"),
tools=[YFinanceTools()],
)
import os
from dotenv import load_dotenv
from agno.agent import Agent
from agno.models.openai import OpenAILike
from agno.tools.yfinance import YFinanceTools
load_dotenv()
agent = Agent(
name="Finance Agent",
model=OpenAILike(
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/coding/paas/v4"),
api_key=os.getenv("MODEL_API_KEY"),
),
tools=[YFinanceTools()],
)
使用 Grep 查找目录中所有使用 Gemini 的文件:
# 查找 import 语句
Grep pattern="from agno.models.google import Gemini" path="00_quickstart"
# 查找模型实例化
Grep pattern="model=Gemini" path="00_quickstart"
输出示例:
00_quickstart/03_agent_with_typed_input_output.py
00_quickstart/05_agent_with_memory.py
00_quickstart/06_agent_with_state_management.py
...
对每个文件执行以下步骤:
A. 替换 import 语句
读取文件头部,找到 import 部分并替换:
# 旧代码(多种变体)
from agno.models.google import Gemini
# 或
from agno.agent import Agent
from agno.models.google import Gemini
from agno.tools.yfinance import YFinanceTools
# 新代码(统一格式)
import os
from dotenv import load_dotenv
from agno.agent import Agent
from agno.models.openai import OpenAILike
from agno.tools.yfinance import YFinanceTools
load_dotenv()
使用 StrReplace 精确替换,保持其他 import 不变。
B. 替换所有模型配置
一个文件可能有多个 Agent/MemoryManager 使用模型,需要全部替换:
# 单个 Agent 的情况
model=Gemini(id="gemini-3-flash-preview")
# 替换为 ↓
model=OpenAILike(
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/paas/v4/"),
api_key=os.getenv("MODEL_API_KEY"),
)
# 多个 Agent 的情况(Team/Workflow)
# 文件中可能有 2-3 个 Agent,每个都需要替换
bull_agent = Agent(model=Gemini(...)) # 第 1 个
bear_agent = Agent(model=Gemini(...)) # 第 2 个
team = Team(model=Gemini(...)) # 第 3 个
重要: 使用 Grep 定位所有 model=Gemini,逐个替换。
多 Agent 文件(Team/Workflow)
文件包含多个 Agent 实例,需要替换所有:
# 示例:11_multi_agent_team.py 有 3 个模型实例
bull_agent = Agent(model=Gemini(...)) # 替换 1
bear_agent = Agent(model=Gemini(...)) # 替换 2
multi_agent_team = Team(model=Gemini(...)) # 替换 3
MemoryManager 模型配置
# 旧代码
memory_manager = MemoryManager(
model=Gemini(id="gemini-3-flash-preview"),
db=agent_db,
)
# 新代码
memory_manager = MemoryManager(
model=OpenAILike(
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/paas/v4/"),
api_key=os.getenv("MODEL_API_KEY"),
),
db=agent_db,
)
推荐分批提交:
# 第 1 批:基础文件(1-4)
git add 00_quickstart/01_agent_with_tools.py \
00_quickstart/02_agent_with_structured_output.py \
00_quickstart/03_agent_with_typed_input_output.py \
00_quickstart/04_agent_with_storage.py
git commit -m "feat: 迁移基础示例文件到 GLM (01-04)"
# 第 2 批:高级特性(5-9)
git add 00_quickstart/05_agent_with_memory.py \
00_quickstart/06_agent_with_state_management.py \
00_quickstart/07_agent_search_over_knowledge.py \
00_quickstart/08_custom_tool_for_self_learning.py \
00_quickstart/09_agent_with_guardrails.py
git commit -m "feat: 迁移高级特性文件到 GLM (05-09)"
# 第 3 批:协作场景(10-12)
git add 00_quickstart/10_human_in_the_loop.py \
00_quickstart/11_multi_agent_team.py \
00_quickstart/12_sequential_workflow.py
git commit -m "feat: 迁移协作场景文件到 GLM (10-12)"
或一次性提交:
git add 00_quickstart/*.py
git commit -m "feat: 批量迁移 00_quickstart 所有文件到 GLM
- 迁移 01-12 所有示例文件到 OpenAILike + GLM-4.7
- 添加 dotenv 环境变量加载
- 统一模型配置方式
- 涵盖:基础、记忆、状态、知识库、工具、护栏、团队、工作流"
文件数量: 12 个 Python 文件
涉及模型实例: 约 20+ 个(包括 Agent、Team、Workflow、MemoryManager)
耗时: 约 15-20 分钟
关键发现:
import 替换模式一致
import os 和 load_dotenv() 是固定操作模型配置位置不同
容易遗漏的地方
Grep 是关键工具
model=Gemini 实例迁移前:
# 1. 查找文件列表(按实际使用的模型类选择)
Grep pattern="from agno.models.google import Gemini" path="target_dir"
Grep pattern="from agno.models.openai import OpenAIResponses" path="target_dir"
Grep pattern="from agno.models.openai import OpenAIChat" path="target_dir"
# 2. 统计需要替换的模型实例数量
Grep pattern="model=Gemini" path="target_dir"
Grep pattern="OpenAIResponses\(id=" path="target_dir"
Grep pattern="OpenAIChat\(id=" path="target_dir"
迁移中:
model=Gemini、OpenAIResponses(id=、OpenAIChat(id= 等)迁移后:
# 验证没有遗漏(按迁移前使用的模型类检查)
Grep pattern="Gemini\(id=" path="target_dir"
Grep pattern="OpenAIResponses\(id=" path="target_dir"
Grep pattern="OpenAIChat\(id=" path="target_dir"
# 以上均应返回:无结果
# 测试运行(可选)
export MODEL_ID=GLM-4.7 \
MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4 \
MODEL_API_KEY=your-key
uv run target_dir/01_sample.py
按复杂度从低到高处理:
简单文件(单 Agent,1 个模型配置)
中等文件(Agent + MemoryManager,2 个配置)
复杂文件(多 Agent,3+ 个配置)
特殊文件(有额外注意事项)
文件数量: 5 个 Python 文件
涉及模型类: 混合使用 OpenAIResponses(id="gpt-5.2") 与 OpenAIChat(id="gpt-4o-mini")
涉及模型实例: 共 8 处(单文件内可能 1~2 个 Agent)
关键发现:
同一目录可能混用多种 OpenAI 模型类
OpenAIResponses 与 OpenAIChat,避免遗漏单文件多实例
pii_detection.py、openai_moderation.py 中有 2 个 Agent(model=...),需全部替换OpenAIChat(id= 或 OpenAIResponses(id= 出现次数,迁移后再次 Grep 确认为 0护栏/审核示例无额外依赖
python-dotenv,无需改 Embedder 或向量库Grep 示例(针对目录):
# 一次性找出目录内所有需迁移的模型
Grep pattern="OpenAIResponses\(id=" path="02_agents/guardrails"
Grep pattern="OpenAIChat\(id=" path="02_agents/guardrails"
GLM-4.7 不支持 output_schema(结构化输出)
output_schema=SomeModel,需要移除或改用 glm-4-flash工具调用(Tool Calling):GLM-4.7 支持,正常工作
流式输出(Stream):支持
多轮对话(History):支持
GLM 模型有两个 API 端点:
# 标准端点(推荐)
base_url="https://open.bigmodel.cn/api/paas/v4/"
# Coding 端点(某些场景)
base_url="https://open.bigmodel.cn/api/coding/paas/v4"
根据实际情况选择。
迁移时通常需要安装:
uv add python-dotenv # 环境变量加载
uv add openai # OpenAI SDK(OpenAILike 依赖)
uv add sqlalchemy # 数据库支持
uv add yfinance # 金融工具(如果使用)
Gemini 或 OpenAIResponses 的 model 配置已替换为 OpenAILikefrom agno.models.openai import OpenAILike(并移除/替换 Gemini 或 OpenAIResponses)dotenv 加载(load_dotenv())MODEL_ID、MODEL_BASE_URL、MODEL_API_KEY).env 文件已创建并配置.env 在 .gitignore 中# 方式 1:使用 .env 文件
uv run path/to/file.py
# 方式 2:直接 export(测试用)
export MODEL_ID=GLM-4.7 \
MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4 \
MODEL_API_KEY=your-key
uv run path/to/file.py
场景: 如 02_agents/culture/01_create_cultural_knowledge.py 使用 OpenAIResponses(id="gpt-5.2"),未使用 Gemini。
做法: 同样迁到 GLM,按「场景 B:从 OpenAIResponses 迁移」处理即可:
from agno.models.openai import OpenAIResponses → from agno.models.openai import OpenAILike(同一模块,只改类名),并加上 import os、load_dotenv、load_dotenv()。model=OpenAIResponses(id="...") → model=OpenAILike(id=os.getenv("MODEL_ID", "GLM-4.7"), base_url=..., api_key=...)。MODEL_ID、MODEL_BASE_URL、MODEL_API_KEY。无需改 Gemini 相关 import,只做上述替换即可。
Error code: 429 - {'error': {'code': '1113', 'message': '余额不足或无可用资源包,请充值。'}}
解决:检查 API key 余额,充值后重试。
排查步骤:
.env 文件中WARNING Failed to parse cleaned JSON: Expecting value: line 1 column 1 (char 0)
WARNING Failed to convert response to output_schema
原因:GLM-4.7 不支持 output_schema,会返回 Markdown 格式而非 JSON。
解决方案:
移除 output_schema 参数(推荐)
agent = Agent(
model=OpenAILike(...),
# output_schema=StockAnalysis, # 删除此行
)
改用文本解析
response = agent.run("分析英伟达")
# response.content 是 Markdown 文本,而非结构化对象
print(response.content)
换用支持结构化输出的模型
glm-4-flash 可能支持(需测试)受影响文件:
02_agent_with_structured_output.py03_agent_with_typed_input_output.pyERROR Model authentication error from OpenAI API: OPENAI_API_KEY not set.
原因:.env 文件未正确加载或环境变量未设置。
解决方案:
检查 .env 文件位置
.env(不是 env.txt 或其他)检查 load_dotenv() 调用
from dotenv import load_dotenv
load_dotenv() # 必须在读取环境变量前调用
手动 export 测试
export MODEL_ID=GLM-4.7
export MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4
export MODEL_API_KEY=your-api-key
uv run file.py
检查依赖是否安装
uv add python-dotenv
问题场景:
解决方案:
使用 Grep 查找所有实例
Grep pattern="model=Gemini" path="file.py"
逐个替换
验证完成
# 再次 Grep,应该无结果
Grep pattern="Gemini\(id=" path="file.py"
实战示例(11_multi_agent_team.py):
# 第 1 个:bull_agent
model=Gemini(id="gemini-3-flash-preview") # 替换
# 第 2 个:bear_agent
model=Gemini(id="gemini-3-flash-preview") # 替换
# 第 3 个:team
model=Gemini(id="gemini-3-flash-preview") # 替换
常见缺失依赖:
# ModuleNotFoundError: No module named 'sqlalchemy'
uv add sqlalchemy
# ModuleNotFoundError: No module named 'openai'
uv add openai
# ModuleNotFoundError: No module named 'yfinance'
uv add yfinance
# ModuleNotFoundError: No module named 'dotenv'
uv add python-dotenv
一次性安装所有:
uv add python-dotenv openai sqlalchemy yfinance
两个端点对比:
| 端点 | URL | 适用场景 |
|---|---|---|
| 标准端点 | https://open.bigmodel.cn/api/paas/v4/ | 通用场景,推荐使用 |
| Coding 端点 | https://open.bigmodel.cn/api/coding/paas/v4 | 代码生成、编程场景 |
实战经验:
配置方式:
# 标准端点
MODEL_BASE_URL=https://open.bigmodel.cn/api/paas/v4/
# Coding 端点
MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4
实测对比(00_quickstart 示例):
| 指标 | Gemini 3 Flash | GLM-4.7 |
|---|---|---|
| 响应速度 | 20-30s | 25-35s |
| 工具调用准确性 | 高 | 高 |
| 中文理解 | 好 | 优秀 |
| 推理质量 | 高 | 高 |
| Token 消耗 | 中等 | 中等 |
关键发现:
问题: MemoryManager 需要单独配置模型,容易遗漏。
正确做法:
# 05_agent_with_memory.py 示例
# MemoryManager 的模型配置(容易遗漏)
memory_manager = MemoryManager(
model=OpenAILike( # 需要替换
id=os.getenv("MODEL_ID", "GLM-4.7"),
base_url=os.getenv("MODEL_BASE_URL", "https://open.bigmodel.cn/api/paas/v4/"),
api_key=os.getenv("MODEL_API_KEY"),
),
db=agent_db,
)
# Agent 的模型配置
agent = Agent(
model=OpenAILike(...), # 也需要替换
memory_manager=memory_manager,
)
检查方法:
# 查找所有 MemoryManager
Grep pattern="MemoryManager" path="file.py"
# 确认其模型配置也已替换
问题: 使用知识库的文件需要同时迁移 Embedder 和 Agent 模型。
完整迁移步骤:
替换 Embedder import
# from agno.knowledge.embedder.google import GeminiEmbedder
from agno.knowledge.embedder.openai import OpenAIEmbedder
替换 Embedder 配置
embedder=OpenAIEmbedder(
id=os.getenv("EMBEDDER_MODEL", "embedding-3"),
api_key=os.getenv("EMBEDDER_API_KEY"),
base_url=os.getenv("EMBEDDER_BASE_URL"),
)
更新 .env 文件
# 添加 Embedder 配置
EMBEDDER_MODEL=embedding-3
EMBEDDER_BASE_URL=https://open.bigmodel.cn/api/paas/v4/
EMBEDDER_API_KEY=your-embedder-key
完整示例(07_agent_search_over_knowledge.py):
knowledge = Knowledge(
vector_db=ChromaDb(
embedder=OpenAIEmbedder(
id=os.getenv("EMBEDDER_MODEL"),
api_key=os.getenv("EMBEDDER_API_KEY"),
base_url=os.getenv("EMBEDDER_BASE_URL"),
),
),
)
agent = Agent(
model=OpenAILike(...), # Agent 模型
knowledge=knowledge,
)
受影响文件:
07_agent_search_over_knowledge.py08_custom_tool_for_self_learning.py10_human_in_the_loop.py错误信息:
pydantic.v1.errors.ConfigError: unable to infer type for attribute "chroma_server_nofile"
原因: ChromaDB 依赖 Pydantic v1,与 Python 3.14 不兼容。
解决方案:
降级 Python 版本(推荐)
# 使用 Python 3.12 或 3.13
pyenv install 3.13.0
pyenv local 3.13.0
改用其他向量数据库
等待 ChromaDB 更新
临时方案:
可以。 实际上,这是推荐的做法。
场景 1:使用相同 API Key
MODEL_API_KEY=shared-key
EMBEDDER_API_KEY=shared-key
场景 2:使用不同 API Key(推荐,便于成本跟踪)
MODEL_API_KEY=agent-model-key # 用于 GLM-4.7 推理
EMBEDDER_API_KEY=embedder-key # 用于 embedding-3 向量化
优势:
Agent 模型端点:
https://open.bigmodel.cn/api/coding/paas/v4 # Coding 端点
Embedder 端点:
https://open.bigmodel.cn/api/paas/v4/ # 标准端点
原因:
配置示例:
MODEL_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4
EMBEDDER_BASE_URL=https://open.bigmodel.cn/api/paas/v4/
注意: Embedder 的 URL 末尾有斜杠 /。
| 特性 | Gemini 3 Flash | GLM-4.7 |
|---|---|---|
| 工具调用 | ✅ | ✅ |
| 结构化输出 | ✅ | ❌ |
| 流式输出 | ✅ | ✅ |
| 多轮对话 | ✅ | ✅ |
| 响应速度 | 快 | 快 |
| 中文支持 | 好 | 优秀 |
如果迁移后出现问题,快速回滚:
还原 import
from agno.models.google import Gemini
还原模型配置
model=Gemini(id="gemini-3-flash-preview")
移除 dotenv
# 删除这两行
from dotenv import load_dotenv
load_dotenv()
安装 Gemini 依赖
uv add google-genai