Sakalti commited on
Commit
2992155
·
verified ·
1 Parent(s): a506492

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -7
app.py CHANGED
@@ -5,21 +5,32 @@ import google.generativeai as genai
5
  # APIキーの設定
6
  genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
7
 
8
- # モデルの初期化(Gemini 1.5 Flashを使用)
9
- model = genai.GenerativeModel(model='gemini-2.0-flash')
10
 
11
  # チャット履歴の初期化
12
  chat_history = []
13
 
14
  # 応答生成関数
15
- def generate_response(user_input):
16
  global chat_history
17
  # ユーザー入力を履歴に追加
18
  chat_history.append({"role": "user", "parts": [user_input]})
19
- # モデルからの応答を取得
20
- response = model.generate_content(chat_history)
 
 
 
 
 
 
 
 
 
 
21
  # 応答を履歴に追加
22
  chat_history.append({"role": "model", "parts": [response.text]})
 
23
  # 履歴を整形して表示
24
  conversation = ""
25
  for message in chat_history:
@@ -30,10 +41,16 @@ def generate_response(user_input):
30
  # Gradioインターフェースの設定
31
  iface = gr.Interface(
32
  fn=generate_response,
33
- inputs="text",
 
 
 
 
 
 
34
  outputs="text",
35
  title="Gemini Chatbot",
36
- description="Gemini 2.0 Flashモデルを使用したチャットボットです。会話の履歴が表示されます。",
37
  )
38
 
39
  # インターフェースの起動
 
5
  # APIキーの設定
6
  genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
7
 
8
+ # モデルの初期化(Gemini 2.0 Flash
9
+ model = genai.GenerativeModel(model_name='gemini-2.0-flash')
10
 
11
  # チャット履歴の初期化
12
  chat_history = []
13
 
14
  # 応答生成関数
15
+ def generate_response(user_input, temperature, top_p, top_k, max_output_tokens):
16
  global chat_history
17
  # ユーザー入力を履歴に追加
18
  chat_history.append({"role": "user", "parts": [user_input]})
19
+
20
+ # 設定に基づいて応答生成
21
+ response = model.generate_content(
22
+ chat_history,
23
+ generation_config={
24
+ "temperature": temperature,
25
+ "top_p": top_p,
26
+ "top_k": top_k,
27
+ "max_output_tokens": int(max_output_tokens)
28
+ }
29
+ )
30
+
31
  # 応答を履歴に追加
32
  chat_history.append({"role": "model", "parts": [response.text]})
33
+
34
  # 履歴を整形して表示
35
  conversation = ""
36
  for message in chat_history:
 
41
  # Gradioインターフェースの設定
42
  iface = gr.Interface(
43
  fn=generate_response,
44
+ inputs=[
45
+ gr.Textbox(label="ユーザー入力"),
46
+ gr.Slider(0.0, 1.0, value=0.7, step=0.05, label="Temperature"),
47
+ gr.Slider(0.0, 1.0, value=0.9, step=0.05, label="Top-p"),
48
+ gr.Slider(1, 100, value=40, step=1, label="Top-k"),
49
+ gr.Number(value=1024, label="Max Output Tokens"),
50
+ ],
51
  outputs="text",
52
  title="Gemini Chatbot",
53
+ description="Gemini 2.0 Flashモデルを使用したチャットボットです。temperatureやtop-pなどを自由に調整できます。",
54
  )
55
 
56
  # インターフェースの起動