10 分钟内构建人工智能应用程序:分步指南

Gemini
Nodejs
AI
指南
10 分钟内构建人工智能应用程序:分步指南 cover image

自从 ChatGPT 和 Google Gemini 出现以来,我们已经看到许多应用程序利用这些模型启动。这种技术被称为套利,这种方法采用人工智能可以完成的多项任务之一,通过有效的提示对其进行增强,然后将其作为一项功能提供给客户。

本文将逐步指导如何将 Google Gemini 模型集成到我们的 Node.js 应用程序中。我们将了解如何使用处理生成文本的 Gemini-pro 和处理图像的 Gemini-pro-vision

我们将首先设置项目,然后在我们自己的示例中使用它。

## 要求

## 入门

首先,在空文件夹中创建一个新的 Node.js 项目:

mkdir gemini-node  
cd gemini-node
npm init -y

现在,我们将安装环境文件和 Gemini SDK 所需的包:

npm install dotenv @google/generative-ai

API 密钥设置

在您的 Google AI Platform 上,单击 获取 API 密钥 按钮以获取 API 密钥,然后将其保存到根目录中的环境文件 (.env) 中:

API_KEY=YOUR_GEMINI_KEY

创建一个新的 lib 文件夹并在其中创建一个 config.js 文件,然后在下一步中,我们将导出我们的 API 密钥:

const  dotenv  =  require("dotenv");
dotenv.config();

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK 设置

在此步骤中,我们将设置模型,以便可以在代码中使用它们。在我们的 lib 文件夹中,我们创建 2 个文件,gemini.js 用于处理文本,gemini-vision.js 用于处理图像。

1- 谷歌双子座专业版

const { GoogleGenerativeAI } = require("@google/generative-ai");
const { API_KEY } = require("./config");

const googleAI = new GoogleGenerativeAI(API_KEY);
const geminiConfig = {
  temperature: 0.9,
  topP: 1,
  topK: 1,
  maxOutputTokens: 4096,
};

const geminiModel = googleAI.getGenerativeModel({
  model: "gemini-pro",
  geminiConfig,
});

const generateText = async (prompt) => {
  try {
    const result = await geminiModel.generateContent(prompt);
    const response = result.response;
    return response.text();
  } catch (error) {
    console.log("response error", error);
  }
};

module.exports = { generateText };

我们将使用导出的函数根据提示生成文本。我们可以用它来构建聊天系统、文本翻译和更多用例。

2- 谷歌双子座愿景

const { GoogleGenerativeAI } = require("@google/generative-ai");
const { API_KEY } = require("./config");
const fs = require("fs");

const googleAI = new GoogleGenerativeAI(API_KEY);
const geminiConfig = {
  temperature: 0.4,
  topP: 1,
  topK: 32,
  maxOutputTokens: 4096,
};

const geminiModel = googleAI.getGenerativeModel({
  model: "gemini-pro-vision",
  geminiConfig,
});

const interactWithImage = async (filePath) => {
  try {
    const imageFile = fs.readFileSync(filePath);
    const imageBase64 = imageFile.toString("base64");

    const promptConfig = [
      { text: "Generate a caption from this image" },
      {
        inlineData: {
          mimeType: "image/jpeg",
          data: imageBase64,
        },
      },
    ];

    const result = await geminiModel.generateContent({
      contents: [{ role: "user", parts: promptConfig }],
    });

    return result.response.text();
  } catch (error) {
    console.log("response error", error);
  }
};

module.exports = { interactWithImage };

我们将使用导出的函数从图像生成文本。

构建应用程序

创建一个新的 index.js 文件并粘贴以下代码:

const main = async () => {
  console.log("Hello world!");
};

main();

现在,我们可以导入导出的函数并使用它们从问题或图像提示生成文本。

该函数采用文件路径作为参数,因此您需要将图像文件添加到项目文件夹中来测试它。

我们的代码将转换为:

const { generateText } = require("./lib/gemini");
const { interactWithImage } = require("./lib/gemini-vision");
const path = require("path");

const main = async () => {
  // Text Generation
  let textFromPrompt = await generateText(
    "tell me about bootcamps in a sentence"
  );
  console.log(textFromPrompt);

  // Caption Generation
  const directoryName = path.join(__dirname, "fish.jpg");
  let captionFromImage = await interactWithImage(directoryName);
  console.log(captionFromImage);
};

main();

接下来是什么

现在,您可以使用 ExpressJS 来构建 API 而不是脚本。您还可以研究为您的用例编写提示的最佳实践。

以下是您可以构建的应用程序的一些示例:

  • 使用 Unsplash API 的 SEO 元数据生成器

  • 通过添加从 PDF 获取内容的额外脚本来恢复审阅者

  • 来自图片的 Instagram 简历作者

您有兴趣构建更好的应用程序吗? 加入我们的 Web 开发训练营 并学习如何构建功能齐全的产品!


By Omar Mokhfi

Career Services background pattern

职业服务

Contact Section background image

让我们保持联系

Code Labs Academy © 2024 版权所有.