Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ uv run chinese-graphrag query "您的中文問題"

## 技術堆疊

- **語言**: Python 3.12+
- **語言**: Python 3.11+
- **套件管理**: uv
- **核心框架**: Microsoft GraphRAG (>=2.4.0)
- **中文處理**: jieba (>=0.42.1)
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ jobs:
fail_ci_if_error: false

- name: 上傳測試結果
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: unit-test-results-${{ matrix.python-version }}
Expand Down Expand Up @@ -160,7 +160,7 @@ jobs:
--timeout=300

- name: 上傳整合測試結果
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: integration-test-results
Expand Down Expand Up @@ -205,7 +205,7 @@ jobs:
-v

- name: 上傳中文測試結果
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: chinese-test-results
Expand Down Expand Up @@ -249,7 +249,7 @@ jobs:
-v

- name: 上傳效能測試結果
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: performance-test-results
Expand Down Expand Up @@ -300,7 +300,7 @@ jobs:
--include-performance

- name: 上傳測試報告
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: test-reports
path: test-reports/
Expand Down Expand Up @@ -392,8 +392,8 @@ jobs:
bandit -r src/ -f txt

- name: 上傳安全掃描報告
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: security-scan-results
path: bandit-report.json
path: bandit-report.json
19 changes: 19 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (c) 2025 Chinese GraphRAG Team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
140 changes: 140 additions & 0 deletions docs/getting_started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# 入門指南

歡迎使用 Chinese GraphRAG 系統!本指南將引導您完成從零開始設定和執行您的第一個中文 RAG 查詢的完整過程。

## 1. 專案介紹

Chinese GraphRAG 是一個基於 Microsoft GraphRAG 框架的知識圖譜檢索增強生成(RAG)系統,專為處理中文內容而優化。它能將您的文件轉換為知識圖譜,並透過大型語言模型(LLM)提供智慧問答能力。

## 2. 環境準備

在開始之前,請確保您的系統已安裝以下軟體:

- **Python 3.11+**
- **Git**
- 一個終端機或命令列工具

## 3. 安裝與設定

### 第一步:取得程式碼

首先,使用 `git` 將專案複製到您的本機電腦:

```bash
git clone https://github.com/your-org/chinese-graphrag.git

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The git clone command uses a placeholder URL with your-org. This should be updated to the actual repository URL to ensure users can clone the project correctly from the documentation.

cd chinese-graphrag
```

### 第二步:安裝依賴套件

本專案使用 `uv` 作為套件管理工具,它是一個非常快速的 Python 套件安裝程式和解析器。

1. **安裝 uv** (如果您尚未安裝):
```bash
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
安裝後請重啟您的終端機。

2. **安裝專案依賴**:
在專案根目錄下,執行以下命令來安裝所有必要的套件:
```bash
uv sync
```
此命令會讀取 `pyproject.toml` 文件並安裝所有指定的依賴,這可能需要幾分鐘的時間。

### 第三步:環境設定

專案的設定是透過 `.env` 檔案和 `config/settings.yaml` 來管理的。

1. **建立 `.env` 檔案**:
複製範本檔案以建立您自己的本地環境設定:
```bash
cp .env.example .env
```
接著,用文字編輯器打開 `.env` 檔案。您需要至少設定一個大型語言模型(LLM)的 API 金鑰。例如,如果您使用 OpenAI:
```
# .env

# OpenAI API 配置
GRAPHRAG_API_KEY="sk-YourOpenAI_API_Key_Here"
```
將 `sk-YourOpenAI_API_Key_Here` 替換為您自己的金鑰。

2. **檢查 `settings.yaml`**:
同樣地,複製設定檔範本:
```bash
cp config/settings.yaml.example config/settings.yaml
```
對於初次使用,預設的 `settings.yaml` 內容通常無需修改。它預設使用 OpenAI 的 `gpt-4o-mini` 和 `text-embedding-3-small` 模型,並將所有資料儲存在本地的 `./data` 目錄中。

## 4. 執行您的第一個 RAG 流程

現在,一切準備就緒!讓我們來執行一個完整的 RAG 流程,包括索引文件和進行查詢。

### 第一步:準備您的文件

1. 在專案根目錄下,建立一個名為 `documents` 的資料夾。
```bash
mkdir documents
```
2. 在 `documents` 資料夾中,建立一個名為 `hello.txt` 的文字檔案,並貼上以下內容:
```txt
Chinese GraphRAG 是一個強大的工具。它專為中文優化,可以幫助使用者從文件中提取知識並建立知識圖譜。
```

### 第二步:索引文件

索引是系統讀取您的文件、理解內容、提取實體和關係,並將它們轉換為向量和圖譜結構的過程。

執行以下命令來索引 `documents` 資料夾中的所有文件:

```bash
uv run chinese-graphrag index --input ./documents --output ./data
```

- `--input ./documents`: 指定包含您文件的資料夾。
- `--output ./data`: 指定儲存索引結果的位置。

您會看到系統開始處理文件,並在完成後顯示成功訊息。

### 第三步:進行查詢

索引完成後,您就可以開始問問題了!

執行以下命令來進行查詢:

```bash
uv run chinese-graphrag query "Chinese GraphRAG 是什麼?"
```

系統將會:
1. 理解您的問題。
2. 在剛剛建立的索引中搜索最相關的資訊。
3. 使用 LLM 整合這些資訊並生成一個自然語言的回答。

您應該會看到類似以下的輸出:

```
> 正在執行查詢:Chinese GraphRAG 是什麼?
> 查詢結果:
Chinese GraphRAG 是一個專為中文優化的強大工具,可以幫助使用者從文件中提取知識並建立知識圖譜。
> 引用來源:
- hello.txt (100.0%)
```

恭喜!您已經成功地使用 Chinese GraphRAG 完成了一次從文件到問答的完整流程。

## 5. 接下來呢?

現在您已經掌握了基本操作,可以嘗試以下進階功能:

- **索引您自己的文件**:將您自己的 `.txt`, `.pdf`, `.md` 或 `.docx` 文件放入 `documents` 資料夾中,然後重新執行索引命令。
- **嘗試不同的問題**:對您的文件提出各種問題,測試系統的理解能力。
- **探索 API**:透過 `uv run chinese-graphrag api server` 啟動 API 服務,並在瀏覽器中打開 `http://localhost:8000/docs` 來探索互動式的 API 文件。
- **查閱其他文件**:本專案的 `docs` 目錄中有更多詳細的文件,涵蓋架構設計、API 使用指南等。

