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