การสร้างแอปพลิเคชัน AI ใน 10 นาที: คำแนะนำทีละขั้นตอน

ราศีเมถุน
Nodejs
AI
ไกด์
การสร้างแอปพลิเคชัน AI ใน 10 นาที: คำแนะนำทีละขั้นตอน cover image

นับตั้งแต่การปรากฏตัวของ ChatGPT และ Google Gemini เราได้เห็นแอปจำนวนมากเปิดตัวโดยใช้โมเดลเหล่านี้ เทคนิคนี้เรียกว่าการเก็งกำไร ซึ่งเป็นวิธีการที่รับหนึ่งในหลายๆ งานที่ AI สามารถทำได้ ปรับปรุงด้วยการแจ้งเตือนที่มีประสิทธิภาพ จากนั้นจึงนำเสนอให้กับลูกค้าเป็นคุณลักษณะ

บทความนี้จะเป็นคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการรวมโมเดล Google Gemini เข้ากับแอปพลิเคชัน Node.js ของเรา เราจะมาดูวิธีใช้ทั้ง Gemini-pro ซึ่งจัดการข้อความเชิงกำเนิด และ Gemini-pro-vision ซึ่งจัดการรูปภาพ

เราจะเริ่มต้นด้วยการตั้งค่าโปรเจ็กต์ก่อน จากนั้นจึงใช้มันกับตัวอย่างของเราเอง

ความต้องการ

  • Node.js เวอร์ชัน 18+

  • บัญชี Google AI Platform เพื่อรับคีย์ API ของเรา

เริ่มต้นใช้งาน

ขั้นแรก สร้างโปรเจ็กต์ 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 };

การตั้งค่าราศีเมถุน 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 ราศีเมถุนวิสัยทัศน์

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 Meta โดยใช้ Unsplash API

  • ดำเนินการตรวจสอบต่อโดยเพิ่มสคริปต์พิเศษที่รับเนื้อหาจาก PDF

  • นักเขียนชีวประวัติ Instagram จากรูปภาพ

คุณสนใจที่จะสร้างแอปที่ดีขึ้นหรือไม่? เข้าร่วมหลักสูตรติวเข้มการพัฒนาเว็บของเรา และเรียนรู้วิธีสร้างผลิตภัณฑ์ที่ใช้งานได้เต็มรูปแบบ!


By Omar Mokhfi

Career Services background pattern

บริการด้านอาชีพ

Contact Section background image

มาติดต่อกันกันเถอะ

Code Labs Academy © 2024 สงวนลิขสิทธิ์.