🤖

Gemini を Google API + Gradio で使う

2024/05/21に公開

Gemini を API key + Gradio で使う

公式の通りにやろうとしたら、思った以上にすんなりできなかったので、すんなりいくはずの最小限のコードをメモ的に貼っておきます。

.env
GEMIMI_API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Gemini の API Key は下記から取得できます。

記事の執筆時点では無料で取得可能ですが、時間がたつと条件が変わっているかもしれません。

環境構築

$ conda create -n gemini python=3.12
$ conda activate gemini
$ pip install -U google-generativeai python-dotenv gradio

コード

Markdown 形式での出力にも対応してます。

gemni.py
import os
from dotenv import load_dotenv
import gradio as gr
import google.generativeai as genai

load_dotenv()
genai.configure(api_key=os.environ['GEMINI_API_KEY'])
model = genai.GenerativeModel(model_name='gemini-pro')

def chat(prompt):
  response = model.generate_content(prompt)
  return response.text

with gr.Blocks() as demo:
    prompt = gr.Textbox(label="Prompt")
    output = gr.Markdown(label="Output Box")
    greet_btn = gr.Button("Send")

    greet_btn.click(fn=chat, inputs=prompt, outputs=output)


# 起動
#demo.launch(server_port=80) # ポートを指定する場合
demo.launch()

起動テスト

$ python gemini.py

Running on local URL:  http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.

ブラウザで上記 URL を開きます。prompt を入力して Send を押すと、生成された文章が表示されます。

image.jpeg

Discussion