高橋慧 commited on
Commit
eaf91d7
·
1 Parent(s): c8ef2b0

stage final

Browse files
Files changed (2) hide show
  1. app.py +29 -19
  2. debug_env.py +34 -0
app.py CHANGED
@@ -32,17 +32,22 @@ def check_environment():
32
  """環境変数をチェックし、不足している場合は警告"""
33
  missing_vars = []
34
 
35
- if not os.getenv("GROQ_API_KEY"):
 
 
36
  missing_vars.append("GROQ_API_KEY")
37
 
38
- if not os.getenv("OPENAI_API_KEY"):
39
- missing_vars.append("OPENAI_API_KEY")
 
 
40
 
41
  if missing_vars:
42
- print(f"⚠️ 環境変数が設定されていません: {', '.join(missing_vars)}")
43
- print("一部の機能が制限される可能性があります。")
44
 
45
- return len(missing_vars) == 0
 
46
 
47
  # 環境変数チェック実行
48
  env_ok = check_environment()
@@ -481,14 +486,14 @@ def filter_data(data, grade):
481
  # システム状態の確認
482
  def get_system_status():
483
  """システムの現在の状態を確認"""
484
- if FULL_VERSION and env_ok:
 
 
485
  return "🟢 完全版", "リアルタイム検索 + AI適格性評価が利用可能です"
486
- elif FULL_VERSION and not env_ok:
487
- return "🟡 完全版(制限)", "AI機能は利用可能ですが、API keyの設定をお願いします"
488
- elif LANGCHAIN_AVAILABLE and env_ok:
489
- return "🟡 基本版", "ClinicalTrials.gov API検索が可能です(AI評価機能は制限)"
490
  elif LANGCHAIN_AVAILABLE:
491
- return "🟡 基本版", "API検索可能(環境変数要設定)"
492
  else:
493
  return "🔴 軽量版", "サンプルデータのみ表示"
494
 
@@ -520,11 +525,13 @@ with gr.Blocks(title="臨床試験適格性評価", theme=gr.themes.Soft()) as d
520
  gr.Markdown(f"**システム状態**: {status_level} - {status_message}")
521
 
522
  # 機能説明
523
- if FULL_VERSION and env_ok:
 
 
524
  gr.Markdown("🚀 **利用可能機能**: ClinicalTrials.gov リアルタイム検索 + AI適格性評価 + データエクスポート")
525
  gr.Markdown("🤖 **AI機能**: Groq Llama3-70B による自動適格性判断 + 3段階グレード評価")
526
  elif FULL_VERSION:
527
- gr.Markdown("🔧 **利用可能機能**: リアルタイム検索 + 基本評価(AI機能は環境変数設定後に有効化)")
528
  gr.Markdown("⚠️ **API設定が必要**: Settings → Variables and secrets で GROQ_API_KEY を設定してください")
529
  elif LANGCHAIN_AVAILABLE:
530
  gr.Markdown("🔧 **利用可能機能**: ClinicalTrials.gov検索 + 基本評価 + データエクスポート")
@@ -553,10 +560,10 @@ with gr.Blocks(title="臨床試験適格性評価", theme=gr.themes.Soft()) as d
553
 
554
  # ボタン類
555
  with gr.Row():
556
- if FULL_VERSION and env_ok:
557
  generate_button = gr.Button("🤖 AI適格性評価付き検索(完全版)", variant="primary")
558
  elif FULL_VERSION:
559
- generate_button = gr.Button("🔍 リアルタイム検索(環境変数設定後にAI評価有効化)", variant="primary")
560
  elif LANGCHAIN_AVAILABLE:
561
  generate_button = gr.Button("📡 ClinicalTrials.gov検索(基本版)", variant="primary")
562
  else:
@@ -581,11 +588,13 @@ with gr.Blocks(title="臨床試験適格性評価", theme=gr.themes.Soft()) as d
581
  def update_data_and_display(age, sex, tumor_type, gene_mutation, measurable, biopsiable):
582
  """データ生成と表示更新"""
