tomo2chin2 commited on
Commit
7cfe707
·
verified ·
1 Parent(s): 3ce0735

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -19
app.py CHANGED
@@ -16,7 +16,7 @@ import time
16
  import os
17
  import logging
18
 
19
- # 新しいGemini関連のインポート - 最新バージョン修正版
20
  import google.generativeai as genai
21
 
22
  # ロギング設定
@@ -32,12 +32,13 @@ class GeminiRequest(BaseModel):
32
  def generate_html_from_text(text):
33
  """テキストからHTMLを生成する"""
34
  try:
35
- # APIキーの設定
36
  api_key = os.environ.get("GEMINI_API_KEY")
37
  if not api_key:
38
  logger.error("GEMINI_API_KEY 環境変数が設定されていません")
39
  raise ValueError("GEMINI_API_KEY 環境変数が設定されていません")
40
 
 
41
  genai.configure(api_key=api_key)
42
 
43
  # システムプロンプト(リクエスト例と同じものを使用)
@@ -137,7 +138,24 @@ def generate_html_from_text(text):
137
  - フッターに出典情報と関連するFont Awesomeアイコン(fa-book, fa-citation等)を明記
138
  ## 変換する文章/記事
139
  ーーー<ユーザーが入力(または添付)>ーーー"""
140
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  # 生成設定
142
  generation_config = {
143
  "temperature": 0.7,
@@ -146,24 +164,13 @@ def generate_html_from_text(text):
146
  "max_output_tokens": 8192,
147
  }
148
 
149
- # 利用可能なモデルを使用(gemini-1.5-proが最新の安定バージョン)
150
- model = genai.GenerativeModel(
151
- model_name="gemini-1.5-pro",
152
- generation_config=generation_config
153
- )
154
 
155
- # HTMLを生成
156
- logger.info(f"Gemini APIにリクエストを送信: テキスト長さ = {len(text)}")
157
-
158
- # システムインストラクションとユーザープロンプトを設定
159
  response = model.generate_content(
160
- contents=[
161
- {
162
- "role": "user",
163
- "parts": [text]
164
- }
165
- ],
166
- system_instruction=system_instruction
167
  )
168
 
169
  # レスポンスからHTMLを抽出
 
16
  import os
17
  import logging
18
 
19
+ # 正しいGemini関連のインポート
20
  import google.generativeai as genai
21
 
22
  # ロギング設定
 
32
  def generate_html_from_text(text):
33
  """テキストからHTMLを生成する"""
34
  try:
35
+ # APIキーの取得と設定
36
  api_key = os.environ.get("GEMINI_API_KEY")
37
  if not api_key:
38
  logger.error("GEMINI_API_KEY 環境変数が設定されていません")
39
  raise ValueError("GEMINI_API_KEY 環境変数が設定されていません")
40
 
41
+ # Gemini APIの設定
42
  genai.configure(api_key=api_key)
43
 
44
  # システムプロンプト(リクエスト例と同じものを使用)
 
138
  - フッターに出典情報と関連するFont Awesomeアイコン(fa-book, fa-citation等)を明記
139
  ## 変換する文章/記事
140
  ーーー<ユーザーが入力(または添付)>ーーー"""
141
+
142
+ # モデルを初期化して処理
143
+ logger.info(f"Gemini APIにリクエストを送信: テキスト長さ = {len(text)}")
144
+
145
+ # 利用可能なモデルの確認
146
+ try:
147
+ models = genai.list_models()
148
+ logger.info(f"利用可能なモデル: {[m.name for m in models if 'gemini' in m.name]}")
149
+ except Exception as e:
150
+ logger.warning(f"モデル一覧取得エラー: {e}")
151
+
152
+ # モデル選択
153
+ try:
154
+ model = genai.GenerativeModel('gemini-1.5-pro')
155
+ except Exception as e:
156
+ logger.warning(f"gemini-1.5-proモデル利用不可: {e}, gemini-proを試します")
157
+ model = genai.GenerativeModel('gemini-pro')
158
+
159
  # 生成設定
160
  generation_config = {
161
  "temperature": 0.7,
 
164
  "max_output_tokens": 8192,
165
  }
166
 
167
+ # プロンプト構築
168
+ prompt = f"{system_instruction}\n\n{text}"
 
 
 
169
 
170
+ # コンテンツ生成
 
 
 
171
  response = model.generate_content(
172
+ prompt,
173
+ generation_config=generation_config
 
 
 
 
 
174
  )
175
 
176
  # レスポンスからHTMLを抽出