10 Dakikada Yapay Zeka Uygulaması Oluşturma: Adım Adım Kılavuz

İkizler
Nodejs
AI
Kılavuz
10 Dakikada Yapay Zeka Uygulaması Oluşturma: Adım Adım Kılavuz cover image

ChatGPT ve Google Gemini'nin ortaya çıkışından bu yana, bu modellerden yararlanan birçok uygulamanın başlatıldığını gördük. Bu tekniğe arbitraj adı veriliyor; yapay zekanın yapabileceği birçok görevden birini alan, onu etkili istemlerle geliştiren ve daha sonra bunu müşterilere bir özellik olarak sunan bir yöntem.

Bu makale Google Gemini modelini Node.js uygulamamıza nasıl entegre edebileceğiniz konusunda adım adım bir rehber olacaktır. Hem üretken metni işleyen Gemini-pro'nun hem de görüntüleri işleyen Gemini-pro-vision'un nasıl kullanılacağını göreceğiz.

Önce projeyi kurarak başlayacağız, sonra bunu kendi örneğimiz üzerinde kullanacağız.

Gereksinimler

Başlarken

Öncelikle boş bir klasörün içinde yeni bir Node.js projesi oluşturun:

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

Şimdi ortam dosyası ve Gemini SDK için gerekli paketleri kuracağız:

npm install dotenv @google/generative-ai

API Anahtarı Kurulumu

Google AI Platformunuzda, API Anahtarını almak için API Anahtarını Al düğmesini tıklayın ve ardından bunu kök dizindeki ortam dosyanıza (.env) kaydedin:

API_KEY=YOUR_GEMINI_KEY

Yeni bir lib klasörü oluşturun ve içinde bir config.js dosyası oluşturun, ardından bir sonraki adım için API Anahtarımızı dışa aktaracağız:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK Kurulumu

Bu adımda modellerimizi kodumuzda kullanabileceğimiz şekilde ayarlayacağız. lib klasörümüzün içinde, metni işlemek için gemini.js ve görüntüleri işlemek için gemini-vision.js olmak üzere 2 dosya oluşturalım.

1- Google Gemini Pro

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 };

Bir istemden metin oluşturmak için dışa aktarılan işlevi kullanacağız. Bunu bir sohbet sistemi, metin çevirisi ve daha birçok kullanım durumu oluşturmak için kullanabiliriz.

2- Google Gemini Vizyonu

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 };

Bir görüntüden metin oluşturmak için dışa aktarılan işlevi kullanacağız.

Uygulamayı oluşturma

Yeni bir index.js dosyası oluşturun ve şu kodu yapıştırın:

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

main();

Artık dışa aktarılan işlevlerimizi içe aktarabilir ve bunları bir sorudan veya bir görüntü isteminden metin oluşturmak için kullanabiliriz.

İşlev, argüman olarak bir dosya yolunu alır, bu nedenle onu test etmek için proje klasörünüze bir görüntü dosyası eklemeniz gerekecektir.

Kodumuz şuna dönüşecek:

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();

Sırada ne var

Artık komut dosyası yerine API oluşturmak için ExpressJS'yi kullanabilirsiniz. Ayrıca kullanım senaryolarınız için istem yazma konusunda en iyi uygulamaları da araştırabilirsiniz.

Bunlar, oluşturabileceğiniz uygulamalara ilişkin birkaç örnektir:

  • Unsplash API kullanan SEO Meta veri oluşturucu

  • İçeriği PDF'den alan fazladan bir komut dosyası ekleyerek incelemeyi sürdürün

  • Bir görüntüden Instagram biyografi yazarı

Daha iyi uygulamalar geliştirmekle ilgileniyor musunuz? Web Geliştirme eğitim kampımıza katılın ve tamamen işlevsel bir ürünü nasıl oluşturacağınızı öğrenin!


By Omar Mokhfi

Career Services background pattern

Kariyer Hizmetleri

Contact Section background image

İletişimde kalalım

Code Labs Academy © 2024 Her hakkı saklıdır.