Создание приложения искусственного интеллекта за 10 минут: пошаговое руководство

Близнецы
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 нажмите кнопку Получить ключ 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 – Google Близнецы Про

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- Google Gemini Vision

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 вместо скрипта. Вы также можете узнать о лучших практиках написания подсказок для ваших вариантов использования.

Вот несколько примеров приложений, которые вы можете создать:

  • Генератор метаданных SEO с использованием Unsplash API

  • Возобновите работу рецензента, добавив дополнительный скрипт, который получает контент из PDF.

  • Автор биографии Instagram по изображению

Вы заинтересованы в создании лучших приложений? Присоединяйтесь к нашему учебному курсу по веб-разработке и узнайте, как создать полнофункциональный продукт!


By Omar Mokhfi

Career Services background pattern

Карьерные услуги

Contact Section background image

Давай останемся на связи

Code Labs Academy © 2024 Все права защищены.