Gemini API شروع سریع

این شروع سریع به شما نشان می دهد که چگونه با استفاده از SDK انتخابی خود با Gemini API شروع کنید.

پیش نیازها

پایتون

مشاهده در گوگل AI در Google Colab اجرا شود مشاهده نوت بوک در GitHub

برای تکمیل این شروع سریع به صورت محلی، اطمینان حاصل کنید که محیط توسعه شما شرایط زیر را برآورده می کند:

  • پایتون 3.9+
  • نصب jupyter برای اجرای نوت بوک.

برو

این شروع سریع فرض می کند که شما با ساختن برنامه های کاربردی با Go آشنا هستید.

برای تکمیل این شروع سریع، مطمئن شوید که محیط توسعه شما شرایط زیر را دارد:

  • برو 1.20+

Node.js

این شروع سریع فرض می کند که شما با ساختن برنامه ها با Node.js آشنا هستید.

برای تکمیل این شروع سریع، مطمئن شوید که محیط توسعه شما شرایط زیر را دارد:

  • Node.js v18+
  • npm

وب

این شروع سریع فرض می کند که شما با استفاده از جاوا اسکریپت برای توسعه برنامه های وب آشنا هستید. این راهنما مستقل از چارچوب است.

برای تکمیل این شروع سریع، مطمئن شوید که محیط توسعه شما شرایط زیر را دارد:

  • (اختیاری) Node.js
  • مرورگر وب مدرن

دارت (فلاتر)

این شروع سریع فرض می کند که شما با ساخت برنامه های کاربردی با دارت آشنا هستید.

برای تکمیل این شروع سریع، مطمئن شوید که محیط توسعه شما شرایط زیر را دارد:

  • دارت 3.2.0+

سریع

این شروع سریع فرض می کند که شما با استفاده از Xcode برای توسعه برنامه های Swift آشنا هستید.

برای تکمیل این شروع سریع، مطمئن شوید که محیط توسعه و برنامه Swift شما شرایط زیر را برآورده می کند:

  • Xcode 15.0 یا بالاتر
  • برنامه Swift شما باید iOS 15 یا بالاتر یا macOS 12 یا بالاتر را هدف قرار دهد.

اندروید

این شروع سریع فرض می کند که شما با استفاده از Android Studio برای توسعه برنامه های Android آشنا هستید.

برای تکمیل این شروع سریع، مطمئن شوید که محیط توسعه و برنامه Android شما شرایط زیر را دارد:

  • اندروید استودیو (آخرین نسخه)
  • برنامه Android شما باید سطح API 21 یا بالاتر را هدف قرار دهد.

کلید API خود را تنظیم کنید

برای استفاده از Gemini API، به یک کلید API نیاز دارید. اگر قبلاً یکی ندارید، یک کلید در Google AI Studio ایجاد کنید.

یک کلید API دریافت کنید

سپس کلید خود را پیکربندی کنید.

پایتون

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . این شروع سریع فرض می کند که شما به کلید API خود به عنوان یک متغیر محیطی دسترسی دارید.

کلید API خود را به یک متغیر محیطی اختصاص دهید:

export API_KEY=<YOUR_API_KEY>

برو

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . این شروع سریع فرض می کند که شما به کلید API خود به عنوان یک متغیر محیطی دسترسی دارید.

کلید API خود را به یک متغیر محیطی اختصاص دهید:

export API_KEY=<YOUR_API_KEY>

Node.js

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . این شروع سریع فرض می کند که شما به کلید API خود به عنوان یک متغیر محیطی دسترسی دارید.

کلید API خود را به یک متغیر محیطی اختصاص دهید:

export API_KEY=<YOUR_API_KEY>

وب

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . درعوض، باید کلید API خود را درست قبل از مقداردهی اولیه مدل به برنامه خود بدهید.

این شروع سریع فرض می کند که شما به کلید API خود به عنوان یک ثابت جهانی دسترسی دارید.

دارت (فلاتر)

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . این شروع سریع فرض می کند که شما به کلید API خود به عنوان یک متغیر محیط فرآیند دسترسی دارید. اگر در حال توسعه یک برنامه Flutter هستید، می توانید از String.fromEnvironment استفاده کنید و --dart-define=API_KEY=$API_KEY برای flutter build یا flutter run برای کامپایل با کلید API ارسال کنید زیرا محیط فرآیند هنگام اجرای برنامه متفاوت خواهد بود. .

سریع

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . یک گزینه جایگزین این است که آن را در یک فایل GenerativeAI-Info.plist ذخیره کنید و سپس کلید API را از فایل .plist بخوانید. مطمئن شوید که این فایل .plist را در پوشه ریشه برنامه خود قرار داده و آن را از کنترل نسخه حذف کنید.

