Token导航 LogoToken导航TokenDH.com
Gap SDK Testing Gemini logo
地图位置未说明官方级别未说明来源级核验

Gap SDK Testing Gemini

MCP Server

基于Google Gemini SDK的农业AI代理测试框架,支持结构化数据分析和MCP服务器集成,适用于多语言农业咨询和天气预测测试场景。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
测试框架JavaScript结构化数据

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

eagleisbatman

提供方

eagleisbatman

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🤖 GAP SDK测试-谷歌Gemini

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org) ![Gemini](https://ai.google.dev/gemini-api/docs) ![MCP](https://modelcontextprotocol.io)

使用Google Gemini SDK的农业人工智能代理高级测试框架,具有原生结构化数据支持和模型上下文协议(MCP)集成。TomorrowNow全球接入平台(GAP)生态系统的一部分。

______________________________________________________________________

🎯 概述

该测试框架利用Google Gemini 2.5 Flash的结构化数据功能,通过增强的数据提取和分析来测试农业人工智能代理。它与OpenAI SDK版本一起提供并行测试功能,用于全面的代理评估。

主要特点

  • 谷歌Gemini SDK:与本地集成 @google/generative-ai
  • 结构化数据支持:Gemini的原生结构化输出能力
  • 函数调用:高级工具调用 FunctionCallingConfigMode
  • MCP服务器集成:与GAP和AccuWeather MCP服务器无缝集成
  • 批量测试:通过自动结果收集运行数百个查询
  • 意图分类:100%覆盖率,自动意图检测
  • 多语言支持:英语和斯瓦希里语查询测试
  • 护栏:审核、越狱检测、PII检测(通过OpenAI)
  • 对话历史:在多回合对话中保持上下文
  • Excel导出:详细的结果,包括指标和分析

______________________________________________________________________

✨ 特性

Gemini特有优势

特性描述优点
结构化数据原生结构化输出支持更好的数据提取和分析
函数调用高级工具调用模式更可靠的工具调用
快速响应Gemini 2.5 Flash优化更低的延迟,经济高效
多模态文本+图像支持(未来)增强功能

测试能力

  • 批量测试:每种语言运行5、10、100+个查询
  • 意图分类:100%覆盖要求
  • 语言检测:英语/斯瓦希里语检测
  • 工具调用跟踪:监控MCP服务器呼叫成功率
  • 护栏测试:安全和适度过滤器
  • 性能指标:响应时间、成功率跟踪
  • Excel报表:综合测试结果导出

______________________________________________________________________

🚀 快速开始

先决条件

  • Node.js>=18.0.0
  • Google Gemini API密钥(在这里买一个)
  • OpenAI API密钥(用于护栏)
  • 已部署MCP服务器(GAP或AccuWeather)

安装

# Clone the repository
git clone https://github.com/eagleisbatman/gap-sdk-testing-gemini.git
cd gap-sdk-testing-gemini

# Install dependencies
npm install

配置

创建一个 .env 文件:

# Required: Google Gemini API Key
GEMINI_API_KEY=your_gemini_api_key_here

# Required: OpenAI API Key (for guardrails)
OPENAI_API_KEY=sk-your-openai-api-key-here

# MCP Server Configuration (choose one)
# Option 1: Use GAP MCP Server (default)
MCP_SERVER_TYPE=GAP
GAP_MCP_URL=https://gap-agriculture-mcp-server.up.railway.app/mcp

# Option 2: Use AccuWeather MCP Server
# MCP_SERVER_TYPE=ACCUWEATHER
# ACCUWEATHER_MCP_URL=https://accuweather-mcp-server.up.railway.app/mcp

运行测试

# Test with 5 queries per language (default)
npm test

# Test with 10 queries per language
npm run test:10

# Test with 100 queries per language
npm run test:100

# Custom number of queries
node batch-test-sdk.js --queries=50

______________________________________________________________________

📊 测试结果

结果会自动保存到 test-results/ 带有时间戳的文件夹:

test-results/gap-sdk-test-results-YYYY-MM-DD-HHMMSS.xlsx

Excel报表内容

  • 查询详细信息:原始查询、检测到的语言、意图分类
  • 响应分析:代理响应、工具调用、MCP数据检索
  • 性能指标:处理时间、成功/失败状态
  • 护栏结果:适度标记、PII检测
  • 概要统计:成功率、工具调用率、语言分布
  • 结构化数据:从答复中提取结构化信息

______________________________________________________________________

🔧 建筑

User Query
    ↓
Intent Classifier (intent-classifier.js)
    ↓
Guardrails (utils/guardrails.js) [OpenAI]
    ↓
Gemini Agent (utils/gemini-agent.js)
    ↓
Function Calling (utils/gemini-mcp-tool.js)
    ↓
MCP Tool Call Execution
    ↓
MCP Server (GAP/AccuWeather)
    ↓
Response Processing with Structured Data
    ↓
Excel Export (utils/excel-utils.js)

关键组件

  • batch-test-sdk.js -主测试编排脚本
  • intent-classifier.js -意图检测和语言分类
  • utils/process-query.js -个人查询处理逻辑
  • utils/gemini-agent.js -Gemini客户端和内容生成
  • utils/gemini-mcp-tool.js -MCP工具声明和执行
  • utils/guardrails.js -安全检查(使用OpenAI API)
  • utils/excel-utils.js -结果导出和分析

______________________________________________________________________

🆚 与OpenAI版本的差异

特性OpenAI SDKGemini SDK
模型GPT-4o双子座2.5闪光灯
结构化数据有限本地支持
函数调用Agent Builder手动执行
工具执行自动手动,带响应处理
成本较高较低
速度中等更快
护栏内置使用OpenAI API

结构化数据优势

Gemini的结构化数据支持能够:

  • 更好地提取天气参数
  • 更可靠的意图分类
  • 增强的数据分析能力
  • 提高响应一致性

______________________________________________________________________

📈 用法示例

基本测试

# Run default test (5 queries per language)
npm test

大规模测试

# Run 100 queries per language (200 total)
npm run test:100

并行测试

同时运行OpenAI和Gemini版本:

# From parent directory
node compare-sdks.js --queries=10

______________________________________________________________________

🧪 测试场景

天气预报查询

  • “未来5天的天气预报是什么?”
  • “明天会下雨吗?”
  • “温度会是多少?”

农业咨询

  • “我现在应该种玉米吗?”
  • “我什么时候灌溉庄稼?”
  • “现在是施肥的好时机吗?”

多语言支持

  • L1:“天气预报怎么说?”
  • “明天天气怎么样?”

______________________________________________________________________

📊 性能指标

该框架跟踪:

  • 成功率:成功查询的百分比
  • 工具调用率:触发MCP工具的查询百分比
  • 数据检索率:成功检索MCP数据的百分比
  • 平均响应时间:每次查询的平均处理时间
  • 意图分类准确性:正确的意图检测率
  • 语言检测精度:正确的语言识别
  • 结构化数据提取率:结构化输出解析的成功率

______________________________________________________________________

🔒 护栏

审核(通过OpenAI)

  • 通过OpenAI审核API进行内容审核
  • 自动屏蔽不适当的内容
  • 为被阻止的查询生成安全的响应

越狱检测

  • 检测快速注射企图
  • 防止系统提示操作
  • 安全处理对抗性输入

PII检测

  • 个人信息检测
  • 敏感数据匿名化
  • 隐私保护响应

注: 护栏使用OpenAI API,即使主代理使用Gemini。

______________________________________________________________________

🔌 MCP服务器集成

GAP农业MCP服务器

默认配置:

MCP_SERVER_TYPE=GAP
GAP_MCP_URL=https://gap-agriculture-mcp-server.up.railway.app/mcp

工具: get_gap_weather_forecast

新闻报道: 肯尼亚和东非

AccuWeather MCP服务器

配置:

MCP_SERVER_TYPE=ACCUWEATHER
ACCUWEATHER_MCP_URL=https://accuweather-mcp-server.up.railway.app/mcp

工具:

  • get_accuweather_weather_forecast -5天预报
  • get_accuweather_current_conditions -当前天气

新闻报道: 全球

______________________________________________________________________

🛠️ 发展

项目结构

gap-sdk-testing-gemini/
├── batch-test-sdk.js              # Main test script
├── intent-classifier.js           # Intent detection
├── intents.json                  # Intent definitions
├── utils/
│   ├── process-query.js          # Query processing
│   ├── gemini-agent.js          # Gemini client
│   ├── gemini-mcp-tool.js       # MCP tool integration
│   ├── guardrails.js            # Safety checks
│   ├── excel-utils.js           # Excel export
│   └── config.js               # Configuration
└── test-results/                # Generated reports

添加新查询

编辑 utils/query-loader.js 添加新的测试查询。

自定义提示

修改 utils/prompt-template.js 用于代理行为变化。

______________________________________________________________________

📊 对比测试

这个Gemini版本可以与OpenAI版本并行运行:

# From parent directory
node compare-sdks.js --queries=10

这使得:

  • 并排性能比较
  • 成本分析
  • 响应质量评估
  • 工具调用成功率比较

______________________________________________________________________

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 为新功能添加测试
  4. 确保所有测试通过
  5. 提交拉取请求

______________________________________________________________________

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

______________________________________________________________________

🔗 相关项目

______________________________________________________________________

📞 支持

______________________________________________________________________

内置于❤️ TomorrowNow全球接入平台

目录标签

目录标签

测试框架JavaScript结构化数据农业AI本地部署多语言支持天气预测

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP