3
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【完全無料】Gemini APIチュートリアル(所要時間10分)

Last updated at Posted at 2024-10-05

はじめに

本記事ではGoogleの生成AI「Gemini API」の高速チュートリアルをします。10分あれば簡単なチャットBOTを作れるようになります。

想定読者

  • とにかく無料で簡単に生成AIサービスの開発をしたい人
  • Gemini APIの使い方を調べたがよく分からなかった人

Why Gemini?

Gemini APIが他の生成AI APIより優れている点は2つあります。

  1. 完全無料(制約はあるものの個人開発レベルであればほぼ無制限に使用できます)
  2. 登録が簡単(Googleアカウントがあればすぐに使用可能です)

OpenAI APIが最も利用されている生成AIのAPIだと思いますが、上記2点より、個人開発やテスト段階においては、Geminiを使用することを強くお勧めします。

早速試してみる

やりたいこと

ミニマムなQ&Aシステムを構築します。

Q:GeminiとOpenAI、どっちが最強ですか?
A:ジェミニとOpenAIはどちらも強力な言語モデルですが、それぞれ異なる強みを持っています。・・・

実装にあたり、公式のチュートリアルはとても参考になるのですが、少し分かりにくく、コードの間違いも見られます。そこで、本記事では必要最低限のコードのみで説明します。

STEP1:APIキーの取得

まず始めにGeminiのAPIキーを入手しておきます。必要なのはgoogleアカウントのみです。
下記のリンクにアクセスして、Get API keyをクリックしましょう。

下図のように、APIキー作成をクリックするとプラン「無料」でAPIキーが発行されます。
image.png

STEP2:Google ColaboratoryでAPIキーセット

続いてGoogle Colaboratory上で実装する準備をします。

下図のように鍵マークのシークレットを開き、名前に「GEMINI_API_KEY」と入力し、先ほどのAPIキーを値にセットすれば完了です。

image.png

STEP3:チャットbotを実装する

最後にチャットBOTを実装していきます。まず、geminiのライブラリをpipインストールします。

!pip install -q -U google-generativeai

続いてapiキーの読み込みを行います。

# Used to securely store your API key
from google.colab import userdata
import google.generativeai as genai

# Or use `os.getenv('GEMINI_API_KEY')` to fetch an environment variable.
GEMINI_API_KEY = userdata.get("GEMINI_API_KEY")
genai.configure(api_key=GEMINI_API_KEY)

最後にQ&Aのbotを実装します。

model = genai.GenerativeModel("gemini-1.5-flash")
question = "GeminiとOpenAI、どっちが最強ですか?"
response = model.generate_content(question)
print(response.text)

以下のような出力が得られます。

GeminiとOpenAIはどちらも強力な言語モデルですが、どちらが「最強」かは **明確な答えはありません**。なぜなら、両者の強みと弱みが異なり、どの側面を重要視するかによって評価が変わってくるからです。

**Geminiの強み:**

* **Googleの総合的なリソース:** Googleの膨大なデータと計算能力を活用
* **マルチモーダル:** 画像、音声、テキストなど、複数の形式の情報を理解し処理可能
* **実世界への統合:**  Googleの製品とサービスに統合され、より実践的な用途に役立つ
   ・
   ・
   ・

STEP4(任意):出力を見やすくする

前述のように出力がアスタリスク(**)で囲われていたりするため、少し見づらいです。公式ドキュメントでは以下のようなto_markdown(text)関数を定義しています。

import pathlib
import textwrap

from IPython.display import display
from IPython.display import Markdown

def to_markdown(text):
  text = text.replace('', '  *')
  return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))

to_markdown(response.text)

上記コードを挟むことで、下記のように見やすい出力になります。
image.png

終わりに

ここまで読んで頂きありがとうございました。
Geminiの情報は意外とQiita上にも転がっていないため、不明点等あればお気軽にご連絡ください。
なお、料金や無料プランの制約については、こちらに記載があります。不安な方はこちらをお読みください。

3
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?