|
|
@@ -1,207 +1,207 @@
|
|
|
# AuraK
|
|
|
|
|
|
-AuraK は、マルチテナント対応のインテリジェント AI ナレッジベースプラットフォームです。React + NestJS をベースにしたフルスタックの RAG (検索拡張生成) システムで、外部 API、RBAC、テナント分離をサポートします。
|
|
|
+AuraK is a multi-tenant intelligent AI knowledge base platform. Built with React + NestJS, it's a full-stack RAG (Retrieval-Augmented Generation) system with external API support, RBAC, and tenant isolation.
|
|
|
|
|
|
-## ✨ 特徴
|
|
|
+## ✨ Features
|
|
|
|
|
|
-- 🔐 **ユーザーシステム**: ユーザー登録、ログイン、権限管理を完備
|
|
|
-- 🤖 **マルチモデル対応**: OpenAI 互換インターフェース + Google Gemini ネイティブサポート
|
|
|
-- 📚 **インテリジェント・ナレッジベース**: ドキュメントのアップロード、チャンク分割、ベクトル化、ハイブリッド検索
|
|
|
-- 💬 **ストリーミング会話**: 処理状況と生成内容をリアルタイムに表示
|
|
|
-- 🔍 **引用追跡**: 回答の根拠となるドキュメントのソースと関連セグメントを明確に表示
|
|
|
-- 🌍 **多言語対応**: 日本語、中国語、英語のインターフェースおよびAI回答に対応
|
|
|
-- 👁️ **ビジョン機能**: 画像処理をサポートするマルチモーダルモデルに対応
|
|
|
-- ⚙️ **柔軟な設定**: ユーザー独自のAPIキーと推論パラメータのカスタマイズが可能
|
|
|
-- 🎯 **デュアルモード処理**: 高速モード (Tika) + 高精度モード (Vision Pipeline)
|
|
|
-- 💰 **コスト管理**: ユーザーの利用枠(クォータ)管理とコスト見積もり
|
|
|
+- 🔐 **User System**: Complete user registration, login, and permission management
|
|
|
+- 🤖 **Multi-Model Support**: OpenAI-compatible interfaces + Google Gemini native support
|
|
|
+- 📚 **Intelligent Knowledge Base**: Document upload, chunking, vectorization, hybrid search
|
|
|
+- 💬 **Streaming Chat**: Real-time display of processing status and generated content
|
|
|
+- 🔍 **Citation Tracking**: Clear display of source documents and related segments for answers
|
|
|
+- 🌍 **Multi-Language Support**: Japanese, Chinese, and English for interface and AI responses
|
|
|
+- 👁️ **Vision Capabilities**: Supports multimodal models for image processing
|
|
|
+- ⚙️ **Flexible Configuration**: User-specific API keys and inference parameter customization
|
|
|
+- 🎯 **Dual-Mode Processing**: Fast mode (Tika) + High-precision mode (Vision Pipeline)
|
|
|
+- 💰 **Cost Management**: User quota management and cost estimation
|
|
|
|
|
|
-## 🏗️ 技術スタック
|
|
|
+## 🏗️ Tech Stack
|
|
|
|
|
|
-### フロントエンド
|
|
|
+### Frontend
|
|
|
|
|
|
-- **フレームワーク**: React 19 + TypeScript + Vite
|
|
|
-- **スタイリング**: Tailwind CSS
|
|
|
-- **アイコン**: Lucide React
|
|
|
-- **状態管理**: React Context
|
|
|
+- **Framework**: React 19 + TypeScript + Vite
|
|
|
+- **Styling**: Tailwind CSS
|
|
|
+- **Icons**: Lucide React
|
|
|
+- **State Management**: React Context
|
|
|
|
|
|
-### バックエンド
|
|
|
+### Backend
|
|
|
|
|
|
-- **フレームワーク**: NestJS + TypeScript
|
|
|
-- **AI フレームワーク**: LangChain
|
|
|
-- **データベース**: SQLite (メタデータ) + Elasticsearch (ベクトルストレージ)
|
|
|
-- **ファイル処理**: Apache Tika + Vision Pipeline
|
|
|
-- **認証**: JWT
|
|
|
-- **ドキュメント変換**: LibreOffice + ImageMagick
|
|
|
+- **Framework**: NestJS + TypeScript
|
|
|
+- **AI Framework**: LangChain
|
|
|
+- **Database**: SQLite (metadata) + Elasticsearch (vector storage)
|
|
|
+- **File Processing**: Apache Tika + Vision Pipeline
|
|
|
+- **Authentication**: JWT
|
|
|
+- **Document Conversion**: LibreOffice + ImageMagick
|
|
|
|
|
|
-## 🏢 内网部署
|
|
|
+## 🏢 Internal Network Deployment
|
|
|
|
|
|
-本系统支持在内网环境中部署。主要修改包括:
|
|
|
+This system supports deployment in internal networks. Main modifications include:
|
|
|
|
|
|
-- **外部资源**: 已将 KaTeX CSS 从外部 CDN 移至本地资源
|
|
|
-- **AI模型**: 支持配置内网AI模型服务,无需访问外部API
|
|
|
-- **构建配置**: Dockerfiles 可配置使用内网镜像源
|
|
|
+- **External Resources**: KaTeX CSS moved from external CDN to local resources
|
|
|
+- **AI Models**: Supports configuring internal AI model services without external API access
|
|
|
+- **Build Configuration**: Dockerfiles can be configured to use internal image registries
|
|
|
|
|
|
-有关详细配置说明,请参阅 [内网部署指南](INTERNAL_DEPLOYMENT_GUIDE.md)。
|
|
|
+See [Internal Deployment Guide](INTERNAL_DEPLOYMENT_GUIDE.md) for detailed configuration instructions.
|
|
|
|
|
|
-## 🚀 クイックスタート
|
|
|
+## 🚀 Quick Start
|
|
|
|
|
|
-### 前提条件
|
|
|
+### Prerequisites
|
|
|
|
|
|
- Node.js 18+
|
|
|
- Yarn
|
|
|
- Docker & Docker Compose
|
|
|
|
|
|
-### 1. プロジェクトのクローン
|
|
|
+### 1. Clone the Project
|
|
|
|
|
|
```bash
|
|
|
git clone <repository-url>
|
|
|
cd simple-kb
|
|
|
```
|
|
|
|
|
|
-### 2. 依存関係のインストール
|
|
|
+### 2. Install Dependencies
|
|
|
|
|
|
```bash
|
|
|
yarn install
|
|
|
```
|
|
|
|
|
|
-### 3. 基本サービスの起動
|
|
|
+### 3. Start Basic Services
|
|
|
|
|
|
```bash
|
|
|
docker-compose up -d elasticsearch tika libreoffice
|
|
|
```
|
|
|
|
|
|
-### 4. 環境変数の設定
|
|
|
+### 4. Configure Environment Variables
|
|
|
|
|
|
```bash
|
|
|
-# バックエンドの環境設定
|
|
|
+# Backend environment setup
|
|
|
cp server/.env.sample server/.env
|
|
|
-# server/.env ファイルを編集(APIキーなどを設定)
|
|
|
+# Edit server/.env file (set API keys, etc.)
|
|
|
|
|
|
-# フロントエンドの環境設定
|
|
|
+# Frontend environment setup
|
|
|
cp web/.env.example web/.env
|
|
|
-# web/.env ファイルを編集(必要に応じてフロントエンド設定を変更)
|
|
|
+# Edit web/.env file (modify frontend settings as needed)
|
|
|
```
|
|
|
|
|
|
-設定の詳細については、`server/.env.sample` と `web/.env.example` ファイル内のコメントを参照してください。
|
|
|
+See the comments in `server/.env.sample` and `web/.env.example` for detailed configuration.
|
|
|
|
|
|
-### 5. 開発サーバーの起動
|
|
|
+### 5. Start Development Server
|
|
|
|
|
|
```bash
|
|
|
yarn dev
|
|
|
```
|
|
|
|
|
|
-<http://localhost:5173> にアクセスして開始してください!
|
|
|
+Access http://localhost:5173 to get started!
|
|
|
|
|
|
-## 📖 利用ガイド
|
|
|
+## 📖 User Guide
|
|
|
|
|
|
-### 1. ユーザー登録/ログイン
|
|
|
+### 1. User Registration/Login
|
|
|
|
|
|
-- 初回利用時はアカウント登録が必要です。
|
|
|
-- 各ユーザーは独立したナレッジベースとモデル設定を持ちます。
|
|
|
+- Account registration is required for first-time use.
|
|
|
+- Each user has their own independent knowledge base and model settings.
|
|
|
|
|
|
-### 2. AIモデルの設定
|
|
|
+### 2. AI Model Configuration
|
|
|
|
|
|
-- 「モデル管理」からAIモデルを追加します。
|
|
|
-- OpenAI、DeepSeek、Claude などの互換インターフェースをサポートしています。
|
|
|
-- Google Gemini ネイティブインターフェースをサポートしています。
|
|
|
-- LLM、Embedding、Rerank モデルを設定可能です。
|
|
|
+- Add AI models from "Model Management".
|
|
|
+- Supports OpenAI, DeepSeek, Claude and other compatible interfaces.
|
|
|
+- Supports Google Gemini native interface.
|
|
|
+- Configure LLM, Embedding, and Rerank models.
|
|
|
|
|
|
-### 3. ドキュメントのアップロード
|
|
|
+### 3. Document Upload
|
|
|
|
|
|
-- PDF, Word, PPT, Excel など、多様なフォーマットに対応しています。
|
|
|
-- 高速モード (テキストのみ) または高精度モード (画像・テキスト混合) を選択可能です。
|
|
|
-- ドキュメントのチャンクサイズとオーバーラップを調整可能です。
|
|
|
-- ベクトル化に使用する Embedding モデルを選択します。
|
|
|
+- Supports various formats: PDF, Word, PPT, Excel, etc.
|
|
|
+- Choose between Fast mode (text-only) or High-precision mode (image + text mixed).
|
|
|
+- Adjustable chunk size and overlap for documents.
|
|
|
+- Select embedding model for vectorization.
|
|
|
|
|
|
-### 4. インテリジェントQ&Aの開始
|
|
|
+### 4. Start Intelligent Q&A
|
|
|
|
|
|
-- アップロードしたドキュメントに基づいて質問応答を行います。
|
|
|
-- 検索と生成のプロセスをリアルタイムで確認できます。
|
|
|
-- 回答の出典や関連ドキュメントの断片を確認できます。
|
|
|
+- Ask questions based on uploaded documents.
|
|
|
+- View search and generation process in real-time.
|
|
|
+- Check answer sources and related document fragments.
|
|
|
|
|
|
-## 🔧 設定の説明
|
|
|
+## 🔧 Configuration Guide
|
|
|
|
|
|
-### モデル設定
|
|
|
+### Model Settings
|
|
|
|
|
|
-- **LLM モデル**: 対話生成に使用 (例: GPT-4, Gemini-1.5-Pro)
|
|
|
-- **Embedding モデル**: ドキュメントのベクトル化に使用 (例: text-embedding-3-small)
|
|
|
-- **Rerank モデル**: 検索結果の再ランキングに使用 (オプション)
|
|
|
+- **LLM Model**: Used for dialogue generation (e.g., GPT-4, Gemini-1.5-Pro)
|
|
|
+- **Embedding Model**: Used for document vectorization (e.g., text-embedding-3-small)
|
|
|
+- **Rerank Model**: Used for re-ranking search results (optional)
|
|
|
|
|
|
-### 推論パラメータ
|
|
|
+### Inference Parameters
|
|
|
|
|
|
-- **Temperature**: 回答のランダム性を制御 (0-1)
|
|
|
-- **Max Tokens**: 最大出力長
|
|
|
-- **Top K**: 検索するドキュメントセグメントの数
|
|
|
-- **類似度しきい値**: 低い関連性のコンテンツをフィルタリング
|
|
|
+- **Temperature**: Controls answer randomness (0-1)
|
|
|
+- **Max Tokens**: Maximum output length
|
|
|
+- **Top K**: Number of document segments to search
|
|
|
+- **Similarity Threshold**: Filters low-relevance content
|
|
|
|
|
|
-## 📁 プロジェクト構造
|
|
|
+## 📁 Project Structure
|
|
|
|
|
|
```
|
|
|
simple-kb/
|
|
|
-├── web/ # フロントエンド・アプリケーション
|
|
|
-│ ├── components/ # React コンポーネント
|
|
|
-│ ├── services/ # API サービス
|
|
|
+├── web/ # Frontend application
|
|
|
+│ ├── components/ # React components
|
|
|
+│ ├── services/ # API services
|
|
|
│ ├── contexts/ # React Context
|
|
|
-│ └── utils/ # ユーティリティ関数
|
|
|
-├── server/ # バックエンド・アプリケーション
|
|
|
+│ └── utils/ # Utility functions
|
|
|
+├── server/ # Backend application
|
|
|
│ ├── src/
|
|
|
-│ │ ├── auth/ # 認証モジュール
|
|
|
-│ │ ├── chat/ # チャットモジュール
|
|
|
-│ │ ├── knowledge-base/ # ナレッジベースモジュール
|
|
|
-│ │ ├── model-config/ # モデル設定モジュール
|
|
|
-│ │ └── user/ # ユーザーモジュール
|
|
|
-│ └── data/ # データストレージ
|
|
|
-├── docs/ # プロジェクトドキュメント
|
|
|
-└── docker-compose.yml # Docker 設定
|
|
|
+│ │ ├── auth/ # Authentication module
|
|
|
+│ │ ├── chat/ # Chat module
|
|
|
+│ │ ├── knowledge-base/ # Knowledge base module
|
|
|
+│ │ ├── model-config/ # Model configuration module
|
|
|
+│ │ └── user/ # User module
|
|
|
+│ └── data/ # Data storage
|
|
|
+├── docs/ # Project documentation
|
|
|
+└── docker-compose.yml # Docker configuration
|
|
|
```
|
|
|
|
|
|
-## 📚 ドキュメント
|
|
|
+## 📚 Documentation
|
|
|
|
|
|
-- [システム設計ドキュメント](docs/DESIGN.md)
|
|
|
-- [現在の実装状況](docs/CURRENT_IMPLEMENTATION.md)
|
|
|
-- [API ドキュメント](docs/API.md)
|
|
|
-- [デプロイガイド](docs/DEPLOYMENT.md)
|
|
|
-- [RAG 機能の実装](docs/rag_complete_implementation.md)
|
|
|
+- [System Design Document](docs/DESIGN.md)
|
|
|
+- [Current Implementation Status](docs/CURRENT_IMPLEMENTATION.md)
|
|
|
+- [API Documentation](docs/API.md)
|
|
|
+- [Deployment Guide](docs/DEPLOYMENT.md)
|
|
|
+- [RAG Feature Implementation](docs/rag_complete_implementation.md)
|
|
|
|
|
|
-## 🐳 Docker デプロイ
|
|
|
+## 🐳 Docker Deployment
|
|
|
|
|
|
-### 開発環境
|
|
|
+### Development Environment
|
|
|
|
|
|
```bash
|
|
|
-# 基本サービスの起動
|
|
|
+# Start basic services
|
|
|
docker-compose up -d elasticsearch tika
|
|
|
|
|
|
-# ローカル開発
|
|
|
+# Local development
|
|
|
yarn dev
|
|
|
```
|
|
|
|
|
|
-### 本番環境
|
|
|
+### Production Environment
|
|
|
|
|
|
```bash
|
|
|
-# すべてのサービスをビルドして起動
|
|
|
+# Build and start all services
|
|
|
docker-compose up -d
|
|
|
```
|
|
|
|
|
|
-## 🤝 貢献ガイド
|
|
|
+## 🤝 Contributing
|
|
|
|
|
|
-1. プロジェクトを Fork する
|
|
|
-2. 機能ブランチを作成する (`git checkout -b feature/AmazingFeature`)
|
|
|
-3. 変更をコミットする (`git commit -m 'Add some AmazingFeature'`)
|
|
|
-4. ブランチにプッシュする (`git push origin feature/AmazingFeature`)
|
|
|
-5. Pull Request を開く
|
|
|
+1. Fork the project
|
|
|
+2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
|
|
|
+3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
|
|
|
+4. Push to the branch (`git push origin feature/AmazingFeature`)
|
|
|
+5. Open a Pull Request
|
|
|
|
|
|
-## 📄 ライセンス
|
|
|
+## 📄 License
|
|
|
|
|
|
-このプロジェクトは MIT ライセンスの下で提供されています。詳細は [LICENSE](LICENSE) ファイルをご覧ください。
|
|
|
+This project is provided under the MIT license. See the [LICENSE](LICENSE) file for details.
|
|
|
|
|
|
-## 🙏 謝辞
|
|
|
+## 🙏 Acknowledgments
|
|
|
|
|
|
-- [LangChain](https://langchain.com/) - AI アプリケーション開発フレームワーク
|
|
|
-- [NestJS](https://nestjs.com/) - Node.js バックエンドフレームワーク
|
|
|
-- [React](https://react.dev/) - フロントエンド UI フレームワーク
|
|
|
-- [Elasticsearch](https://www.elastic.co/) - 検索および分析エンジン
|
|
|
-- [Apache Tika](https://tika.apache.org/) - ドキュメント解析ツール
|
|
|
+- [LangChain](https://langchain.com/) - AI application development framework
|
|
|
+- [NestJS](https://nestjs.com/) - Node.js backend framework
|
|
|
+- [React](https://react.dev/) - Frontend UI framework
|
|
|
+- [Elasticsearch](https://www.elastic.co/) - Search and analytics engine
|
|
|
+- [Apache Tika](https://tika.apache.org/) - Document parsing tool
|
|
|
|
|
|
-## 📞 サポート
|
|
|
+## 📞 Support
|
|
|
|
|
|
-質問や提案がある場合は、[Issue](../../issues) を送信するか、メンテナーに連絡してください。
|
|
|
+For questions or suggestions, please submit an [Issue](../../issues) or contact the maintainers.
|