You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js环境下Gemini AI集成history参数报错求助

Gemini Node.js SDK history参数错误排查

问题现象

  • 复制Gemini官方文档代码到Node.js服务器后,使用history参数触发错误,将history设为null时操作可正常执行
  • 错误提示:{"error": "Cannot use 'in' operator to search for 'text' in H"}

出错代码片段

history: [
  {
    role: "user",
    parts: : "Hello, I have 2 dogs in my house.",
  },
  {
    role: "model",
    parts: "Great to meet you. What would you like to know?",
  },
],
generationConfig: {
  maxOutputTokens: 100,
},

错误栈信息

TypeError: Cannot use 'in' operator to search for 'text' in H
    at validateChatHistory (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\@google\generative-ai\dist\index.js:760:25)
    at new ChatSession (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\@google\generative-ai\dist\index.js:816:13)
    at GenerativeModel.startChat (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\@google\generative-ai\dist\index.js:1035:16)
    at C:\myprojects\chat_app_generativeai_dartfrog\server\routes\chat.js:21:22
    at Layer.handle [as handle_request] (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\express\lib\router\route.js:149:13)
    at Route.dispatch (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\express\lib\router\route.js:119:3)
    at Layer.handle [as handle_request] (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\express\lib\router\layer.js:95:5)
    at C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\express\lib\router\index.js:284:15
    at Function.process_params (C:\myprojects\chat_app_generativeai_dartfrog\server\node_modules\express\lib\router\index.js:346:12)

解决方法

  1. 修复语法错误:代码中parts: : "Hello..."多了一个冒号,这是JS语法错误,导致SDK无法正确解析parts字段,进而在校验聊天历史时抛出异常。修正后去掉多余的冒号即可。
  2. 确认parts格式合规:Gemini SDK允许parts直接传字符串,或者传包含text字段的对象数组,两种格式都能正常识别。

修正后的代码(字符串格式)

history: [
  {
    role: "user",
    parts: "Hello, I have 2 dogs in my house.",
  },
  {
    role: "model",
    parts: "Great to meet you. What would you like to know?",
  },
],
generationConfig: {
  maxOutputTokens: 100,
},

修正后的代码(对象数组格式)

history: [
  {
    role: "user",
    parts: [{ text: "Hello, I have 2 dogs in my house." }],
  },
  {
    role: "model",
    parts: [{ text: "Great to meet you. What would you like to know?" }],
  },
],
generationConfig: {
  maxOutputTokens: 100,
},

内容的提问来源于stack exchange,提问作者sina zp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:58:26