使用Vertex AI Node.js时‘filePart’引发类型错误,请求排查
问题分析与修正
你遇到的类型错误是因为请求结构不符合Google Generative AI SDK的TypeScript类型定义,具体问题和修正方式如下:
核心错误点
你的代码中filePart使用了下划线分隔的inline_data字段,但SDK的Part类型定义里,内嵌数据的字段名是驼峰式的inlineData,这导致TypeScript无法将你的对象识别为合法的Part类型,进而整个请求对象不匹配GenerateContentRequest类型。
修正后的代码
const base64File = await getFileAsBase64("src/testt.jpg"); console.log(base64File); // 修正字段名为inlineData(驼峰式) const filePart = { inlineData: { data: base64File, mimeType: "image/jpeg", }, }; const textPart = { text: ` exampleeee `, }; // 若需要更严格的类型检查,可显式指定类型 // import { GenerateContentRequest, Part } from "@google/generative-ai"; // const request: GenerateContentRequest = { ... }; const request = { contents: [{ role: "user", parts: [textPart, filePart] }], }; const resp = await generativeModel.generateContent(request);
额外说明
如果修正后仍有类型提示问题,可以显式导入SDK提供的GenerateContentRequest和Part类型,给变量加上类型注解,帮助TypeScript正确推断类型。
内容的提问来源于stack exchange,提问作者chichi
相关产品推荐
相关产品推荐

