Spaces:
Running
Running
高橋慧
commited on
Commit
·
eaf91d7
1
Parent(s):
c8ef2b0
stage final
Browse files- app.py +29 -19
- debug_env.py +34 -0
app.py
CHANGED
@@ -32,17 +32,22 @@ def check_environment():
|
|
32 |
"""環境変数をチェックし、不足している場合は警告"""
|
33 |
missing_vars = []
|
34 |
|
35 |
-
|
|
|
|
|
36 |
missing_vars.append("GROQ_API_KEY")
|
37 |
|
38 |
-
|
39 |
-
|
|
|
|
|
40 |
|
41 |
if missing_vars:
|
42 |
-
print(f"⚠️
|
43 |
-
print("
|
44 |
|
45 |
-
|
|
|
46 |
|
47 |
# 環境変数チェック実行
|
48 |
env_ok = check_environment()
|
@@ -481,14 +486,14 @@ def filter_data(data, grade):
|
|
481 |
# システム状態の確認
|
482 |
def get_system_status():
|
483 |
"""システムの現在の状態を確認"""
|
484 |
-
|
|
|
|
|
485 |
return "🟢 完全版", "リアルタイム検索 + AI適格性評価が利用可能です"
|
486 |
-
elif FULL_VERSION and not
|
487 |
-
return "🟡 完全版(制限)", "
|
488 |
-
elif LANGCHAIN_AVAILABLE and env_ok:
|
489 |
-
return "🟡 基本版", "ClinicalTrials.gov API検索が可能です(AI評価機能は制限)"
|
490 |
elif LANGCHAIN_AVAILABLE:
|
491 |
-
return "🟡 基本版", "
|
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 |
-
|
|
|
|
|
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
|
557 |
generate_button = gr.Button("🤖 AI適格性評価付き検索(完全版)", variant="primary")
|
558 |
elif FULL_VERSION:
|
559 |
-
generate_button = gr.Button("🔍
|
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 |
-
|
|
|
|
|
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("📝
|
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
|