diff --git a/README.md b/README.md index 100292f2..134cc424 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,6 @@ WeKnora offers two Q&A modes — **Quick Q&A** and **Intelligent Reasoning**. Qu The framework supports auto-syncing knowledge from Feishu (more data sources coming soon), handles 10+ document formats including PDF, Word, images, and Excel, and can serve Q&A directly through IM channels like WeCom, Feishu, Slack, and Telegram. It is compatible with major LLM providers including OpenAI, DeepSeek, Qwen (Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, and Ollama. Its fully modular design allows swapping LLMs, vector databases, and storage backends, with support for local and private cloud deployment ensuring complete data sovereignty. -**Website:** https://weknora.weixin.qq.com ## ✨ Latest Updates @@ -56,8 +55,8 @@ The framework supports auto-syncing knowledge from Feishu (more data sources com - **[Knowledge Assistant](https://weknora.weixin.qq.com/platform)**: Cloud-hosted knowledge assistant service for quick onboarding without local deployment - **WeKnora Cloud**: WeKnora Cloud provider with hosted LLM models and document parsing service, credential management and status checks -- **Chrome Extension**: Browser extension for web page knowledge capture -- **ClawHub Skill**: ClawHub Skill marketplace integration for one-click agent skill installation +- **[Chrome Extension](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)**: Browser extension for web page knowledge capture +- **[ClawHub Skill](https://clawhub.ai/lyingbug/weknora)**: ClawHub Skill marketplace integration for one-click agent skill installation - **WeChat IM Integration**: WeChat channel adapter with QR code login and long-polling message support - **Attachment Processing**: File attachment support in chat pipeline with content formatting and metadata injection - **Azure OpenAI Provider**: Full Azure OpenAI support for chat, VLM, and embedding models with deployment name preservation and dimensions parameter @@ -67,6 +66,9 @@ The framework supports auto-syncing knowledge from Feishu (more data sources com - **VectorStore Management**: Full VectorStore CRUD with entity, repository, service layer, connection testing, and API endpoints - **Bug Fixes**: Fixed Azure OpenAI endpoint handling, embedding truncation, IM citation tag stripping, neo4j Go 1.24 Windows compatibility, and OSS signature issues +
+Earlier Releases + **v0.3.6 Highlights:** - **ASR (Automatic Speech Recognition)**: Integrated ASR model support with audio file upload, in-document audio preview, and transcription capabilities @@ -92,8 +94,6 @@ The framework supports auto-syncing knowledge from Feishu (more data sources com - **Channel Tracking**: Knowledge entries and messages record source channel (web/api/im/browser_extension) for traceability - **Bug Fixes**: Fixed agent empty response when no knowledge base is configured, UTF-8 truncation in summaries for Chinese/emoji documents, API key encryption loss on tenant settings update, vLLM streaming reasoning content propagation, and rerank empty passage errors -
-Earlier Releases **v0.3.4 Highlights:** @@ -213,7 +213,6 @@ Fully modular pipeline from document parsing, vectorization, and retrieval to LL [**WeKnora Chrome Extension**](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd) lets you capture web content directly into your WeKnora knowledge base. Select text, images, or entire pages in the browser and save them as knowledge entries with one click — no copy-paste or file upload needed. -👉 Install from the [Chrome Web Store](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd) ## 🦞 ClawHub Skill @@ -228,87 +227,45 @@ Fully modular pipeline from document parsing, vectorization, and retrieval to LL ### 🛠 Prerequisites -Make sure the following tools are installed on your system: +- [Docker](https://www.docker.com/) & [Docker Compose](https://docs.docker.com/compose/) +- [Git](https://git-scm.com/) -* [Docker](https://www.docker.com/) -* [Docker Compose](https://docs.docker.com/compose/) -* [Git](https://git-scm.com/) - -### 📦 Installation - -#### ① Clone the repository +### 📦 Installation & Launch ```bash -# Clone the main repository git clone https://github.com/Tencent/WeKnora.git cd WeKnora +cp .env.example .env # Edit .env as needed, see comments in the file +docker compose up -d # Start core services ``` -#### ② Configure environment variables +Once started, visit **http://localhost** to get started. -```bash -# Copy example env file -cp .env.example .env +> To use a local Ollama model, run `ollama serve > /dev/null 2>&1 &` first. -# Edit .env and set required values -# All variables are documented in the .env.example comments -``` +### 🔧 Optional Services (Docker Compose Profiles) -#### ③ Start the core services +Add `--profile` flags to enable additional components. Multiple profiles can be combined: -#### Start Ollama separately (Optional) +| Profile | Description | Command | +|---------|-------------|---------| +| _(default)_ | Core services | `docker compose up -d` | +| `full` | All features | `docker compose --profile full up -d` | +| `neo4j` | Knowledge Graph (Neo4j) | `docker compose --profile neo4j up -d` | +| `minio` | Object Storage (MinIO) | `docker compose --profile minio up -d` | +| `jaeger` | Tracing (Jaeger) | `docker compose --profile jaeger up -d` | -If you configured a local Ollama model in `.env`, start the Ollama service separately: +Combine profiles: `docker compose --profile neo4j --profile minio up -d` -```bash -ollama serve > /dev/null 2>&1 & -``` +Stop services: `docker compose down` -#### Activate different combinations of features +### 🌐 Service URLs -- Minimum core services -```bash -docker compose up -d -``` - -- All features enabled -```bash -docker compose --profile full up -d -``` - -- Tracing logs required -```bash -docker compose --profile jaeger up -d -``` - -- Neo4j knowledge graph required -```bash -docker compose --profile neo4j up -d -``` - -- Minio file storage service required -```bash -docker compose --profile minio up -d -``` - -- Multiple options combination -```bash -docker compose --profile neo4j --profile minio up -d -``` - -#### ④ Stop the services - -```bash -docker compose down -``` - -### 🌐 Access Services - -Once started, services will be available at: - -* Web UI: `http://localhost` -* Backend API: `http://localhost:8080` -* Jaeger Tracing: `http://localhost:16686` +| Service | URL | +|---------|-----| +| Web UI | `http://localhost` | +| Backend API | `http://localhost:8080` | +| Jaeger Tracing | `http://localhost:16686` | ## 📱 Interface Showcase @@ -392,42 +349,11 @@ WeKnora/ ## 🤝 Contributing -We welcome community contributions! For suggestions, bugs, or feature requests, please submit an [Issue](https://github.com/Tencent/WeKnora/issues) or directly create a Pull Request. +Welcome to submit [Issues](https://github.com/Tencent/WeKnora/issues) or Pull Requests. -### 🎯 How to Contribute +**Process:** Fork → Create branch → Commit changes → Open PR -- 🐛 **Bug Fixes**: Discover and fix system defects -- ✨ **New Features**: Propose and implement new capabilities -- 📚 **Documentation**: Improve project documentation -- 🧪 **Test Cases**: Write unit and integration tests -- 🎨 **UI/UX Enhancements**: Improve user interface and experience - -### 📋 Contribution Process - -1. **Fork the project** to your GitHub account -2. **Create a feature branch** `git checkout -b feature/amazing-feature` -3. **Commit changes** `git commit -m 'Add amazing feature'` -4. **Push branch** `git push origin feature/amazing-feature` -5. **Create a Pull Request** with detailed description of changes - -### 🎨 Code Standards - -- Follow [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) -- Format code using `gofmt` -- Add necessary unit tests -- Update relevant documentation - -### 📝 Commit Guidelines - -Use [Conventional Commits](https://www.conventionalcommits.org/) standard: - -``` -feat: Add document batch upload functionality -fix: Resolve vector retrieval precision issue -docs: Update API documentation -test: Add retrieval engine test cases -refactor: Restructure document parsing module -``` +**Standards:** Format code with `gofmt`, follow [Conventional Commits](https://www.conventionalcommits.org/) (`feat:` / `fix:` / `docs:` / `test:` / `refactor:`) ## 🔒 Security Notice diff --git a/README_CN.md b/README_CN.md index 4753c351..268405fa 100644 --- a/README_CN.md +++ b/README_CN.md @@ -48,16 +48,14 @@ WeKnora 提供**快速问答**与**智能推理**两种问答模式。快速问 框架支持从飞书等外部平台自动同步知识(更多数据源持续接入中),覆盖 PDF、Word、图片、Excel 等十余种文档格式,并可通过企业微信、飞书、Slack、Telegram 等 IM 频道直接提供问答服务。模型层面兼容 OpenAI、DeepSeek、Qwen(阿里云)、智谱、混元、Gemini、MiniMax、NVIDIA、Ollama 等主流厂商。全流程模块化设计,大模型、向量数据库、存储等组件均可灵活替换,支持本地与私有云部署,数据完全自主可控。 -**官网:** [https://weknora.weixin.qq.com](https://weknora.weixin.qq.com) - ## ✨ 最新更新 **v0.4.0 版本亮点:** - **[知识助理](https://weknora.weixin.qq.com/platform)**:云端托管的知识助理服务,无需本地部署即可快速体验 - **WeKnora Cloud**:WeKnora Cloud 模型服务集成,提供托管大模型和文档解析能力,支持凭证管理与状态检查 -- **Chrome 插件**:浏览器插件支持网页知识快速采集 -- **ClawHub Skill**:ClawHub Skill 技能市场集成,一键安装 Agent 技能 +- **[Chrome 插件](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)**:浏览器插件支持网页知识快速采集 +- **[ClawHub Skill](https://clawhub.ai/lyingbug/weknora)**:ClawHub Skill 技能市场集成,一键安装 Agent 技能 - **微信 IM 集成**:微信频道适配器,支持扫码登录和长轮询消息接收 - **附件处理**:对话流水线支持文件附件,增强错误处理和内容格式化,注入图片/附件元数据 - **Azure OpenAI 提供商**:全面支持 Azure OpenAI 的 Chat、VLM 和 Embedding 模型,保留部署名称映射,支持 dimensions 参数配置 @@ -67,6 +65,9 @@ WeKnora 提供**快速问答**与**智能推理**两种问答模式。快速问 - **VectorStore 管理**:完整的 VectorStore CRUD 功能,包含实体、仓库、服务层、连通性测试和 API 端点 - **重要修复**:修复 Azure OpenAI 端点处理、Embedding 截断、IM 引用标签清理、neo4j Go 1.24 Windows 兼容性及 OSS 签名问题 +
+更早版本 + **v0.3.6 版本亮点:** - **ASR 语音识别**:集成 ASR 模型,支持音频文件上传、文档内音频预览和语音转写能力 @@ -92,9 +93,6 @@ WeKnora 提供**快速问答**与**智能推理**两种问答模式。快速问 - **来源频道标记**:知识条目和消息新增channel字段,记录来源(web/api/im/browser_extension),便于追溯 - **重要修复**:修复无知识库时Agent空响应、中文/emoji文档摘要UTF-8截断、租户设置更新时API密钥加密丢失、vLLM流式推理内容缺失、Rerank空段落过滤等问题 -
-更早版本 - **v0.3.4 版本亮点:** - **IM机器人集成**:支持企业微信、飞书、Slack IM频道,WebSocket/Webhook双模式,流式回复与知识库集成 @@ -213,7 +211,6 @@ WeKnora 提供**快速问答**与**智能推理**两种问答模式。快速问 [**WeKnora Chrome 插件**](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)支持在浏览器中直接将网页内容采集到 WeKnora 知识库。选中文本、图片或整个页面,一键保存为知识条目,无需复制粘贴或手动上传文件。 -👉 前往 [Chrome 应用商店](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd) 安装 ## 🦞 ClawHub Skill @@ -228,93 +225,45 @@ WeKnora 提供**快速问答**与**智能推理**两种问答模式。快速问 ### 🛠 环境要求 -确保本地已安装以下工具: - -- [Docker](https://www.docker.com/) -- [Docker Compose](https://docs.docker.com/compose/) +- [Docker](https://www.docker.com/) & [Docker Compose](https://docs.docker.com/compose/) - [Git](https://git-scm.com/) -### 📦 安装步骤 - -#### ① 克隆代码仓库 +### 📦 安装与启动 ```bash -# 克隆主仓库 git clone https://github.com/Tencent/WeKnora.git cd WeKnora +cp .env.example .env # 按需编辑 .env,详见文件内注释 +docker compose up -d # 启动核心服务 ``` -#### ② 配置环境变量 +启动成功后访问 **http://localhost** 即可使用。 -```bash -# 复制示例配置文件 -cp .env.example .env +> 如需使用本地 Ollama 模型,请先运行 `ollama serve > /dev/null 2>&1 &` -# 编辑 .env,填入对应配置信息 -# 所有变量说明详见 .env.example 注释 -``` +### 🔧 可选服务(Docker Compose Profile) -#### ③ 启动主服务 +按需添加 `--profile` 启动额外组件,多个 profile 可叠加使用: -#### 单独启动 Ollama(可选) +| Profile | 说明 | 启动命令 | +|---------|------|----------| +| _(默认)_ | 核心服务 | `docker compose up -d` | +| `full` | 全部功能 | `docker compose --profile full up -d` | +| `neo4j` | 知识图谱 (Neo4j) | `docker compose --profile neo4j up -d` | +| `minio` | 对象存储 (MinIO) | `docker compose --profile minio up -d` | +| `jaeger` | 链路追踪 (Jaeger) | `docker compose --profile jaeger up -d` | -如果你在 `.env` 中配置了本地 Ollama 模型,还需要额外启动 Ollama 服务: +组合示例:`docker compose --profile neo4j --profile minio up -d` -```bash -ollama serve > /dev/null 2>&1 & -``` +停止服务:`docker compose down` -#### 激活不同组合的功能 +### 🌐 服务地址 -- 启动最小功能 - -```bash -docker compose up -d -``` - -- 启动全部功能 - -```bash -docker compose --profile full up -d -``` - -- 需要 tracing 日志 - -```bash -docker compose --profile jaeger up -d -``` - -- 需要 neo4j 知识图谱 - -```bash -docker compose --profile neo4j up -d -``` - -- 需要 minio 文件存储服务 - -```bash -docker compose --profile minio up -d -``` - -- 多选项组合 - -```bash -docker compose --profile neo4j --profile minio up -d -``` - -#### ④ 停止服务 - -```bash -docker compose down -``` - -### 🌐 服务访问地址 - -启动成功后,可访问以下地址: - -- Web UI:`http://localhost` -- 后端 API:`http://localhost:8080` -- 链路追踪(Jaeger):`http://localhost:16686` +| 服务 | 地址 | +|------|------| +| Web UI | `http://localhost` | +| 后端 API | `http://localhost:8080` | +| 链路追踪 (Jaeger) | `http://localhost:16686` | ## 📱 功能展示 @@ -405,42 +354,11 @@ WeKnora/ ## 🤝 贡献指南 -我们欢迎社区用户参与贡献!如有建议、Bug 或新功能需求,请通过 [Issue](https://github.com/Tencent/WeKnora/issues) 提出,或直接提交 Pull Request。 +欢迎通过 [Issue](https://github.com/Tencent/WeKnora/issues) 反馈问题或提交 Pull Request。 -### 🎯 贡献方式 +**流程:** Fork → 新建分支 → 提交更改 → 创建 PR -- 🐛 **Bug修复**: 发现并修复系统缺陷 -- ✨ **新功能**: 提出并实现新特性 -- 📚 **文档改进**: 完善项目文档 -- 🧪 **测试用例**: 编写单元测试和集成测试 -- 🎨 **UI/UX优化**: 改进用户界面和体验 - -### 📋 贡献流程 - -1. **Fork项目** 到你的GitHub账户 -2. **创建特性分支** `git checkout -b feature/amazing-feature` -3. **提交更改** `git commit -m 'Add amazing feature'` -4. **推送分支** `git push origin feature/amazing-feature` -5. **创建Pull Request** 并详细描述变更内容 - -### 🎨 代码规范 - -- 遵循 [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) -- 使用 `gofmt` 格式化代码 -- 添加必要的单元测试 -- 更新相关文档 - -### 📝 提交规范 - -使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范: - -``` -feat: 添加文档批量上传功能 -fix: 修复向量检索精度问题 -docs: 更新API文档 -test: 添加检索引擎测试用例 -refactor: 重构文档解析模块 -``` +**规范:** 使用 `gofmt` 格式化代码,遵循 [Conventional Commits](https://www.conventionalcommits.org/) 提交(`feat:` / `fix:` / `docs:` / `test:` / `refactor:`) ## 🔒 安全声明 diff --git a/README_JA.md b/README_JA.md index 25492e11..0704850b 100644 --- a/README_JA.md +++ b/README_JA.md @@ -48,16 +48,14 @@ WeKnora は**クイック Q&A** と**インテリジェント推論**の 2 つ Feishuなどの外部プラットフォームからのナレッジ自動同期(他のデータソースも順次対応中)に対応し、PDF、Word、画像、Excelなど10以上の文書フォーマットをサポート。WeChat Work、Feishu、Slack、TelegramなどのIMチャネルから直接Q&Aサービスを提供できます。モデル層ではOpenAI、DeepSeek、Qwen(Alibaba Cloud)、Zhipu、Hunyuan、Gemini、MiniMax、NVIDIA、Ollamaなど主要プロバイダーに対応。全プロセスをモジュラー設計し、大規模モデル、ベクトルデータベース、ストレージなどのコンポーネントを柔軟に差し替え可能。ローカルおよびプライベートクラウドデプロイに対応し、データは完全に自己管理可能です。 -**公式サイト:** https://weknora.weixin.qq.com - ## ✨ 最新アップデート **v0.4.0 バージョンのハイライト:** - **[知識アシスタント](https://weknora.weixin.qq.com/platform)**:クラウドホスティング型知識アシスタントサービス、ローカルデプロイ不要で即座に利用可能 - **WeKnora Cloud**:WeKnora Cloud プロバイダー統合、LLM モデルとドキュメント解析サービス、クレデンシャル管理とステータスチェック -- **Chrome 拡張機能**:ブラウザ拡張機能でWebページからのナレッジ取り込み -- **ClawHub Skill**:ClawHub Skill マーケットプレイス統合でワンクリックスキルインストール +- **[Chrome 拡張機能](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)**:ブラウザ拡張機能でWebページからのナレッジ取り込み +- **[ClawHub Skill](https://clawhub.ai/lyingbug/weknora)**:ClawHub Skill マーケットプレイス統合でワンクリックスキルインストール - **WeChat IM 統合**:WeChat チャネルアダプター。QR コードログインとロングポーリングメッセージをサポート - **添付ファイル処理**:チャットパイプラインでのファイル添付サポート、コンテンツフォーマットと画像/添付ファイルメタデータの注入 - **Azure OpenAI プロバイダー**:Azure OpenAI の Chat、VLM、Embedding モデルを完全サポート。デプロイメント名の保持と dimensions パラメータの設定に対応 @@ -67,6 +65,9 @@ Feishuなどの外部プラットフォームからのナレッジ自動同期 - **VectorStore 管理**:完全な VectorStore CRUD 機能。エンティティ、リポジトリ、サービスレイヤー、接続テスト、API エンドポイント - **重要なバグ修正**:Azure OpenAI エンドポイント処理、Embedding 切り詰め、IM 引用タグのストリップ、neo4j Go 1.24 Windows 互換性、OSS 署名問題を修正 +
+過去のリリース + **v0.3.6 バージョンのハイライト:** - **ASR(自動音声認識)**:ASRモデルを統合し、音声ファイルのアップロード、ドキュメント内音声プレビュー、音声文字起こし機能をサポート @@ -92,8 +93,6 @@ Feishuなどの外部プラットフォームからのナレッジ自動同期 - **チャネルトラッキング**:ナレッジエントリとメッセージにchannelフィールド追加(web/api/im/browser_extension) - **重要バグ修正**:ナレッジベース未設定時のAgent空レスポンス、中国語/絵文字ドキュメントのUTF-8切り詰め、テナント設定更新時のAPIキー暗号化消失、vLLMストリーミング推論コンテンツ欠落、Rerankの空パッセージエラーを修正 -
-過去のリリース **v0.3.4 バージョンのハイライト:** @@ -214,8 +213,6 @@ Feishuなどの外部プラットフォームからのナレッジ自動同期 [**WeKnora Chrome 拡張機能**](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)を使えば、ブラウザからWebコンテンツをWeKnoraナレッジベースに直接取り込めます。テキスト、画像、ページ全体を選択してワンクリックでナレッジエントリとして保存——コピペやファイルアップロード不要です。 -👉 [Chrome ウェブストア](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)からインストール - ## 🦞 ClawHub Skill [**WeKnora ClawHub Skill**](https://clawhub.ai/lyingbug/weknora)はClawHubプラットフォームで公開されたWeKnoraスキルです。インストール後、WeKnora REST APIを通じてドキュメントのアップロード(ファイル / URL / Markdown)、ハイブリッド検索(ベクトル + キーワード)、ナレッジエントリの管理が可能になります。 @@ -229,88 +226,45 @@ Feishuなどの外部プラットフォームからのナレッジ自動同期 ### 🛠 環境要件 -以下のツールがローカルにインストールされていることを確認してください: +- [Docker](https://www.docker.com/) & [Docker Compose](https://docs.docker.com/compose/) +- [Git](https://git-scm.com/) -* [Docker](https://www.docker.com/) -* [Docker Compose](https://docs.docker.com/compose/) -* [Git](https://git-scm.com/) - -### 📦 インストール手順 - -#### ① コードリポジトリのクローン +### 📦 インストール・起動 ```bash -# メインリポジトリをクローン git clone https://github.com/Tencent/WeKnora.git cd WeKnora +cp .env.example .env # 必要に応じて .env を編集(詳細はファイル内のコメント参照) +docker compose up -d # コアサービスを起動 ``` -#### ② 環境変数の設定 +起動後、**http://localhost** にアクセスして利用開始。 -```bash -# サンプル設定ファイルをコピー -cp .env.example .env +> ローカル Ollama モデルを使用する場合は、先に `ollama serve > /dev/null 2>&1 &` を実行してください。 -# .envを編集し、対応する設定情報を入力 -# すべての変数の説明は.env.exampleのコメントを参照 -``` +### 🔧 オプションサービス(Docker Compose Profile) -#### ③ メインサービスを起動します +`--profile` フラグで追加コンポーネントを有効化。複数の profile を組み合わせ可能: +| Profile | 説明 | コマンド | +|---------|------|---------| +| _(デフォルト)_ | コアサービス | `docker compose up -d` | +| `full` | 全機能 | `docker compose --profile full up -d` | +| `neo4j` | ナレッジグラフ (Neo4j) | `docker compose --profile neo4j up -d` | +| `minio` | オブジェクトストレージ (MinIO) | `docker compose --profile minio up -d` | +| `jaeger` | トレーシング (Jaeger) | `docker compose --profile jaeger up -d` | -#### Ollama を個別に起動する (オプション) +組み合わせ例:`docker compose --profile neo4j --profile minio up -d` -`.env` でローカル Ollama モデルを設定している場合は、追加で Ollama サービスを起動してください。 +サービス停止:`docker compose down` -```bash -ollama serve > /dev/null 2>&1 & -``` +### 🌐 サービスアドレス -#### さまざまな機能の組み合わせを有効にする - -- 最小限のコアサービス -```bash -docker compose up -d -``` - -- すべての機能を有効にする -```bash -docker compose --profile full up -d -``` - -- トレースログが必要 -```bash -docker compose --profile jaeger up -d -``` - -- Neo4j ナレッジグラフが必要 -```bash -docker compose --profile neo4j up -d -``` - -- Minio ファイルストレージサービスが必要 -```bash -docker compose --profile minio up -d -``` - -- 複数のオプションの組み合わせ -```bash -docker compose --profile neo4j --profile minio up -d -``` - -#### ④ サービスの停止 - -```bash -docker compose down -``` - -### 🌐 サービスアクセスアドレス - -起動成功後、以下のアドレスにアクセスできます: - -* Web UI:`http://localhost` -* バックエンドAPI:`http://localhost:8080` -* リンクトレース(Jaeger):`http://localhost:16686` +| サービス | URL | +|---------|-----| +| Web UI | `http://localhost` | +| バックエンド API | `http://localhost:8080` | +| Jaeger トレーシング | `http://localhost:16686` | ## 📱 機能デモ @@ -399,42 +353,11 @@ WeKnora/ ## 🤝 貢献ガイド -コミュニティユーザーの貢献を歓迎します!提案、バグ、新機能のリクエストがある場合は、[Issue](https://github.com/Tencent/WeKnora/issues)を通じて提出するか、直接Pull Requestを提出してください。 +[Issue](https://github.com/Tencent/WeKnora/issues) や Pull Request の提出を歓迎します。 -### 🎯 貢献方法 +**フロー:** Fork → ブランチ作成 → 変更をコミット → PR を作成 -- 🐛 **バグ修正**: システムの欠陥を発見して修正 -- ✨ **新機能**: 新しい機能を提案して実装 -- 📚 **ドキュメント改善**: プロジェクトドキュメントを改善 -- 🧪 **テストケース**: ユニットテストと統合テストを作成 -- 🎨 **UI/UX最適化**: ユーザーインターフェースと体験を改善 - -### 📋 貢献フロー - -1. **プロジェクトをFork** してあなたのGitHubアカウントへ -2. **機能ブランチを作成** `git checkout -b feature/amazing-feature` -3. **変更をコミット** `git commit -m 'Add amazing feature'` -4. **ブランチをプッシュ** `git push origin feature/amazing-feature` -5. **Pull Requestを作成** して変更内容を詳しく説明 - -### 🎨 コード規約 - -- [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)に従う -- `gofmt`を使用してコードをフォーマット -- 必要なユニットテストを追加 -- 関連ドキュメントを更新 - -### 📝 コミット規約 - -[Conventional Commits](https://www.conventionalcommits.org/)規約を使用: - -``` -feat: 文書バッチアップロード機能を追加 -fix: ベクトル検索精度の問題を修正 -docs: APIドキュメントを更新 -test: 検索エンジンテストケースを追加 -refactor: 文書解析モジュールをリファクタリング -``` +**規約:** `gofmt` でコードをフォーマット、[Conventional Commits](https://www.conventionalcommits.org/) に従う(`feat:` / `fix:` / `docs:` / `test:` / `refactor:`) ## 🔒 セキュリティ通知 diff --git a/README_KO.md b/README_KO.md index bb938896..32d4571d 100644 --- a/README_KO.md +++ b/README_KO.md @@ -48,16 +48,14 @@ WeKnora는 **빠른 Q&A**와 **지능형 추론** 두 가지 Q&A 모드를 제 Feishu 등 외부 플랫폼에서 지식 자동 동기화를 지원하며(추가 데이터 소스 개발 중), PDF, Word, 이미지, Excel 등 10가지 이상의 문서 포맷을 처리합니다. WeChat Work, Feishu, Slack, Telegram 등의 IM 채널을 통해 Q&A 서비스를 직접 제공할 수 있습니다. 모델 레이어에서 OpenAI, DeepSeek, Qwen(Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, Ollama 등 주요 프로바이더를 지원합니다. 전체 프로세스가 모듈화 설계되어 LLM, 벡터 DB, 스토리지 등 구성 요소를 유연하게 교체 가능하며, 로컬 및 프라이빗 클라우드 배포를 지원하여 데이터 완전 자체 관리가 가능합니다. -**웹사이트:** https://weknora.weixin.qq.com - ## ✨ 최신 업데이트 **v0.4.0 하이라이트:** - **[지식 어시스턴트](https://weknora.weixin.qq.com/platform)**: 클라우드 호스팅 지식 어시스턴트 서비스, 로컬 배포 없이 빠르게 시작 가능 - **WeKnora Cloud**: WeKnora Cloud 프로바이더 통합, LLM 모델 및 문서 파싱 서비스, 자격 증명 관리 및 상태 확인 -- **Chrome 확장 프로그램**: 브라우저 확장으로 웹페이지 지식 캡처 -- **ClawHub Skill**: ClawHub Skill 마켓플레이스 통합으로 원클릭 스킬 설치 +- **[Chrome 확장 프로그램](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)**: 브라우저 확장으로 웹페이지 지식 캡처 +- **[ClawHub Skill](https://clawhub.ai/lyingbug/weknora)**: ClawHub Skill 마켓플레이스 통합으로 원클릭 스킬 설치 - **WeChat IM 통합**: WeChat 채널 어댑터. QR 코드 로그인 및 롱폴링 메시지 지원 - **첨부파일 처리**: 채팅 파이프라인에서 파일 첨부 지원, 콘텐츠 포맷팅 및 이미지/첨부 메타데이터 주입 - **Azure OpenAI 프로바이더**: Azure OpenAI의 Chat, VLM, Embedding 모델을 완전 지원. 배포 이름 보존 및 dimensions 파라미터 설정 지원 @@ -67,6 +65,9 @@ Feishu 등 외부 플랫폼에서 지식 자동 동기화를 지원하며(추가 - **VectorStore 관리**: 완전한 VectorStore CRUD 기능. 엔티티, 리포지토리, 서비스 레이어, 연결 테스트, API 엔드포인트 - **주요 버그 수정**: Azure OpenAI 엔드포인트 처리, Embedding 잘림, IM 인용 태그 제거, neo4j Go 1.24 Windows 호환성, OSS 서명 문제 수정 +
+이전 릴리스 + **v0.3.6 하이라이트:** - **ASR(자동 음성 인식)**: ASR 모델 통합으로 오디오 파일 업로드, 문서 내 오디오 미리보기, 음성 전사 기능 지원 @@ -92,8 +93,6 @@ Feishu 등 외부 플랫폼에서 지식 자동 동기화를 지원하며(추가 - **채널 추적**: 지식 항목과 메시지에 channel 필드 추가(web/api/im/browser_extension)로 출처 추적 가능 - **주요 버그 수정**: 지식베이스 미설정 시 Agent 빈 응답, 한국어/이모지 문서 요약의 UTF-8 잘림, 테넌트 설정 업데이트 시 API 키 암호화 손실, vLLM 스트리밍 추론 콘텐츠 누락, Rerank 빈 패시지 오류 수정 -
-이전 릴리스 **v0.3.4 하이라이트:** @@ -223,7 +222,6 @@ Feishu 등 외부 플랫폼에서 지식 자동 동기화를 지원하며(추가 [**WeKnora Chrome 확장 프로그램**](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)을 사용하면 브라우저에서 웹 콘텐츠를 WeKnora 지식베이스에 직접 캡처할 수 있습니다. 텍스트, 이미지 또는 전체 페이지를 선택하고 원클릭으로 지식 항목으로 저장 — 복사/붙여넣기나 파일 업로드 불필요. -👉 [Chrome 웹 스토어](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)에서 설치 ## 🦞 ClawHub Skill @@ -238,87 +236,45 @@ Feishu 등 외부 플랫폼에서 지식 자동 동기화를 지원하며(추가 ### 🛠 사전 준비 -다음 도구가 시스템에 설치되어 있는지 확인하세요: +- [Docker](https://www.docker.com/) & [Docker Compose](https://docs.docker.com/compose/) +- [Git](https://git-scm.com/) -* [Docker](https://www.docker.com/) -* [Docker Compose](https://docs.docker.com/compose/) -* [Git](https://git-scm.com/) - -### 📦 설치 - -#### ① 저장소 클론 +### 📦 설치 및 실행 ```bash -# 메인 저장소 클론 git clone https://github.com/Tencent/WeKnora.git cd WeKnora +cp .env.example .env # 필요에 따라 .env 편집 (파일 내 주석 참고) +docker compose up -d # 코어 서비스 시작 ``` -#### ② 환경 변수 설정 +시작 후 **http://localhost** 에 접속하여 바로 사용 가능합니다. -```bash -# 예시 환경 파일 복사 -cp .env.example .env +> 로컬 Ollama 모델을 사용하려면 먼저 `ollama serve > /dev/null 2>&1 &` 를 실행하세요. -# .env 파일을 수정해 필요한 값을 설정 -# 모든 변수는 .env.example 주석에 설명되어 있습니다 -``` +### 🔧 선택 서비스 (Docker Compose Profile) -#### ③ 메인 서비스 시작 +`--profile` 플래그로 추가 컴포넌트를 활성화합니다. 여러 profile 조합 가능: -#### Ollama 별도 시작(선택) +| Profile | 설명 | 명령어 | +|---------|------|--------| +| _(기본)_ | 코어 서비스 | `docker compose up -d` | +| `full` | 전체 기능 | `docker compose --profile full up -d` | +| `neo4j` | 지식 그래프 (Neo4j) | `docker compose --profile neo4j up -d` | +| `minio` | 오브젝트 스토리지 (MinIO) | `docker compose --profile minio up -d` | +| `jaeger` | 트레이싱 (Jaeger) | `docker compose --profile jaeger up -d` | -`.env` 에 로컬 Ollama 모델을 설정했다면 Ollama 서비스도 별도로 시작해야 합니다. +조합 예시: `docker compose --profile neo4j --profile minio up -d` -```bash -ollama serve > /dev/null 2>&1 & -``` +서비스 중지: `docker compose down` -#### 기능 조합별 실행 +### 🌐 서비스 주소 -- 최소 코어 서비스 -```bash -docker compose up -d -``` - -- 전체 기능 활성화 -```bash -docker compose --profile full up -d -``` - -- 트레이싱 로그 필요 시 -```bash -docker compose --profile jaeger up -d -``` - -- Neo4j 지식 그래프 필요 시 -```bash -docker compose --profile neo4j up -d -``` - -- Minio 파일 스토리지 필요 시 -```bash -docker compose --profile minio up -d -``` - -- 여러 옵션 조합 -```bash -docker compose --profile neo4j --profile minio up -d -``` - -#### ④ 서비스 중지 - -```bash -docker compose down -``` - -### 🌐 서비스 접속 주소 - -서비스 시작 후 아래 주소로 접속할 수 있습니다: - -* Web UI: `http://localhost` -* 백엔드 API: `http://localhost:8080` -* Jaeger 트레이싱: `http://localhost:16686` +| 서비스 | URL | +|--------|-----| +| Web UI | `http://localhost` | +| 백엔드 API | `http://localhost:8080` | +| Jaeger 트레이싱 | `http://localhost:16686` | ## 📱 인터페이스 소개 @@ -407,42 +363,11 @@ WeKnora/ ## 🤝 기여하기 -커뮤니티 기여를 환영합니다! 제안, 버그, 기능 요청은 [Issue](https://github.com/Tencent/WeKnora/issues)로 등록하거나 Pull Request를 직접 생성해 주세요. +[Issue](https://github.com/Tencent/WeKnora/issues) 또는 Pull Request를 환영합니다. -### 🎯 기여 방법 +**절차:** Fork → 브랜치 생성 → 변경사항 커밋 → PR 생성 -- 🐛 **버그 수정**: 시스템 결함 발견 및 수정 -- ✨ **새 기능**: 새로운 기능 제안 및 구현 -- 📚 **문서 개선**: 프로젝트 문서 품질 향상 -- 🧪 **테스트 케이스**: 단위/통합 테스트 작성 -- 🎨 **UI/UX 개선**: 사용자 인터페이스와 경험 개선 - -### 📋 기여 절차 - -1. **프로젝트를 Fork** 해서 본인 GitHub 계정으로 가져오기 -2. **기능 브랜치 생성** `git checkout -b feature/amazing-feature` -3. **변경사항 커밋** `git commit -m 'Add amazing feature'` -4. **브랜치 푸시** `git push origin feature/amazing-feature` -5. **Pull Request 생성** 후 변경 내용을 자세히 설명 - -### 🎨 코드 규칙 - -- [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) 준수 -- `gofmt`로 코드 포맷팅 -- 필요한 단위 테스트 추가 -- 관련 문서 업데이트 - -### 📝 커밋 가이드 - -[Conventional Commits](https://www.conventionalcommits.org/) 규칙 사용: - -``` -feat: 문서 일괄 업로드 기능 추가 -fix: 벡터 검색 정확도 문제 수정 -docs: API 문서 업데이트 -test: 검색 엔진 테스트 케이스 추가 -refactor: 문서 파싱 모듈 리팩터링 -``` +**규칙:** `gofmt`로 코드 포맷팅, [Conventional Commits](https://www.conventionalcommits.org/) 준수 (`feat:` / `fix:` / `docs:` / `test:` / `refactor:`) ## 🔒 보안 공지