Upload project_specification.md
Browse files- project_specification.md +52 -0
project_specification.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# AI投資インサイト・アナライザー (AII_HFace) プロジェクト仕様書
|
| 2 |
+
|
| 3 |
+
## 1. プロジェクト概要
|
| 4 |
+
「AI投資インサイト・アナライザー」は、最新の経済・金融ニュースを自動収集し、Googleの「Gemini 2.5 Flash」を活用して多角的な投資分析を提供するWebアプリケーションです。
|
| 5 |
+
以前のローカル実行型スクリプトをWebアプリ化し、Hugging Face Spacesで公開することで、環境構築不要で誰でも利用可能にすることを目的としています。
|
| 6 |
+
|
| 7 |
+
## 2. 主な機能
|
| 8 |
+
### 2.1 ニュース収集 (News Collector)
|
| 9 |
+
- **ソース**: NHKビジネス、日経新聞(主要)、ITmedia(経済)、はてなブックマーク(経済)からRSSを取得。
|
| 10 |
+
- **注目度ソート**: はてなブックマークAPIを利用し、ブックマーク数(世間の注目度)が高い順に記事を並び替え。
|
| 11 |
+
- **重複排除**: タイトルによる重複チェックを行い、ユニークな記事のみを抽出。
|
| 12 |
+
|
| 13 |
+
### 2.2 AI分析 (AI Analyst)
|
| 14 |
+
- **エンジン**: Google Gemini 2.5 Flash (最新モデル)
|
| 15 |
+
- **分析項目**:
|
| 16 |
+
- **歴史的類似性**: 過去の似た事例とその後の市場の動きを提示。
|
| 17 |
+
- **弱気視点/リスク**: 好材料であってもあえて警戒すべき点、悪材料の深掘り。
|
| 18 |
+
- **影響セクター**: 恩恵または打撃を受ける具体的な業界や企業コード。
|
| 19 |
+
- **市場影響度スコア**: -10から+10までの21段階で定量評価。
|
| 20 |
+
|
| 21 |
+
### 2.3 ユーザーインターフェース (Web UI)
|
| 22 |
+
- **Gradio**: PythonベースのUIフレームワークを採用。
|
| 23 |
+
- **サイドバー設定**: ユーザーが自身のGemini APIキーを入力して実行するプライバシー配慮型設計。
|
| 24 |
+
- **リアルタイム解析ログ**: 解析の進捗をテキストボックスに順次表示。
|
| 25 |
+
|
| 26 |
+
## 3. 技術スタック
|
| 27 |
+
| カテゴリ | 技術・ライブラリ |
|
| 28 |
+
| :--- | :--- |
|
| 29 |
+
| 言語 | Python 3.10+ |
|
| 30 |
+
| UIフレームワーク | Gradio |
|
| 31 |
+
| AIモデル | Google Gemini 2.5 Flash (`google-genai` SDK) |
|
| 32 |
+
| データ取得 | `feedparser`, `requests` |
|
| 33 |
+
| ホスティング | Hugging Face Spaces |
|
| 34 |
+
|
| 35 |
+
## 4. システム構成図
|
| 36 |
+
```mermaid
|
| 37 |
+
graph TD
|
| 38 |
+
User([ユーザー]) -- APIキー入力 --> UI[Gradio Web UI]
|
| 39 |
+
UI -- 実行リクエスト --> NC[News Collector]
|
| 40 |
+
NC -- RSS取得 --> News[(ニュースソース)]
|
| 41 |
+
NC -- はてブ数取得 --> HB[Hatena Bookmark API]
|
| 42 |
+
NC -- ソート済み記事 --> AA[AI Analyst]
|
| 43 |
+
AA -- プロンプト送信 --> Gemini[Gemini 2.5 Flash API]
|
| 44 |
+
Gemini -- 分析結果(JSON) --> AA
|
| 45 |
+
AA -- レポート生成 --> UI
|
| 46 |
+
UI -- 最終表示 --> User
|
| 47 |
+
```
|
| 48 |
+
|
| 49 |
+
## 5. 公開・運用
|
| 50 |
+
- **公開プラットフォーム**: Hugging Face Spaces
|
| 51 |
+
- **運用形態**: ユーザーによるオンデマンド実行。サーバー側での定時実行や通知機能は持たせず、軽量な運用を実現。
|
| 52 |
+
- **ソースコード**: 透過性を重視し、ユーザーがローカルでも実行できるよう、ソースコード一式を公開。
|