如果您遇到任何問題,請隨時查閱 [故障排除指南](./troubleshooting_guide.md) 或在專案的 GitHub Issues 中提出問題。
26 changes: 8 additions & 18 deletions docs/README.md → docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,22 +50,22 @@
### 🎯 我想要...

#### 了解 API 有哪些功能
👉 查看 [API 索引](./api_index.md#端點分類)
👉 查看 [API 索引](./api_index.md)

#### 知道如何發送請求
👉 查看 [資料模型參考](./api_models_reference.md#請求模型)
👉 查看 [資料模型參考](./api_models_reference.md)

#### 看實際的程式碼範例
👉 查看 [使用指南](./api_usage_guide.md#完整工作流程範例)
👉 查看 [使用指南](./api_usage_guide.md)

#### 部署 API 服務
👉 查看 [API 索引](./api_index.md#服務管理)
👉 查看 [API 索引](./api_index.md)

#### 監控系統狀態
👉 查看 [API 索引](./api_index.md#監控與日誌)
👉 查看 [API 索引](./api_index.md)

#### 處理錯誤和異常
👉 查看 [使用指南](./api_usage_guide.md#錯誤處理)
👉 查看 [使用指南](./api_usage_guide.md)

## API 功能概覽

Expand Down Expand Up @@ -117,7 +117,7 @@
### 🐍 Python 環境

```bash
# 確保 Python 3.12+
# 確保 Python 3.11+
python --version

# 安裝依賴
Expand Down Expand Up @@ -262,20 +262,10 @@ chinese-graphrag api perf

### 🤝 貢獻指南

- **程式碼貢獻**: 查看 [CONTRIBUTING.md](../CONTRIBUTING.md)
- **程式碼貢獻**: 查看 [貢獻指南](./contributing_guide.md)
- **文件改進**: 提交 Pull Request
- **問題回報**: 使用 Issue 模板

### 📈 版本更新

- **穩定版本**: v1.3.0 (當前)
- **開發版本**: v1.4.0-dev
- **更新日誌**: [ChangeLog.md](../ChangeLog.md)

## 授權資訊

本專案採用 MIT 授權條款,詳見 [LICENSE](../LICENSE) 檔案。

---

**📝 文件維護**
Expand Down
51 changes: 51 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
site_name: Chinese GraphRAG
site_description: '中文 GraphRAG 系統 - 基於 Microsoft GraphRAG 的中文知識圖譜檢索增強生成系統'
site_author: 'Chinese GraphRAG Team'

theme:
name: material
language: zh
palette:
- scheme: default
toggle:
icon: material/brightness-7
name: 切換到深色模式
- scheme: slate
toggle:
icon: material/brightness-4
name: 切換到淺色模式
features:
- navigation.tabs
- navigation.sections
- navigation.top
- search.suggest
- search.highlight
- content.code.copy
- content.code.annotate

repo_url: https://github.com/your-org/chinese-graphrag
repo_name: your-org/chinese-graphrag
Comment on lines +26 to +27

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The repo_url and repo_name are using a placeholder organization your-org. Please update this to the actual GitHub organization to ensure the repository link on the generated documentation site works correctly.


nav:
- '首頁': 'index.md'
- '入門指南': 'getting_started.md'
- '安裝與設定': 'installation_guide.md'
- '使用指南':
- 'API 使用指南': 'api_usage_guide.md'
- '範例與教學': 'examples_and_tutorials.md'
- '疑難排解': 'troubleshooting_guide.md'
- '設計與原理':
- '架構設計': 'architecture_design.md'
- 'API 索引': 'api_index.md'
- 'API 資料模型': 'api_models_reference.md'
- '效能與部署':
- '效能優化': 'performance_optimization.md'
- '部署指南': 'performance_deployment_guide.md'
- '開發與貢獻':
- '貢獻指南': 'contributing_guide.md'
- '測試自動化': 'test_automation.md'
- '專案報告':
- '文件驗證報告': 'documentation_validation_report.md'
- '任務 12 完成報告': 'task_12_completion_report.md'

docs_dir: 'docs/'
Loading