谷歌的 双子座函数调用 让模型请求工具,这使得双子对于需要当前数据而不是通用市场评论的宏观应用程序有用.到本指南的结束时,您将有一个实用的蓝图,用于构建一个双子应用程序,它会调用FXMacroData来发布日历,指标历史,FX现货环境,COT定位,商品和响应之前的会话状态.
- 开发人员正在建造一个双子座驱动的外汇或宏观研究助理.
- 金融科技团队决定双子座函数调用,REST,MCP,或A2A 是正确的集成边界.
- 需要双子座分析师在回答之前引用当前FXMacroData发布,日历,COT,会议和现货市场背景.
预先要求
- 谷歌人工智能工作室或顶点人工智能的双子座API键.
- 一个为受保护终端点家族的FXMacroData API密钥.
- 后端运行时段, 秘密可以安全存储.
- Python 3.11 或更新的下面的例子.
- 特定的用户工作流程,例如"向我介绍下一个美元事件风险"或"总结EUR/USD宏观背景".
这篇文章的重点是双子座API函数调用,而不是退休的. 在 Google 对话行动中的操作 对于今天的网络,后端或分析助理来说,双子座函数调用是直接的途径.
1. 选择合适的谷歌表面
谷歌有几个类似命名的表面.它们是不可互换的.对于FXMacroData,有用的分割看起来像这样:
| 表面 | 现在使用? | 最好的使用 |
|---|---|---|
| 双子 API 函数调用 | 没有. | 专用应用程序,分析工具,演示程序和后端助理. |
| 顶点人工智能代理构建器 | 评估 | 当本地工具模式运行后, 托管企业原型. |
| 双子座CLI与MCP | 没有. | 开发人员的工作流程可以连接到FXMacroData MCP服务器. |
| Android应用程序操作或应用程序功能 | 后来 | 移动应用程序操作后, 有一个真正的Android应用程序. |
| 在 Google 对话行动中的操作 | 没有 | 退休了,因为我有个独立的"说话与行动"模式. |
其他部分的指南使用双子座API. 其他数据 对于MCP认知客户端,但双子 API应用程序通常需要明确的函数声明和您自己的后端的调度器.
2. 绘制建筑的图
双子应用程序不应该要求模型记住宏值.应用程序应该让双子决定调用哪个数据函数,然后将该函数调用路由到FXMacroData.
"本周欧元/美元的价格有什么重要?"
选择日历,外汇和政策利率功能.
通过服务器端凭证调用FXMacroData.
返回简洁的宏观上下文和链接.
双子座处理解释.FXMacroData提供结构化宏观和外汇数据.您的后端处理凭证,日志和产品护.
3. 开始使用一个用户工作
不要从每一个终点开始. 开始一个交易者或分析师实际使用的工作流程:
Help a user understand the next major USD release, recent inflation context,
and whether EUR/USD has relevant spot-market context.
这种工作流程只需要几个FXMacroData功能:
4. 定义双子函数用于数据调用
双子座函数调用最好是在函数狭窄,明确命名,并且模型很容易选择时. 这里有一个紧的声明:
{
"name": "fxmacro_calendar",
"description": "Fetch the FXMacroData macro release calendar for a currency.",
"parameters": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"description": "Currency code such as usd, eur, gbp, jpy, aud, cad."
}
},
"required": ["currency"]
}
}
添加一个小的起始集而不是一个巨大的目录. 一个强大的第一版本通常需要以下功能:
| 职能 | 终点为FXMacroData | 当用户问... |
|---|---|---|
fxmacro_calendar |
/api/v1/calendar/{currency} |
什么是要发生的? |
fxmacro_announcements |
/api/v1/announcements/{currency}/{indicator} |
对于CPI,GDP,工资或政策利率, |
fxmacro_forex |
/api/v1/forex/{base}/{quote} |
两人怎么走? |
fxmacro_cot |
/api/v1/cot/{currency} |
位置是否拥挤? |
fxmacro_market_sessions |
/api/v1/market_sessions |
哪些外汇会议开放? |
您可以稍后扩展到商品,利率差距,曲线,新闻,央行新闻稿和预测.
5. 保持调度器服务器端
您的调度器是将双子座的函数名称和参数映射到FXMacroData REST调用中的部分. 将此代码存储在后端中,而不是在公共浏览器JavaScript中.
import os
import requests
API_BASE = "https://fxmacrodata.com/api/v1"
def call_fxmacrodata(name, args):
if name == "fxmacro_calendar":
path = f"/calendar/{args['currency'].lower()}"
params = {}
elif name == "fxmacro_forex":
path = f"/forex/{args['base'].lower()}/{args['quote'].lower()}"
params = {k: args[k] for k in ("start_date", "end_date") if k in args}
else:
raise ValueError(f"Unsupported function: {name}")
api_key = os.environ.get("FXMACRODATA_API_KEY")
if api_key:
params["api_key"] = api_key
response = requests.get(f"{API_BASE}{path}", params=params, timeout=30)
response.raise_for_status()
return response.json()
重要细节是凭证处理.公共示例应该显示查询参数模式,但生产双子座应用程序应该从秘密管理器或环境变量读取密钥,永远不要将其放入提示符中.
6. 让双子座请求工具,然后输送结果回来
双子 SDK 的确切代码会因项目而异,但循环的形状是一样的:
from google import genai
from google.genai import types
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
tools = [types.Tool(function_declarations=[calendar_declaration])]
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="Show the next USD releases and explain the EUR/USD risk.",
config=types.GenerateContentConfig(tools=tools),
)
for part in response.candidates[0].content.parts:
if part.function_call:
result = call_fxmacrodata(part.function_call.name, dict(part.function_call.args))
# Send result back as a function response, then ask Gemini to finalize.
在生产中,您将将此卷入一个循环中:接收模型响应,执行任何函数调用,添加函数响应并要求双子公司最终答案. 模型应在尝试相关的FXMacroData工具之前不回答现场宏问题.
7. 添加一个系统指令,使答案保持接地
系统指令应该明确数据等级:
You are a macro research assistant. Use FXMacroData tools before answering
questions about live, recent, historical, calendar, FX, COT, commodity,
or structured macro data. If FXMacroData returns no data, say that clearly.
Do not invent values or timestamps. Keep financial wording informational
and avoid investment advice.
这一指令足够短,足够具体, 阻止最常见的故障模式:一个模型在不检查数据的情况下编写可信的宏观总结.
8. Add REST and MCP paths beside Gemini
一个好的双子座应用程序不需要在每一个工作中使用一个集成表面.直接REST对于决定性拉动仍然更好:
curl "https://fxmacrodata.com/api/v1/announcements/usd/inflation?api_key=YOUR_API_KEY"
当主机已经支持MCP发现时,MCP更好.例如,兼容的本地客户端可以指向:
{
"servers": {
"FXMacroData": {
"type": "http",
"url": "https://fxmacrodata.com/mcp"
}
}
}
A2A是另一层.MCP将代理或模型主机连接到工具和数据资源.A2A将独立的代理连接在一起,通常当一个代理需要发现,发送消息或委托工作给另一个代理服务时.FXMacroData首先属于数据/工具层;A2 A包装只有在您稍后将专门的FXMacrData研究代理暴露给其他代理来调用时才会变得有用.
| 图案 | 谁使用它? | 它们可以用于FXMacroData, |
|---|---|---|
| 其他应用程序 | 您的应用程序后端 | 应用程序已经知道要打电话给哪个终端. |
| 美国 | 具有MCP意识的工具和编码代理 | 主机可以从远程MCP服务器中发现FXMacroData工具. |
| 双子座函数调用 | 你的双子应用程序运行时间 | 双子座应在回答时选择一个狭窄的宏观数据函数. |
| A2A | 独立代理服务 | 您暴露或消耗一个完整的远程代理, 不仅仅是数据终点. |
当您自己构建 Gemini 应用程序时使用 Gemini函数调用.当主机已经知道如何连接到远程 MCP 服务器时使用 MCP.当应用程序确切知道要调用哪个终端时使用 REST.只有当集成边界是代理到代理,而不是应用到数据时使用 A2A.
9. 建立一个实用的第一屏幕
最快的有用产品不是一个空白的聊天框.
- 货币选择器:美元,欧元,英,日元,澳元,加元.
- 选择对:欧元/美元,美元/日元,英/美元.
- 行动按: "下一个发布", "最新通货膨胀", "政策利率背景", "定位检查".
- 工具调用审核的答案面板:使用了哪些FXMacroData函数.
- 链接到相关的仪表板或文档页面进行手动检查.
这给了双子座一个有限的任务,给了用户一个可审核的答案. 商品 对于商品货币,加上 外汇会议 对于时间背景,然后添加中央银行新闻稿,以便解释政策.
10. 生产检查表
- 存储
GEMINI_API_KEY现在我FXMACRODATA_API_KEY只有服务器端. - 记录工具名称,参数和响应状态,而无需记录原始密钥.
- 返回"数据不可用", 而不是让双子座填补空白.
- 显示用户的FXMacroData调用支持了答案.
- 区分宏观环境与交易建议.
- 缓存稳定的调用,如有必要.
- 保持生产URL上的公共示例.
常见问题
双子座可以使用FXMacroData吗?
是的. Gemini 应用程序可以将 FXMacroData REST 终点作为函数声明,从服务器端调用这些函数,并将返回的宏数据返回 Gemini 以获得接地答案.
如何最快地使用FXMacroData构建双子公司应用程序?
声明一个小组的双子函数,通过后端调度器执行它们,使用服务器端凭证调用FXMacroData REST终端,并在最终答案写入之前将宏数据返回双子.
这与MCP集成相同吗?
没有.当主机已经支持远程MCP服务器时,MCP最好.当你自己构建一个双子应用程序并且需要明确的函数声明以及调度器时.
这与A2A有什么不同?
A2A是独立代理服务之间的通信.FXMacroData上的双子应用程序通常通过REST,MCP或双子函数调用开始应用程序到数据访问,而不是代理到代理代表.
你需要安卓应用程序吗?
否.您可以在没有Android的情况下构建有用的双子 API应用程序.如果FXMacroData发行真正的Android应用程序,Android应用操作或应用程序功能将在以后变得相关.
来源和实施参考
本指南中的实现模式基于下面的公开 Gemini,FXMacroData 和代理协议文档:
- 双子 API 函数调用文档 对于工具声明和函数响应.
- 在 Google 对话行动日落通知上的行动 对于为什么旧的Google Actions路径不是正确的目标.
- 代理2代理协议文件 for the agent-to-agent boundary described in the REST/MCP/Gemini/A2A comparison.
- 根据FXMacroData REST API 的文档 对于终端认证和生产API路径.
- 汇率数据 MCP 服务器文档 对于能够使用MCP的客户端和远程工具发现.
相关的FXMacroData指南
本文是FXMacroData AI集成集群的一部分. 当您需要不同的主机,协议或实现路径时,请使用以下辅助指南:
- 为FXMacroData构建一个MCP客户端 如果您的主机支持远程MCP工具.
- 汇率数据 MCP 服务器文档 对于常规服务器终端点和VS Code样式配置.
- 使用FXMacroData构建一个ChatGPT自定义GPT 当目标表面是ChatGPT而不是双子星时.
- 使用FXMacroData终端和身份验证 对于调度器使用的 REST API 凭证模式.
- 使用FXMacroData与谷歌应用程序脚本和谷歌表格 对于不需要 Gemini 的 Google 工作空间工作流程.
你所建立的
现在你有了FXMacroData的顶部 Gemini应用程序的核心模式:定义一个小组的 Gemini 函数,将调度器保留在后端,将工具调用到生产 FXMacro Data REST 终端,并将返回的数据返回 Gemini 以获得一个接地答案.
接下来的有用步骤是选择一个工作流程,例如"每日美元事件风险"或"EUR/USD宏观简报",在添加更多工具之前,将其端到端构建.一个狭窄,可靠的双子星应用程序将击败产生不确定的答案的广泛工具列表.