背景
生成AIを普段業務の中でチャットBOTとして利用していますが、それだけでは昨今の流れに置いていかれると思い、色々実験を試みてみたいと思います。普段、生成AI開発をバリバリしているぜ!という方よりは、生成AIって何ですか、という状態の方はご参考になるかもしれません。今回は、Googleが提供している生成AI”Gemini”を利用してみます。
生成AIとは?
ChatGPTのように、様々なコンテンツを生成できるAIのことを生成AIと総称しています。文章を生成し、自然な会話を実現することだけでなく、画像や音声処理も可能です。
Geminiと会話してみる。
以下サイトへアクセスします。
Googleアカウントでログインしている場合、以下のように”Geminiと話そう”というボタンが用意されています。

ボタンをクリックすると、利用規約とプライバシーの同意を求められます。

詳細を数回クリックすると、注意事項が表示されます。

続けるをクリックすると、Geminiとの会話画面に入れます。

試しに”飼うなら犬か猫か、表で比較して”をクリックし、送信してみます。

表で犬と猫の違いを説明してくれました。今回驚いたのがこの”ハイライト”なるもの。

どういうロジックかはわかりませんが、回答作成時にGemini自身が検索をして本当にその情報が正しいのかを確認しているように見えます。流石Google製の生成AIですね。。。
Gemini APIを使用してみる
APIキーを取得
GeminiはAPIを提供しており、プログラムから制御することが可能です。無料プランと有料プランがありますが、無料プランで試行してみます。まずは以下サイトへアクセスします。
https://ai.google.dev/aistudio
アクセスするとこのような画面が表示されます。

ログインをクリックすると、”Use Google AI Studio”、”Develop in your own environment”の選択を求められるので、後者を選択します。

3つチェックボックスがありますので、一番上だけ選択して続行します。

“APIキーを作成”をクリックします。

APIキーが生成できました(APIキーの部分は黒塗りしています)。
pythonでAIプログラムを実装してみる
Google AI Studio上で”Create new prompt”をクリックします。

何やら設定項目がたくさん出てきますが、”Get code”をクリックします。

pythonプログラムを自動で生成してくれました。コードの内容は以下です。
"""
Install the Google AI Python SDK
$ pip install google-generativeai
"""
import os
import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
# Create the model
generation_config = {
"temperature": 1,
"top_p": 0.95,
"top_k": 64,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
model = genai.GenerativeModel(
model_name="gemini-1.5-flash",
generation_config=generation_config,
# safety_settings = Adjust safety settings
# See https://ai.google.dev/gemini-api/docs/safety-settings
)
chat_session = model.start_chat(
history=[
]
)
response = chat_session.send_message("INSERT_INPUT_HERE")
print(response.text)
ちなみに、python以外も選択できます。

pythonをインストール
公式ページからpythonをダウンロード、インストールします。
https://www.python.org/downloads
コマンドプロンプトで”python”と打つと以下のように表示されます。
Python 3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
仮想環境を構築
pythonを実行する仮想環境を構築します。まずは以下コマンドを打ち込みます。
$PS C:\Users\xxx> python -m venv .venv_python
次に、以下コマンドで仮想環境を起動します。
$PS C:\Users\xxx> . .venv_python/Scripts/activate
無事、仮想環境が起動した場合、以下のように括弧がつきます。
(.venv_python) PS C:\Users\xxx>
pythonプログラムを実行
まず、準備として以下を実行します。
$pip install google-generativeai
これで必要なパッケージをインストールできたので、先ほど取得したAPIキーを環境変数に設定します。
$Env:GEMINI_API_KEY = "xxx"
xxxの箇所がAPIキーです。上記はPowerShell上で実行した場合の書式です。
実行結果はこちら。
Please provide me with the input you want me to process. I need some context to understand what you are asking me to do.
For example, you could give me:
* **A question:** "What is the capital of France?"
* **A task:** "Write a short story about a cat who can talk."
* **Some code:** "```python print("Hello, world!") ```"
* **A prompt:** "Describe a magical forest."
The more information you give me, the better I can understand your request and provide a helpful response.
サンプルコードではインプットがないのでこのような応答になりました。ではインプットを追加してみます。
model = genai.GenerativeModel(
model_name="gemini-1.5-flash",
generation_config=generation_config,
# safety_settings = Adjust safety settings
# See https://ai.google.dev/gemini-api/docs/safety-settings
system_instruction="飼うなら犬か猫か、表で比較して。"
)
”system_instruction=”飼うなら犬か猫か、表で比較して。””というコードを追加しています。実行結果はこちら。
犬と猫、どちらを飼うか迷っているんですね!どちらも魅力的な動物ですが、ライフスタイルや性格によって適したペットは異なります。それぞれのメリットとデメリットを比較した表を見て、あなたにぴったりのペットを見つけてみましょう。
|項目|犬|猫|
|---|---|---|
| **性格** | 愛情深く、社交的、従順 | 独立心が強く、気まぐれ、愛らしい |
| **活動量** | 散歩や運動が必要 | 比較的、活動量は少ない |
| **訓練** | 訓練しやすい | 訓練は難しい場合もある |
| **世話** | 散歩、食事、ブラッシングなど、世話が必要 | トイレの世話、食事、毛づくろいなど、世話が必要 |
| **費用** | 食費、医療費、おもちゃなど、費用がかかる | 食費、医療費、トイレ砂など、費用がかかる |
| **アレルギー** | 犬アレルギーの人は注意が必要 | 猫アレルギーの人は注意が必要 |
| **寿命** | 小型犬で10~15年、大型犬で8~12年 | 15~20年 |
| **家族との相性** | 子供と遊ぶのが好き | 独立しているため、一人暮らしでも飼いやすい |
| **住居** | 庭付きの広い家 | マンションでも飼育可能 |
| **鳴き声** | 吠える | 鳴く |
**犬のメリット**
* 愛情深く、飼い主への忠誠心が高い
* 散歩などを通して運動不足解消に役立つ
* 防犯効果がある
* 家族との絆を深める
**犬のデメリット**
* 散歩や訓練など、時間と労力が必要
* 費用がかかる
* アレルギーを持つ人もいる
* 吠え声がうるさい場合がある
**猫のメリット**
* 独立心が強く、世話がしやすい
* 可愛らしい見た目と仕草
* ストレスを軽減する効果がある
* アレルギーの人は犬よりも飼いやすい場合がある
**猫のデメリット**
* 飼い主への愛情表現が分かりにくい
* 訓練が難しい場合がある
* 爪とぎや毛の抜け毛など、問題が起こる可能性がある
最終的には、あなたのライフスタイルや性格、家族構成などを考慮して、犬か猫か決めるのが良いでしょう。
どちらのペットを選ぶにしても、責任を持って最後まで大切に育ててあげてくださいね!
それなりの応答が得られました!次回はもう少し作り込みをしてみます。
[…] […]
[…] […]
[…] […]