File size: 7,982 Bytes
9b6340f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
# NullAI 機能解説

## システム概要

NullAIは、専門家検証機能付きのマルチドメイン知識推論システムです。
HuggingFace Transformersベースで、外部API依存なしに動作します。

---

## 1. 推論システム (Inference System)

### 1.1 ModelRouter (`null_ai/model_router.py`)
**機能**: ドメインに応じた最適なモデルの自動選択と推論実行

```python
# 使用例
router = ModelRouter(config_manager)
result = await router.infer(
    prompt="心筋梗塞の初期症状は?",
    domain_id="medical",
    save_to_memory=True
)
```

**効果**:
- 55以上のドメインに対応した専門的な回答
- 自動モデル選択による最適化
- 推論結果の自動メモリ保存

### 1.2 HuggingFace Integration
**対応プロバイダー**:
| プロバイダー | 説明 | 推奨用途 |
|-------------|------|---------|
| `huggingface` | ローカルTransformers | 高品質推論 |
| `huggingface_api` | Inference API | 低リソース環境 |
| `gguf` | llama.cpp互換 | 高速CPU推論 |

### 1.3 ストリーミング生成
**機能**: トークン単位でのリアルタイム配信

```python
async for chunk in service.stream_tokens(session_id, question, domain_id):
    if chunk["type"] == "token":
        print(chunk["content"], end="", flush=True)
```

---

## 2. 知識ベースシステム (Knowledge Base)

### 2.1 IATH形式データベース
**機能**: 高圧縮・高速アクセスの独自バイナリ形式

```
┌─────────────────────────────────────┐
│ IATH Header (Magic + Version)       │
├─────────────────────────────────────┤
│ Metadata (JSON, zstd compressed)    │
├─────────────────────────────────────┤
│ Tiles Index                         │
├─────────────────────────────────────┤
│ Knowledge Tiles (zstd compressed)   │
└─────────────────────────────────────┘
```

**効果**:
- 70-90%の圧縮率
- O(1)のタイルアクセス
- 増分更新サポート

### 2.2 Knowledge Tile
**構造**:
```json
{
  "tile_id": "med_001",
  "domain_id": "medical",
  "topic": "心筋梗塞の初期症状",
  "content": "...",
  "spatial_coords": [0.7, 0.3, 0.85],
  "confidence_score": 0.95,
  "verification_mark": {
    "type": "expert",
    "expert_orcid": "0000-0002-1234-5678"
  }
}
```

---

## 3. 検証マークシステム (Verification System)

### 3.1 検証レベル
| レベル | 条件 | 信頼度 |
|--------|------|--------|
| `multi_expert` | 2人以上の専門家が検証 | 最高 |
| `expert` | ORCID認証済み専門家が検証 | 高 |
| `community` | 認証ユーザーがレビュー | 中 |
| `none` | 未検証(ゲスト編集含む) | 低 |

### 3.2 ORCID認証
**フロー**:
```
ユーザー → ORCID OAuth → 認証コード → JWTトークン → 専門家ステータス
```

**効果**:
- 学術的な信頼性の担保
- 専門家の所属機関・業績の確認可能
- 改ざん防止

---

## 4. 判断システム (Judgment System)

### 4.1 α-Lobe(生成ローブ)
**機能**: 質問に対する初期回答の生成

```python
class JudgeAlphaLobe:
    def generate_initial_response(self, question, context):
        # 空間座標の計算
        coords = self.calculate_spatial_coordinates(question)
        # 関連知識の検索
        relevant_tiles = self.search_knowledge_base(coords)
        # 回答生成
        return self.generate_response(question, relevant_tiles)
```

### 4.2 β-Lobe(検証ローブ)
**機能**: 生成された回答の品質検証

