如何使用 Node.js 创建 Google Gemini AI 聊天机器人

发布: (2026年1月13日 GMT+8 17:36)
4 分钟阅读
原文: Dev.to

Source: Dev.to

Google Gemini 使用 Node.js 创建 AI 聊天机器人的封面图片

AI 聊天机器人已经不再令人惊艳。有用的才值得关注。

如果你今天要构建一个聊天机器人,你的目标不应该是“连接 LLM 并返回文本”。正确的目标应该是:

“如何构建一个能够理解用户、记住上下文并且能够干净扩展的聊天机器人?”

在本指南中,你将使用 Google GeminiNode.js 构建一个可投产的 AI 聊天机器人,并了解每一步为何重要。

为什么选择 Google Gemini?

Gemini 非常适合真实场景下的聊天机器人,因为它具备:

  • 长上下文窗口
  • 快速响应(Gemini Flash)
  • 强大的推理能力
  • 多模态输入(文本、图像、工具)

适用场景

  • SaaS 副驾驶
  • 客服机器人
  • 内部 AI 助手

架构

客户端 → Node.js API → Gemini → 响应

核心原则

  • 保持提示语简洁
  • 有意注入上下文
  • 存储对话历史
  • 将系统指令与用户输入分离

步骤 1:项目初始化

npm init -y
npm install express dotenv @google/generative-ai

创建 .env 文件:

GEMINI_API_KEY=your_api_key_here

步骤 2:在 Node.js 中初始化 Gemini

import express from "express";
import dotenv from "dotenv";
import { GoogleGenerativeAI } from "@google/generative-ai";

dotenv.config();

const app = express();
app.use(express.json());

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);

步骤 3:定义系统指令(关键步骤)

大多数聊天机器人失败的原因是跳过了这一步。

const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  systemInstruction: `
You are a helpful AI assistant.
Respond clearly, accurately, and concisely.
Ask follow‑up questions when needed.
`,
});

系统指令 = 个性 + 边界 + 清晰度。

步骤 4:添加对话记忆

如果没有记忆,聊天机器人会在每条消息后重置。

let chatHistory = [];

app.post("/chat", async (req, res) => {
  const userMessage = req.body.message;

  chatHistory.push({
    role: "user",
    parts: [{ text: userMessage }],
  });

  const chat = model.startChat({ history: chatHistory });
  const result = await chat.sendMessage(userMessage);
  const reply = result.response.text();

  chatHistory.push({
    role: "model",
    parts: [{ text: reply }],
  });

  res.json({ reply });
});

现在你的聊天机器人:

  • 记住上下文
  • 回答保持一致
  • 具备对话感

步骤 5:注入动态上下文(专业人士的做法)

通过注入运行时上下文可以显著提升输出质量。

const dynamicContext = `
User role: SaaS Founder
Product stage: MVP
Goal: Reduce support tickets
`;

const chat = model.startChat({
  history: [
    { role: "user", parts: [{ text: dynamicContext }] },
    ...chatHistory,
  ],
});

这样得到的回复 更具体,而非千篇一律

常见错误需避免

  • ❌ 过度堆砌提示
  • ❌ 没有记忆处理
  • ❌ 混合系统指令和用户输入
  • ❌ 将聊天机器人视为无状态

何时使用 Gemini Flash 与 Pro

Gemini 模型对比图

结语

一个优秀的 AI 聊天机器人并非靠巧妙的提示语。关键在于:

  • 上下文
  • 记忆
  • 意图
  • 干净的架构

Gemini + Node.js 为你提供了构建可扩展、智能聊天机器人的全部构件——从实时对话到生产级 AI 助手。

Back to Blog

相关文章

阅读更多 »