Fetching metadata from the HF Docker repository...
-
Update ai_analyst.py
-
Update ai_analyst.py
-
Upload project_specification.md
-
Update requirements.txt
-
Update ai_analyst.py
-
Update app.py
-
Update ai_analyst.py
-
Create runtime.txt
-
Update app.py
-
Update ai_analyst.py
-
Update requirements.txt
-
Update requirements.txt
-
Update ai_analyst.py
-
Update app.py
-
Update app.py
-
Update app.py
-
Update app.py
-
Update app.py
import gradio as gr
import google.generativeai as genai
import time
import os
# 外部ファイルの読み込み(news_collector.py と ai_analyst.py が同じ場所にある前提)
from news_collector import fetch_rss_news
from ai_analyst import analyze_news
def run_insight_process(api_key):
"""
ニュース取得から解析までを順次実行し、ログをリアルタイムで画面に返す関数
"""
if not api_key or len(api_key) < 10:
yield "❌ エラー: 有効なGemini APIキーをサイドバーに入力してください。"
return
# APIキーのセット(ai_analyst.pyが参照できるように環境変数にもセット)
os.environ["GEMINI_API_KEY"] = api_key
genai.configure(api_key=api_key)
log_output = "🚀 投資インサイト解析を開始します...\n"
yield log_output
try:
# 1. ニュース収集
log_output += "📡 ニュースサイトから最新記事を収集中...\n"
yield log_output
articles = fetch_rss_news()
if not articles:
yield log_output + "❌ ニュースの取得に失敗したか、記事が見つかりませんでした。"
return
log_output += f"✅ {len(articles)}件のニュースを取得しました。上位5件を解析します。\n\n"
yield log_output
# 2. 解析ループ(上位5件)
… -
Update app.py
-
Update app.py
-
Update ai_analyst.py
-
Update app.py
-
Update ai_analyst.py
-
Update ai_analyst.py
import google.generativeai as genai
import json
import os
def analyze_news(article):
api_key = os.getenv("GEMINI_API_KEY")
if not api_key:
raise ValueError("APIキーが設定されていません。")
genai.configure(api_key=api_key)
# JSON出力を強制する設定
model = genai.GenerativeModel(
"gemini-2.5-flash",
generation_config={"response_mime_type": "application/json"}
)
prompt = f"""
あなたはプロの金融アナリストです。以下のニュースが市場に与える影響を、投資家視点で厳しく分析してください。
【ニュース内容】
タイトル: {article['title']}
内容: {article['summary']}
【評価指示】
1. 市場影響度スコア (market_impact_score):
-10(歴史的暴落リスク)から +10(歴史的高騰材料)までの「整数」で評価。
0は「完全に無風・中立」を意味します。
※安易に0を選ばず、わずかでも影響がある場合は +1 や -1 など、21段階で明確に差をつけてください。
2. 出力形式:
以下の項目を必ず日本語のJSONで出力してください。
- historical_precedent: 過去の類似事例とその後の株価推移。
- bearish_view: このニュースが好材料に見えてもあえて警戒すべきリスク、または悪材料を深掘りした懸念点。
- sector_impact: 具体的に恩恵・打撃を受ける業界(セクター)名、企業名(企業コード)。
- market_impact_score: 整数値(-10 〜 … -
Update requirements.txt
-
Update ai_analyst.py
-
Update news_collector.py
-
Create news_collector.py
-
Create ai_analyst.py
-
Update app.py
-
Update requirements.txt
-
Update app.py
-
Create requirements.txt
-
Create app.py
-
initial commit