必须先完成身份认证、构造合规请求体并正确处理响应格式,否则返回401错误或空结果;需在秘塔平台创建应用获取API_KEY,设为环境变量,请求时指定合法mode值,解析时依次检查状态码、answer字段、citations及structured_output。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要用Python调用秘塔AI搜索API获取结构化搜索结果,必须先完成身份认证、构造合规请求体,并正确处理响应格式,否则会返回401错误或空结果。
准备API密钥与基础配置
登录秘塔开发者平台(https://developer.metaso.cn),进入「应用管理」→ 创建新应用 → 复制生成的API_KEY;BASE_URL固定为https://api.metaso.cn/v1,不可替换为官网地址或其他域名。
这一步不能跳过,【未创建应用直接调用会触发全局限流,且无错误提示,仅返回空JSON】。
将API_KEY保存为环境变量更安全:在终端执行export METASO_API_KEY="sk-xxx",或写入.env文件后用python-dotenv加载。
立即学习“Python免费学习笔记(深入)”;
发送基础搜索请求
方法一:使用requests库(推荐新手)
安装依赖:pip install requests。
构造请求:
import requests
import os
headers = {
"Authorization": f"Bearer {os.getenv('METASO_API_KEY')}",
"Content-Type": "application/json"
}
data = {
"query": "对比Llama3和Qwen3在中文长文本理解上的差异",
"mode": "research",
"max_results": 5
}
response = requests.post(
"https://api.metaso.cn/v1/search",
headers=headers,
json=data
)
print(response.json())
注意:mode参数必须是"simple"、"deep"或"research"三者之一,填错会导致响应降级为简洁模式且不报错。
解析并提取有效内容
第一步:检查HTTP状态码是否为200,非200需打印response.text定位问题。
第二步:确认响应中存在"answer"字段,这是AI生成的主答案;若为空,说明查询被拦截或语义未识别,可尝试加限定词如“请用表格对比”。
第三步:提取引用来源——遍历response.json().get("citations", []),每个元素含url、title和snippet,用于溯源验证。
第四步:若需结构化输出(如导出为Markdown),直接取response.json().get("structured_output")字段,该字段仅在mode="research"时稳定返回,其他模式下为null。


