583
  try:
584
- if FULL_VERSION and env_ok:
 
 
585
  progress_msg = "🤖 AI適格性評価付きで実際の臨床試験データを検索中..."
586
  data = generate_full_data(age, sex, tumor_type, gene_mutation, measurable, biopsiable)
587
  elif FULL_VERSION:
588
- progress_msg = "🔍 実際の臨床試験データを検索中(AI評価は環境変数設定後に有効化)..."
589
  data = generate_basic_data(age, sex, tumor_type, gene_mutation, measurable, biopsiable)
590
  elif LANGCHAIN_AVAILABLE:
591
  progress_msg = "📡 ClinicalTrials.govから基本データを検索中..."
@@ -671,8 +680,9 @@ with gr.Blocks(title="臨床試験適格性評価", theme=gr.themes.Soft()) as d
671
  # フッター情報
672
  gr.Markdown("---")
673
  with gr.Row():
 
674
  gr.Markdown("🔬 **技術情報**: ClinicalTrials.gov API + LangChain + Groq Llama3-70B")
675
- gr.Markdown("📝 **完全版状況**: " + ("AI評価機能有効" if (FULL_VERSION and env_ok) else "環境変数設定後にAI機能有効化"))
676
 
677
  if __name__ == "__main__":
678
  demo.launch(
 
32
  """環境変数をチェックし、不足している場合は警告"""
33
  missing_vars = []
34
 
35
+ # GROQ_API_KEYは必須
36
+ groq_key_available = bool(os.getenv("GROQ_API_KEY"))
37
+ if not groq_key_available:
38
  missing_vars.append("GROQ_API_KEY")
39
 
40
+ # OPENAI_API_KEYはオプション
41
+ openai_key_available = bool(os.getenv("OPENAI_API_KEY"))
42
+ if not openai_key_available:
43
+ print("ℹ️ OPENAI_API_KEY が設定されていません(オプション機能)")
44
 
45
  if missing_vars:
46
+ print(f"⚠️ 必須環境変数が設定されていません: {', '.join(missing_vars)}")
47
+ print("AI評価機能が制限される可能性があります。")
48
 
49
+ # GROQ_API_KEYがあれば完全版として動作可能
50
+ return groq_key_available
51
 
52
  # 環境変数チェック実行
53
  env_ok = check_environment()
 
486
  # システム状態の確認
487
  def get_system_status():
488
  """システムの現在の状態を確認"""
489
+ groq_available = bool(os.getenv("GROQ_API_KEY"))
490
+
491
+ if FULL_VERSION and groq_available:
492
  return "🟢 完全版", "リアルタイム検索 + AI適格性評価が利用可能です"
493
+ elif FULL_VERSION and not groq_available:
494
+ return "🟡 完全版(制限)", "GROQ_API_KEYが必要です(Settings → Variables and secrets で設定)"
 
 
495
  elif LANGCHAIN_AVAILABLE:
496
+ return "🟡 基本版", "ClinicalTrials.gov検索のみ利用可能(AI評価にはGROQ_API_KEY必要)"
497
  else:
498
  return "🔴 軽量版", "サンプルデータのみ表示"
499
 
 
525
  gr.Markdown(f"**システム状態**: {status_level} - {status_message}")
526
 
527
  # 機能説明
528
+ groq_available = bool(os.getenv("GROQ_API_KEY"))
529
+
530
+ if FULL_VERSION and groq_available:
531
  gr.Markdown("🚀 **利用可能機能**: ClinicalTrials.gov リアルタイム検索 + AI適格性評価 + データエクスポート")
532
  gr.Markdown("🤖 **AI機能**: Groq Llama3-70B による自動適格性判断 + 3段階グレード評価")
533
  elif FULL_VERSION:
534
+ gr.Markdown("🔧 **利用可能機能**: リアルタイム検索 + 基本評価(AI機能にはGROQ_API_KEY必要)")
535
  gr.Markdown("⚠️ **API設定が必要**: Settings → Variables and secrets で GROQ_API_KEY を設定してください")
536
  elif LANGCHAIN_AVAILABLE:
537
  gr.Markdown("🔧 **利用可能機能**: ClinicalTrials.gov検索 + 基本評価 + データエクスポート")
 
560
 
561
  # ボタン類
562
  with gr.Row():
563
+ if FULL_VERSION and groq_available:
564
  generate_button = gr.Button("🤖 AI適格性評価付き検索(完全版)", variant="primary")
565
  elif FULL_VERSION:
566
+ generate_button = gr.Button("🔍 リアルタイム検索(GROQ_API_KEY設定後にAI評価有効)", variant="primary")
567
  elif LANGCHAIN_AVAILABLE:
568
  generate_button = gr.Button("📡 ClinicalTrials.gov検索(基本版)", variant="primary")
569
  else:
 
588
  def update_data_and_display(age, sex, tumor_type, gene_mutation, measurable, biopsiable):
589
  """データ生成と表示更新"""
590
  try:
591
+ groq_available = bool(os.getenv("GROQ_API_KEY"))
592
+
593
+ if FULL_VERSION and groq_available:
594
  progress_msg = "🤖 AI適格性評価付きで実際の臨床試験データを検索中..."
595
  data = generate_full_data(age, sex, tumor_type, gene_mutation, measurable, biopsiable)
596
  elif FULL_VERSION:
597
+ progress_msg = "🔍 実際の臨床試験データを検索中(AI評価にはGROQ_API_KEY必要)..."
598
  data = generate_basic_data(age, sex, tumor_type, gene_mutation, measurable, biopsiable)
599
  elif LANGCHAIN_AVAILABLE:
600
  progress_msg = "📡 ClinicalTrials.govから基本データを検索中..."
 
680
  # フッター情報
681
  gr.Markdown("---")
682
  with gr.Row():
683
+ groq_available_footer = bool(os.getenv("GROQ_API_KEY"))
684
  gr.Markdown("🔬 **技術情報**: ClinicalTrials.gov API + LangChain + Groq Llama3-70B")
685
+ gr.Markdown("📝 **AI機能状況**: " + ("AI評価機能有効" if (FULL_VERSION and groq_available_footer) else "GROQ_API_KEY設定後にAI機能有効化"))
686
 
687
  if __name__ == "__main__":
688
  demo.launch(
debug_env.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 環境変数チェック(デバッグ強化版)
2
+ def check_environment():
3
+ """環境変数をチェックし、詳細な状況を表示"""
4
+ missing_vars = []
5
+ present_vars = []
6
+
7
+ # GROQ_API_KEY の確認
8
+ groq_key = os.getenv("GROQ_API_KEY")
9
+ if not groq_key:
10
+ missing_vars.append("GROQ_API_KEY")
11
+ print("❌ GROQ_API_KEY: 未設定")
12
+ else:
13
+ present_vars.append("GROQ_API_KEY")
14
+ print(f"✅ GROQ_API_KEY: 設定済み (長さ: {len(groq_key)} 文字)")
15
+
16
+ # OPENAI_API_KEY の確認
17
+ openai_key = os.getenv("OPENAI_API_KEY")
18
+ if not openai_key:
19
+ missing_vars.append("OPENAI_API_KEY")
20
+ print("⚠️ OPENAI_API_KEY: 未設定(オプション)")
21
+ else:
22
+ present_vars.append("OPENAI_API_KEY")
23
+ print(f"✅ OPENAI_API_KEY: 設定済み (長さ: {len(openai_key)} 文字)")
24
+
25
+ # 全体の状況表示
26
+ print(f"📊 環境変数サマリー:")
27
+ print(f" 設定済み: {present_vars}")
28
+ print(f" 未設定: {missing_vars}")
29
+
30
+ if missing_vars:
31
+ print(f"⚠️ 環境変数が設定されていません: {', '.join(missing_vars)}")
32
+ print("完全版機能を利用するには Settings → Variables and secrets で設定してください")
33
+
34
+ return len(missing_vars) == 0