enum APIKey {
   // Fetch the API key from `GenerativeAI-Info.plist`
   static var `default`: String {
      guard let filePath = Bundle.main.path(forResource: "GenerativeAI-Info", ofType: "plist")
      else {
         fatalError("Couldn't find file 'GenerativeAI-Info.plist'.")
      }
      let plist = NSDictionary(contentsOfFile: filePath)
      guard let value = plist?.object(forKey: "API_KEY") as? String else {
         fatalError("Couldn't find key 'API_KEY' in 'GenerativeAI-Info.plist'.")
      }
      if value.starts(with: "_") {
         fatalError(
           "Follow the instructions at https://ai.google.dev/tutorials/setup to get an API key."
         )
      }
      return value
   }
}

اندروید

اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید . در عوض، باید آن را در یک فایل local.properties (که در فهرست اصلی پروژه شما قرار دارد، اما از کنترل نسخه حذف شده است) ذخیره کنید و سپس از افزونه Secrets Gradle برای اندروید برای خواندن کلید API خود به عنوان یک متغیر Build Configuration استفاده کنید.

کاتلین:

// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey

جاوا:

// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;

اگر می‌خواهید اجرای پلاگین Secrets Gradle را مشاهده کنید، می‌توانید برنامه نمونه این SDK را بررسی کنید یا از آخرین پیش‌نمایش Android Studio Iguana استفاده کنید که دارای یک قالب Gemini API Starter است (که شامل فایل local.properties برای شروع کار است. ).

SDK را نصب کنید

پایتون

Python SDK برای Gemini API در بسته google-generativeai موجود است. وابستگی را با استفاده از pip نصب کنید:

pip install -q -U google-generativeai

برو

برای استفاده از Gemini API در برنامه خود، باید بسته Go SDK را در پوشه ماژول خود get :

go get github.com/google/generative-ai-go

Node.js

برای استفاده از Gemini API در برنامه خود، باید بسته GoogleGenerativeAI را برای Node.js نصب کنید:

npm install @google/generative-ai

وب

برای استفاده از Gemini API در برنامه وب خود، @google/generative-ai را وارد کنید:

<script type="importmap">
   {
     "imports": {
       "@google/generative-ai": "https://esm.run/@google/generative-ai"
     }
   }
</script>

دارت (فلاتر)

برای استفاده از Gemini API در برنامه خود، باید بسته google_generative_ai را به برنامه Dart یا Flutter خود add :

دارت:

dart pub add google_generative_ai

بال بال زدن:

flutter pub add google_generative_ai

سریع

برای استفاده از Gemini API در برنامه Swift خود، بسته GoogleGenerativeAI را به برنامه خود اضافه کنید:

  1. در Xcode، روی پروژه خود در ناوبر پروژه کلیک راست کنید.

  2. از منوی زمینه گزینه Add Packages را انتخاب کنید.

  3. در گفتگوی Add Packages ، URL بسته را در نوار جستجو جای‌گذاری کنید: none https://github.com/google/generative-ai-swift

  4. روی افزودن بسته کلیک کنید. اکنون Xcode بسته GoogleGenerativeAI را به پروژه شما اضافه می کند.

اندروید

  1. در فایل پیکربندی Gradle ماژول (سطح برنامه) خود (مانند <project>/<app-module>/build.gradle.kts )، وابستگی را برای Google AI SDK برای Android اضافه کنید:

    کاتلین:

    dependencies {
    
       // add the dependency for the Google AI client SDK for Android
       implementation("com.google.ai.client.generativeai:generativeai:0.3.0")
    }
    

    جاوا:

    برای جاوا، باید دو کتابخانه اضافی اضافه کنید.

    dependencies {
    
        // add the dependency for the Google AI client SDK for Android
        implementation("com.google.ai.client.generativeai:generativeai:0.3.0")
    
        // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
        implementation("com.google.guava:guava:31.0.1-android")
    
        // Required for streaming operations (to use `Publisher` from Reactive Streams)
        implementation("org.reactivestreams:reactive-streams:1.0.4")
    }
    
  2. پروژه اندروید خود را با فایل های Gradle همگام سازی کنید.

مدل مولد را راه اندازی کنید

پایتون

قبل از اینکه بتوانید هر گونه تماس API را برقرار کنید، باید مدل تولیدی را وارد و مقداردهی اولیه کنید.

import google.generativeai as genai

genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')

برو

قبل از اینکه بتوانید هر گونه تماس API را برقرار کنید، باید مدل تولیدی را وارد و مقداردهی اولیه کنید.

import "github.com/google/generative-ai-go/genai"
import "google.golang.org/api/option"

ctx := context.Background()
// Access your API key as an environment variable (see "Set up your API key" above)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
    log.Fatal(err)
}
defer client.Close()

