操作
バグ #446
未完了RAG Chat日本語化・LINEデザイン適用・Claude API連携実装
ステータス:
進行中
優先度:
急いで
担当者:
-
開始日:
2025-06-10
期日:
進捗率:
0%
予定工数:
説明
📋 実装要件¶
🎯 目標¶
- 日本語対話対応: すべてのUIと応答を日本語化
- LINEデザイン言語適用: 既存コンポーネントを活用
- Claude API連携実装: 実際のRAGシステム構築
🔧 実装内容¶
Phase 1: 日本語化・LINEデザイン適用¶
- UIの完全日本語化
- LINEデザイン言語コンポーネント適用
- チャット画面をLINE風に調整
Phase 2: Claude API連携実装¶
- Claude APIキー設定
- 実際のRAGロジック実装
- ベクトル検索統合(pgvector + Meilisearch)
- ドキュメント処理機能
- 日本語プロンプトエンジニアリング
📊 現状¶
- UI: 完成(英語・基本デザイン)
- API: モックモード動作中
- インフラ: ベクトルDB・検索エンジン稼働中
🎯 完成イメージ¶
LINE風チャット画面での本格的な日本語RAGシステム
Redmine Admin さんが10日前に更新
- ステータス を 新規 から 進行中 に変更
🚀 作業指示書 - RAG Chat日本語化・LINEデザイン適用・Claude API連携実装¶
📋 作業順序と詳細手順¶
Phase 1: 日本語化・LINEデザイン適用¶
Step 1.1: UIの完全日本語化¶
# 対象ファイル: /var/docker/task2-service/app/rag-advisor/src/pages/ChatInterface.tsx
# 修正内容:
- "RAG Assistant" → "RAGアシスタント"
- "Ask questions about your documents" → "ドキュメントについて質問してください"
- "No messages yet" → "まだメッセージはありません"
- "Start a conversation by asking a question below" → "下の入力欄から質問を開始してください"
- "Ask a question..." → "質問を入力してください..."
Step 1.2: LINEデザイン言語コンポーネント適用¶
// LINEスタイルのチャットバブル実装
// 色彩: LINE Green (#00B900), LINE Gray (#F7F7F7)
// フォント: LINE Seed Sans JP
// アイコン: LINE風の丸型アバター
// レイアウト: LINEチャット風の右寄せ・左寄せ
Step 1.3: CSSスタイル調整¶
/* LINEデザイン適用 */
.chat-bubble-user: background-color: #00B900; color: white; border-radius: 18px;
.chat-bubble-bot: background-color: #F7F7F7; color: #333; border-radius: 18px;
Phase 2: Claude API連携実装¶
Step 2.1: Claude APIキー設定¶
# 環境変数設定
cd /var/docker/task2-service
echo "ANTHROPIC_API_KEY=sk-ant-api03-..." >> .env
echo "CLAUDE_MODEL=claude-3-5-sonnet-20241022" >> .env
Step 2.2: 実際のRAGロジック実装¶
// /var/docker/task2-service/app/api/src/routes/rag.js の修正
const Anthropic = require('@anthropic-ai/sdk');
const anthropic = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
// 実際のRAG実装:
// 1. ベクトル検索でドキュメント取得
// 2. コンテキストをClaudeに送信
// 3. 日本語で回答生成
Step 2.3: ベクトル検索統合¶
// pgvector + Meilisearch統合
// 既存のtask2-vector-db (PostgreSQL + pgvector) 活用
// task2-search (Meilisearch) 活用
Step 2.4: 日本語プロンプトエンジニアリング¶
const systemPrompt = `
あなたは日本語対応のRAGアシスタントです。
提供されたドキュメントを基に、正確で有用な回答を日本語で提供してください。
回答時のルール:
1. 必ず日本語で回答
2. 丁寧語を使用
3. ソース情報を含める
4. 不明な場合は正直に伝える
`;
🔧 実装環境¶
対象コンテナ・サービス¶
-
task2-api
: APIロジック実装 -
task2-ui
: フロントエンド更新 -
task2-vector-db
: ベクトル検索 -
task2-search
: 全文検索
利用可能インフラ¶
- ✅ PostgreSQL + pgvector (ベクトルDB稼働中)
- ✅ Meilisearch (検索エンジン稼働中)
- ✅ Redis (キャッシュ稼働中)
- ✅ Nginx (プロキシ設定済み)
📊 期待される成果¶
完成後の機能¶
- 日本語でのRAG対話: 自然な日本語での質問・回答
- LINEライクなUI: 親しみやすいチャット画面
- 実際のドキュメント検索: pgvector + Meilisearchでの高精度検索
- Claude連携: 最新のClaude 3.5 Sonnetでの回答生成
テスト項目¶
- 日本語質問の正常処理
- ドキュメント検索の精度確認
- Claude API応答の品質確認
- LINE風UIの表示確認
🎯 開始準備完了¶
現在のシステム状況:
- ✅ UI基盤: 完成
- ✅ API構造: 完成
- ✅ インフラ: 完全稼働
- 🔄 Claude API: 実装待ち
標準ワークフローに従って実装を開始してください。
Redmine Admin さんが10日前に更新
📊 Phase 2進捗報告 - Claude API連携実装中¶
✅ 完了済み項目¶
Phase 1: LINE風デザイン・日本語化¶
- ✅ 完全完了: 100%達成
- ✅ UI: LINE風チャット画面実装
- ✅ 日本語化: 全UI・メッセージの日本語対応
- ✅ 動作確認: ブラウザテスト済み・スクリーンショット取得
Phase 2: Claude API連携実装¶
- ✅ 環境設定: ANTHROPIC_API_KEY・CLAUDE_MODEL設定
- ✅ コード実装: 208行の完全なClaude API統合ロジック作成
- ✅ 日本語プロンプト: 日本語システムプロンプト実装
- ✅ 検索統合: Meilisearch・pgvector統合準備
- ✅ Git管理: コード変更をコミット・バックアップ作成
🔄 現在の課題と対応¶
依存関係の問題¶
-
問題: コンテナ内で
@anthropic-ai/sdk
モジュールが見つからない - 原因: package.jsonとnode_modules間の不整合
- 対応: 依存関係解決後にClaude API統合を再適用予定
実装済み機能(動作準備完了)¶
- /api/rag/ask: Claude API + RAG問答
- /api/rag/health: Claude API接続テスト
- 日本語システムプロンプト
- Meilisearch全文検索
- エラーハンドリング・ログ
📈 進捗率¶
- Phase 1: 100%完了 ✅
- Phase 2: 75%完了 🔄
- 全体: 87.5%完了
🎯 次のアクション¶
- 依存関係解決: npm install・モジュール同期
- Claude API統合再適用: 実装済みコードを安全に適用
- 段階的テスト: API→UI→エンドツーエンドテスト
- 最終動作確認: 日本語RAGシステム完全動作確認
Line風日本語RAGシステムの基盤は完成、Claude API統合の最終調整中です。
操作