尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ToolJet 集成 Google Gemini 插件指南:文本生成与智能对话实操

ToolJet 集成 Google Gemini 插件指南:文本生成与智能对话实操 ToolJet 集成 Google Gemini 插件指南文本生成与智能对话实操【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet本篇指南聚焦 ToolJet 开源仓库中官方提供的 Gemini 数据源插件marketplace/plugins/gemini完整讲解如何在 ToolJet 中接入 Google Gemini构建具备上下文感知能力的智能聊天机器人或创意文本生成能力。读完本文你将掌握 Gemini 插件的连接配置、Text Generation 与 Chat 两种核心操作的全部参数用法并能结合源码理解其底层调用原理与参数约束。Gemini 插件能做什么Google Gemini 是一个多模态大模型系列。ToolJet 将其封装为类型为ai的市场化插件用于在内部工具、业务应用与工作流中基于 Prompt、System Instructions 和模型参数生成定制化文本内容通过对话式交互维护多轮上下文构建智能客服、知识问答等聊天机器人场景。插件的数据源类型为geminikind标识为gemini类型为ai见 manifest.json。它依赖google/generative-ai官方 SDK 与tooljet-marketplace/common公共包通过标准的 QueryService 接口与 ToolJet 查询引擎对接见 package.json。连接配置创建 Gemini 数据源要在 ToolJet 中使用 Gemini首先需要创建一个数据源并完成连接在 Google AI Studio 中生成API Key该 Key 在创建 Gemini 数据源时唯一必需的凭据。在 ToolJet 左侧导航栏进入「数据源」选择Gemini。将 API Key 粘贴到API Key输入框中并保存数据源。从源码看连接层非常轻量getConnection直接以apiKey构造new GoogleGenerativeAI(apiKey)客户端实例若缺少 API Key 会抛出QueryError错误信息为 API key is missing见 index.ts。凭据安全与表单校验连接表单的行为完全由插件清单 manifest.json 驱动apiKey为字符串类型required数组中声明为必填未填写时前端会阻止提交tj:encrypted数组将apiKey标记为加密字段存储时会被加密处理UI 层通过tj:ui:properties将该字段渲染为password-v3密码控件输入时内容会被掩码避免屏幕窥视泄露密钥。连接测试testConnection方法见 index.ts会使用默认参数实际发起一次文本生成请求来验证 Key 的有效性模型固定为gemini-2.0-flash系统提示为Test system promptPrompt 为This is a test prompt to generate some text.并设置max_tokens: 100、temperature: 0.7。请求失败时会把错误信息连同状态码包装为QueryError返回方便在界面中定位问题。核心参数说明Gemini 插件的参数定义位于 operations.jsonTypeScript 类型定义见 types.ts。所有查询共用的参数如下参数类型必填说明operation下拉选择是选择执行的操作取值为text_generationText Generation或chatChat默认text_generationmodel下拉选择是指定使用的 Gemini 模型默认models/gemini-1.5-flashsystem_prompt代码编辑器否系统提示词用于定义模型的角色、语气与行为约束max_tokens代码编辑器否限制响应中生成的最大 token 数量占位符为1000temperature代码编辑器否控制响应随机性/创造性占位符为0.1prompt、user_prompt、history三个参数按操作类型区分详见下文。参数边界与默认值源码级注意文档中描述的 Temperature 取值范围01、默认 1与当前仓库源码的实现存在差异。在 query_operations.ts 中getMaxTokens若传入值为字符串会先做parseInt解析解析失败NaN时回退为1000合法值会被钳制在1到4096之间getTemperature若传入值为字符串会先做parseFloat解析解析失败时回退为0.1合法值会被钳制在0到1之间。也就是说温度参数实际接受[0, 1]区间的数值超出区间会被自动收敛到边界值。如果你的查询返回了意外的随机性水平可以优先检查填入的 temperature 与 max_tokens 是否落在上述区间内。可用模型清单operations.json中model下拉列表当前提供的模型如下带 Deprecated 标记的为已弃用模型新增应用建议优先选择新模型模型值显示名称状态models/gemini-3-pro-previewGemini 3 Pro Preview可用models/gemini-3-flash-previewGemini 3 Flash Preview可用models/gemini-2.5-proGemini 2.5 Pro可用models/gemini-2.5-flashGemini 2.5 Flash可用models/gemini-2.5-flash-liteGemini 2.5 Flash Lite可用models/gemini-2.0-flashGemini 2.0 Flash可用models/gemini-2.0-flash-liteGemini 2.0 Flash Lite可用models/gemini-2.0-flash-expGemini 2.0 Flash ExpDeprecatedmodels/gemini-1.5-flashGemini 1.5 FlashDeprecatedmodels/gemini-1.5-flash-8bGemini 1.5 Flash-8BDeprecatedmodels/gemini-1.5-proGemini 1.5 ProDeprecated操作一Text Generation文本生成Text Generation 用于基于 Prompt、系统指令与模型设置生成文本为给定的上下文提供针对性的信息或解释。适合知识问答、内容创作、报告草拟等单轮生成场景。必填参数Model指定用于生成响应的 Gemini 模型取值见上表。Prompt主要的用户输入是生成响应的核心内容。在operations.json中该字段被标记为mandatory: true且在 query_operations.ts 中有前置校验——Prompt 缺失时直接返回Prompt is required for text generation.错误状态码 400。可选参数System Prompt预定义指令用于引导模型的语气与行为例如You are a Financial advisor working in a Fortune 500 companyMax Tokens限制响应中的最大 token 数Temperature定义响应的随机程度取值为 01仓库实现中默认 0.1详见上文参数边界说明。底层调用链Text Generation 操作在 query_operations.ts 中实现。插件先通过geminiClient.getGenerativeModel({ model, systemInstruction })创建带系统指令的生成模型实例再调用generateContent把用户 Prompt 包装为role: user的contents消息最后将maxOutputTokens与temperature写入generationConfig发送给 Gemini API。响应为空时返回No output received。响应示例摘录自官方文档以「ToolJet 如何连接数据库」为 Prompt 时模型会生成包含步骤说明的结构化回答例如先选择数据库类型PostgreSQL、MySQL、SQLite、MongoDB再完成数据库服务器配置、创建用户账号与权限SELECT、INSERT、UPDATE、DELETE最后在 ToolJet 中填入连接信息并测试连接。操作二Chat对话Chat 操作模拟聊天式对话模型基于给定的提示与指令进行上下文相关的回答保持流畅的对话节奏。适合构建客服机器人、助手应用等多轮交互场景。必填参数Model指定对话使用的 Gemini 模型User Prompt用户提出的问题或请求模型将对此作出响应。在 query_operations.ts 中缺失时会返回User prompt is required for chat.错误状态码 400。可选参数System Prompt为模型提供期望的回复风格与类型指引History追踪此前交互记录以维持对话上下文。它接收一个 JSON 数组字符串格式如下来源operations.json中的占位符[ { role: user, parts: [{ text: Hello }] }, { role: model, parts: [{ text: Great to meet you. What would you like to know? }] } ]Max Tokens限制响应中的最大 token 数Temperature定义响应随机性01仓库实现默认 0.1。底层调用链Chat 操作在 query_operations.ts 中实现。插件使用同一个带systemInstruction的生成模型调用startChat({ history, generationConfig })建立会话history通过JSON.parse解析为对话记录数组随后调用chat.sendMessage(user_prompt)发送当前消息并返回模型回复文本。这意味着你可以在 ToolJet 中把之前几轮的对话内容作为history传入实现真正意义上的多轮上下文保持。响应示例摘录自官方文档以「如何在 ToolJet 中集成 API」为对话问题时模型会先引导梳理 API 的认证方式API Key、OAuth 2.0、Basic Auth 等、端点与 HTTP 方法GET、POST、PUT、DELETE、请求参数与响应格式JSON/XML再给出在 ToolJet 中的集成步骤。查询执行与错误处理机制当你在查询编辑器中运行上述任一操作时请求会进入 index.ts 的run方法根据queryOptions.operation分发到generateText或chat成功后返回{ status: ok, data: { text } }结构的结果对象失败时捕获异常并解析错误信息提取requestId、errorType、statusCode等细节如error.response?.data?.error?.message统一包装为QueryError(Query could not be completed, errorMessage, errorDetails)抛出。这意味着你在 ToolJet 中看到的错误提示会尽量还原 Gemini API 的原始错误码与说明便于排查 Key 失效、配额不足或模型不可用等问题。插件当前仅内置 Text Generation 与 Chat 两种操作枚举定义见 types.ts其他操作会返回Invalid operation错误。在应用中使用 Gemini 查询完成数据源连接后即可在应用编辑器中按以下流程使用打开应用编辑器新建查询选择已连接的 Gemini 数据源在Operation下拉框中选择 Text Generation 或 Chat选择模型填写 Prompt或 User Prompt按需配置 System Prompt、Max Tokens、TemperatureChat 操作还可传入 History运行查询并绑定查询结果{{queries.geminiQuery.data.text}}到文本框、Markdown 等组件上即可把 AI 能力嵌入内部工具界面也可以通过触发器、事件处理器与表单组件联动让用户输入实时驱动 AI 查询。总结ToolJet 的 Gemini 插件以极低的接入成本为低代码应用注入了生成式 AI 能力只需一个 API Key 即可完成连接Text Generation 与 Chat 两种操作覆盖了单轮文本生成与多轮对话两大核心场景。在搭配源码阅读时你可以更精准地掌握参数边界如 temperature 实际被钳制在 01、max_tokens 被钳制在 14096与错误处理行为从而在真实业务中写出更稳定、更可控的 AI 查询。相关实现与测试可继续查阅 marketplace/plugins/gemini 目录官方文档原文见 docs/docs/marketplace/plugins/gemini.md。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表