```python
class JudgeBetaLobe:
    def verify_response(self, response, question, context):
        # 事実性チェック
        factual_score = self.check_factuality(response)
        # 一貫性チェック
        consistency_score = self.check_consistency(response, context)
        # 信頼度計算
        confidence = self.calculate_confidence(factual_score, consistency_score)
        return {"verified": confidence > 0.7, "confidence": confidence}
```

### 4.3 Correction Flow
**機能**: β-Lobeが不合格とした場合の再生成

```
α-Lobe生成 → β-Lobe検証 → 不合格 → 修正プロンプト → 再生成 → 再検証
```

---

## 5. 記憶システム (Memory System)

### 5.1 DendriticMemorySpace
**機能**: 円柱座標系での知識表現

```
r (半径): 抽象度 (0=具体的, 1=抽象的)
θ (角度): ドメイン (0-2π)
z (高さ): 時間/重要度
```

**効果**:
- 意味的に近い知識の効率的検索
- ドメイン横断的な関連付け
- 時系列での知識管理

### 5.2 自動メモリ保存
**条件**:
- 信頼度が閾値(デフォルト0.6)以上
- 検証済みコンテンツ
- 新規または更新された知識

---

## 6. 継続学習システム (NurseLog System)

### 6.1 倒木更新(世代交代)
**コンセプト**: 森林の倒木が次世代の栄養となるように、古いモデルの知識を新モデルに継承

```python
class NurseLogSystem:
    def prepare_succession(self):
        # 1. 現行モデルの知識を抽出
        knowledge = self.extract_model_knowledge()
        # 2. 継承データセットの作成
        dataset = self.create_succession_dataset(knowledge)
        # 3. 新モデルのファインチューニング
        new_model = self.finetune_apprentice(dataset)
        # 4. 世代交代
        self.switch_generation(new_model)
```

### 6.2 Dream Mode(夢モード)
**機能**: 低負荷時に知識の整理・統合を実行

```python
# 50会話ごとに自動実行
if conversation_count % 50 == 0:
    await nurse_log_system.enter_dream_mode()
```

---

## 7. API エンドポイント

### 7.1 推論API
```
POST /api/questions/
WebSocket /api/questions/ws/{session_id}
```

### 7.2 知識ベースAPI
```
GET  /api/knowledge/                 # タイル一覧
GET  /api/knowledge/{tile_id}        # タイル詳細
PUT  /api/knowledge/{tile_id}        # 編集(検証マーク付与)
GET  /api/knowledge/stats/summary    # 統計
```

### 7.3 認証API
```
POST /api/auth/token                 # ログイン
POST /api/auth/signup                # 登録
GET  /api/auth/orcid/authorize       # ORCID認証開始
GET  /api/auth/orcid/callback        # ORCID認証コールバック
```

### 7.4 システムAPI
```
GET  /api/system/status              # システム状態
GET  /api/system/health              # ヘルスチェック
GET  /api/system/providers           # 対応プロバイダー
```

---

## 8. ドメイン一覧(55ドメイン)

### 医療・健康 (8)
medical, cardiology, neurology, oncology, pediatrics, psychiatry, pharmacology, nutrition

### 法律 (8)
legal, labor_law, corporate_law, intellectual_property, contract_law, tax_law, family_law, criminal_law

### 経済・金融 (6)
economics, finance, accounting, banking, cryptocurrency, real_estate

### テクノロジー (8)
programming, web_development, machine_learning, cybersecurity, cloud_computing, devops, databases, mobile_development

### 科学 (6)
physics, chemistry, biology, mathematics, environmental_science, astronomy

### ビジネス (6)
business_strategy, marketing, human_resources, project_management, entrepreneurship, supply_chain

### 教育 (4)
education, language_learning, history, philosophy

### 工学 (6)
mechanical_engineering, electrical_engineering, civil_engineering, architecture, manufacturing, robotics

### ライフスタイル (5)
cooking, fitness, travel, gardening, diy

### 芸術 (5)
music, visual_arts, photography, writing, game_development

### 一般 (1)
general