見出し画像

Gemini - API使って簡単なAIチャット実装してみた

AIVtuberシロハナちゃんの開発プロデュースをしているyukiです。

この記事ではGeminiのAPIを試してみたので使い方などを備忘録として残します。

CLI上でGeminiと会話できるところまで簡単に実装してみました。(サンプルコード貼ってあります)

環境はWindowsで言語はPythonです。

詳細は公式からどうぞ

※この記事は2024/06/3時点のものなので今後変更があるかもしれないですのでご了承ください

関連記事(Claude版)


Google AI StudioにアクセスしてAPIキー発行

まずは上記からGoogle AI Studioにアクセスします。

APIキーページから発行

アクセスしたら「Get API Key」からAPIキーのページに遷移して「APIキーを作成」をします。
ここでGoogle Cloudプロジェクトを選択してAPIキーを発行します。

これでAPIキーの準備は完了です。(あとでKEYを使います)
Google Cloudプロジェクトにて料金等の設定や確認が可能です。

詳しくは下記の記事でも書いています。


API使って実装

まず任意のディレクトリを作成などして、ターミナルで以下コマンドを叩きます。

pip install google-generativeai

次に、.envファイルにて以下の記載をします。
""のなかは先ほど発行したAPIキーをコピペしてください。

GOOGLE_API_KEY = "発行したAPIキー"

pythonファイルを作成して以下コードを記載(gemini.py)

import os
import dotenv
import google.generativeai as genai

# .envファイルから環境変数を読み込む
dotenv.load_dotenv()


def configure_api():
    # 環境変数からGoogle APIキーを取得
    GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
    # APIキーが設定されていない場合はエラーを発生
    if not GOOGLE_API_KEY:
        raise ValueError("Google API key is missing")
    # APIキーを用いてGoogle AIを設定
    genai.configure(api_key=GOOGLE_API_KEY)
    # AIモデルを指定
    return genai.GenerativeModel("gemini-1.5-pro")


def main():
    model = configure_api()

    while True:
        user_input = input("あなたの質問: ")
        if user_input.lower() == "exit":
            break
        response = model.generate_content(user_input)
        print("Gemini: ", response.text)


if __name__ == "__main__":
    main()

上記では、Gemini 1.5 Proというモデルを使って、ターミナル上でチャットができるようになっています。

モデルはコード上で書き換えれば変わります。
以下リンクから参照してください。

これで実装は完了です。


ターミナルでチャットする

コマンドプロンプトなどで先ほど記載したpythonファイル(gemini.py)を実行します。

python gemini.pyでコマンドたたく

そうすると先ほどのコード内にあった「あなたの質問:」という文言が表示されます。

ここにチャットのように 何か入力して送信すると、gemini 1.5 proのAPIをもとに応答が返ってきます。

こんにちは!元気?と送ってみました

このようにGeminiが応答を返してくれます。


さいごに

GeminiをAPIから触ってみましたが簡単に使えて良かったですし、何より精度の割に料金が安いところが嬉しいですね。

このAPIを使ってAIVtuber配信なども行いましたので、ぜひ視聴いただけますと幸いです。

こちらではリクエストを送りすぎたのか、たまーに返答が遅い時や回答が安定しない時などもありましたが、基本的には問題なかったかと思います。

話のユニークさや回答生成の速度がGoodで、それに加えてAPI料金もかなり安いのはAIVtuber配信用途だと最高ですね。
安定していけばGPTよりもアリになるかもと考えています。

最後に私がプロデュースしているAIVtuberシロハナちゃんの宣伝をさせてください。
理想のAIヒロインを目指して、AIを使ったリアルタイム配信や、AIヒロイン研究所というコンセプトのもと、「テクノロジー×キャラクター」に関する動画等を発信しています。
興味がありましたらぜひ!

以上!それではまた👋

いいなと思ったら応援しよう!

yuki@AIキャラ開発P
ご支援は活動費に使わせていただきます