WhiskerRAG
WhiskerRAG 是为 PeterCat 和 Whisker 项目开发的 RAG(Retrieval-Augmented Generation)工具包,提供完整的 RAG 相关类型定义和方法实现。
特性
- 针对通用 RAG 的领域建模类型, 包括任务(Task)、知识(Knowledge)、分段(Chunk)、租户(Tenant)、知识库空间(Space)。
- Whisker rag 插件接口描述。
- Github 仓库、S3 资源管理器。
安装
使用 pip 安装:
pip install whiskerrag
快速开始
whiskerrag 包含三个子模块,分别是 whiskerrag_utils、whiskerrag_client、whiskerrag_types。它们分别有不同的用途:
whiskerrag_utils
包含了构建 RAG 系统的常用方法:
from whiskerrag_utils import loader,embedding,retriever
whiskerrag_client
将 RAG 系统服务通过 python sdk 的形式向外暴露。
from whiskerrag_client import APIClient
api_client = APIClient(
base_url="https://api.example.com",
token="your_token_here"
)
knowledge_chunks = await api_client.retrieval.retrieve_knowledge_content(
RetrievalByKnowledgeRequest(knowledge_id="your knowledge uuid here")
)
space_chunks = await api_client.retrieval.retrieve_space_content(
RetrievalBySpaceRequest(space_id="your space id here ")
)
chunk_list = await api_client.chunk.get_chunk_list(
page=1,
size=10,
filters={"status": "active"}
)
task_list = await api_client.task.get_task_list(
page=1,
size=10
)
task_detail = await api_client.task.get_task_detail("task_id_here")
whiskerrag_types
一些辅助开发的类型提示,接口;
from whiskerrag_types.interface import DBPluginInterface, TaskEngineInterface
from whiskerrag_types.model import Knowledge, Task, Tenant, PageParams, PageResponse
开发者指南
环境初始化
- 克隆项目
git clone https://github.com/petercat-ai/whiskerrag_toolkit.git
cd whiskerrag_toolkit
- 创建并激活虚拟环境
# 查看poetry配置
poetry config --list
# 修改 poetry 配置
poetry config virtualenvs.create true
poetry config virtualenvs.in-project true
poetry env use python3.10
# 激活虚拟环境
source .venv/bin/activate
- 安装依赖
# 安装项目依赖
poetry install
# 安装 pre-commit 工具
pre-commit install
- 运行测试
# 运行所有测试
poetry run pytest
# 运行指定测试文件
poetry run pytest tests/test_loader.py
- poetry 常用命令
# 安装依赖
poetry install
# 添加新依赖
poetry add package_name
# 添加新 dev 依赖
poetry add --dev package_name
# 更新依赖
poetry update
# 查看环境信息
poetry env info
# 查看已安装的包
poetry show
开发工作流
- 创建新分支
- 开发新功能,补充单元测试,确保代码质量。注意,请确保单元测试覆盖率不低于 80%。
- 提交代码,并创建 Pull Request。
- 等待代码审查,并根据反馈进行修改。
- 合并 Pull Request。
项目结构
whiskerRAG-toolkit/
├── src/
│ ├── whiskerrag_utils/
│ └── whiskerrag_types/
│ └── whiskerrag_client/
└── pyproject.toml
贡献指南
- Fork 本仓库
- 创建特性分支 (
make branch name=feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 开启 Pull Request
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
联系方式
项目维护者 - @petercat-ai
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
whiskerrag-0.3.7.tar.gz
(60.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file whiskerrag-0.3.7.tar.gz.
File metadata
- Download URL: whiskerrag-0.3.7.tar.gz
- Upload date:
- Size: 60.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eabdefcdb1a983e81a600f26d94697a027ee6cdc8df3082187c140d99a21d68
|
|
| MD5 |
7ae4d617c3b7621371a3e00c0e26eaa2
|
|
| BLAKE2b-256 |
0dbe8240e35941bebb41d4c0d7ebe4ce22c629f61beb57595cc464e6b6086cc2
|
File details
Details for the file whiskerrag-0.3.7-py3-none-any.whl.
File metadata
- Download URL: whiskerrag-0.3.7-py3-none-any.whl
- Upload date:
- Size: 94.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8631cd8dcee68e54a1c1d1e6066760b1a6f9da74d91e6f9bba20d43ce2064ce2
|
|
| MD5 |
f990f53926559b419cf1081c61d888c1
|
|
| BLAKE2b-256 |
4822f87986a4cb7379fdf4944b48688f868571ab7a42bec358618bbdac221238
|