Yasu777 commited on
Commit
010780b
·
verified ·
1 Parent(s): fec0e53

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -12
app.py CHANGED
@@ -5,9 +5,9 @@ from groq import Groq
5
  # APIキーの設定
6
  try:
7
  client = Groq(api_key=st.secrets["GROQ_API_KEY"])
8
- print("APIクライアントが正常に設定されました。")
9
  except Exception as e:
10
- print(f"APIクライアントの設定に失敗しました: {e}")
11
 
12
  # Streamlitアプリケーションのタイトルと説明
13
  st.title("Groq APIによるAIチャットボット")
@@ -33,31 +33,36 @@ if prompt := st.chat_input("質問を入力してください:"):
33
 
34
  try:
35
  response = client.chat.completions.create(
36
- model="llama3-8b-8192", # 適切なモデル名に置き換えてください
37
  messages=[{"role": "user", "content": prompt}],
38
  stream=True # ストリーミングモードを有効にする
39
  )
40
- print("APIリクエストが正常に送信されました。")
41
 
42
  # ストリーミングで部分的な応答をリアルタイムで表示
43
  for chunk in response:
44
- print(f"受信したチャンク: {chunk}") # デバッグ: チャンクの内容を出力
45
- if "choices" in chunk:
46
- chunk_text = chunk['choices'][0]['delta'].get('content', '')
47
- if chunk_text: # 空でないコンテンツがあれば処理
48
  response_text += chunk_text
49
- print(f"現在の応答: {response_text}") # 現在の応答をログ出力
50
- message_placeholder.markdown(response_text) # 逐次表示
51
 
52
  # 最終的な応答を確定表示
53
  message_placeholder.markdown(response_text)
54
  st.session_state['conversation_history'].append({"role": "assistant", "content": response_text})
55
- print("APIからの応答が正常に処理されました。")
56
 
57
  except Exception as e:
58
- print(f"APIリクエストの処理中にエラーが発生しました: {e}")
 
 
59
 
60
  # 会話履歴をリセットするボタン
61
  if st.button("会話をリセット"):
62
  st.session_state['conversation_history'] = []
63
  st.experimental_rerun()
 
 
 
 
 
 
5
  # APIキーの設定
6
  try:
7
  client = Groq(api_key=st.secrets["GROQ_API_KEY"])
8
+ st.success("APIクライアントが正常に設定されました。")
9
  except Exception as e:
10
+ st.error(f"APIクライアントの設定に失敗しました: {e}")
11
 
12
  # Streamlitアプリケーションのタイトルと説明
13
  st.title("Groq APIによるAIチャットボット")
 
33
 
34
  try:
35
  response = client.chat.completions.create(
36
+ model="llama3-70b-8192", # Groq APIで利用可能正確なモデル名に更新
37
  messages=[{"role": "user", "content": prompt}],
38
  stream=True # ストリーミングモードを有効にする
39
  )
40
+ st.success("APIリクエストが正常に送信されました。")
41
 
42
  # ストリーミングで部分的な応答をリアルタイムで表示
43
  for chunk in response:
44
+ if hasattr(chunk.choices[0].delta, 'content'):
45
+ chunk_text = chunk.choices[0].delta.content
46
+ if chunk_text:
 
47
  response_text += chunk_text
48
+ message_placeholder.markdown(response_text)
 
49
 
50
  # 最終的な応答を確定表示
51
  message_placeholder.markdown(response_text)
52
  st.session_state['conversation_history'].append({"role": "assistant", "content": response_text})
53
+ st.success("APIからの応答が正常に処理されました。")
54
 
55
  except Exception as e:
56
+ error_message = f"APIリクエストの処理中にエラーが発生しました: {e}"
57
+ st.error(error_message)
58
+ print(error_message) # コンソールにもログを出力
59
 
60
  # 会話履歴をリセットするボタン
61
  if st.button("会話をリセット"):
62
  st.session_state['conversation_history'] = []
63
  st.experimental_rerun()
64
+
65
+ # デバッグ情報の表示(開発中のみ使用)
66
+ if st.checkbox("デバッグ情報を表示"):
67
+ st.write("会話履歴:", st.session_state['conversation_history'])
68
+ st.write("API Key設定状況:", "設定済み" if "GROQ_API_KEY" in st.secrets else "未設定")