// For text-only input, use the gemini-pro model
model := client.GenerativeModel("gemini-pro")

Node.js

قبل از اینکه بتوانید هر گونه تماس API را برقرار کنید، باید مدل تولیدی را وارد و مقداردهی اولیه کنید.

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

// Access your API key as an environment variable (see "Set up your API key" above)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

// ...

// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});

// ...

وب

قبل از اینکه بتوانید هر گونه تماس API را برقرار کنید، باید مدل تولیدی را وارد و مقداردهی اولیه کنید.

<html>
<body>
   <!-- ... Your HTML and CSS -->
   <!-- Import @google/generative-ai, as shown above. -->
   <script type="module">
      import { GoogleGenerativeAI } from "@google/generative-ai";

      // Fetch your API_KEY
      const API_KEY = "...";

      // Access your API key (see "Set up your API key" above)
      const genAI = new GoogleGenerativeAI(API_KEY);

      // ...

      // For text-only input, use the gemini-pro model
      const model = genAI.getGenerativeModel({ model: "gemini-pro"});

      // ...
   </script>
</body>
</html>

دارت (فلاتر)

قبل از اینکه بتوانید هر گونه تماس API را برقرار کنید، باید مدل تولیدی را وارد و مقداردهی اولیه کنید.

import 'package:google_generative_ai/google_generative_ai.dart';

// Access your API key as an environment variable (see "Set up your API key" above)
final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
  print('No \$API_KEY environment variable');
  exit(1);
}

// For text-only input, use the gemini-pro model
final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);

سریع

قبل از اینکه بتوانید هر گونه تماس API را برقرار کنید، باید مدل تولیدی را مقداردهی اولیه کنید.

  1. ماژول GoogleAI وارد کنید:

    import GoogleGenerativeAI
    
  2. مدل مولد را راه اندازی کنید:

    // For text-only input, use the gemini-pro model
    // Access your API key from your on-demand resource .plist file (see "Set up your API key" above)
    let model = GenerativeModel(name: "gemini-pro", apiKey: APIKey.default)
    

اندروید

قبل از اینکه بتوانید تماس API برقرار کنید، باید شی GenerativeModel مقداردهی اولیه کنید:

کاتلین:

val generativeModel = GenerativeModel(
      // For text-only input, use the gemini-pro model
      modelName = "gemini-pro",
      // Access your API key as a Build Configuration variable (see "Set up your API key" above)
      apiKey = BuildConfig.apiKey
)

جاوا:

برای جاوا، شما همچنین باید شی GenerativeModelFutures را مقداردهی اولیه کنید.

// For text-only input, use the gemini-pro model
GenerativeModel gm = new GenerativeModel(/* modelName */ "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
      /* apiKey */ BuildConfig.apiKey);

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

تولید متن

پایتون

response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

برو

resp, err := model.GenerateContent(ctx, genai.Text("Write a story about a magic backpack."))
if err != nil {
  log.Fatal(err)
}

Node.js

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

وب

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

دارت (فلاتر)

void main() async {
   // Access your API key as an environment variable (see "Set up your API key" above)
   final apiKey = Platform.environment['API_KEY'];
   if (apiKey == null) {
      print('No \$API_KEY environment variable');
      exit(1);
   }
   // For text-only input, use the gemini-pro model
   final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);
   final content = [Content.text('Write a story about a magic backpack.')];
   final response = await model.generateContent(content);
   print(response.text);
}

سریع

let prompt = "Write a story about a magic backpack."
let response = try await model.generateContent(prompt)
if let text = response.text {
  print(text)
}

اندروید

کاتلین:

توجه داشته باشید که generateContent() یک تابع suspend است و باید از محدوده Coroutine فراخوانی شود. اگر با Coroutines آشنا نیستید، Kotlin Coroutines را در Android بخوانید.

val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)

جاوا:

توجه داشته باشید که generateContent() یک ListenableFuture برمی گرداند. اگر با این API آشنا نیستید، به مستندات Android درباره استفاده از ListenableFuture مراجعه کنید.

Content content = new Content.Builder()
      .addText("Write a story about a magic backpack.")
      .build();

Executor executor = // ...

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
         String resultText = result.getText();
         System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
         t.printStackTrace();
      }
}, executor);

بعدش چی

برای کسب اطلاعات بیشتر در مورد کار با Gemini API، به آموزش زبان انتخابی خود مراجعه کنید.

همچنین می توانید از دستورات curl برای آزمایش Gemini API استفاده کنید:

اگر در مدل های هوش مصنوعی مولد تازه کار هستید، ممکن است بخواهید قبل از شروع سریع به راهنمای مفاهیم و نمای کلی Gemini API نگاه کنید.