A utility package for RAG operations
Project description
WhiskerRAG
WhiskerRAG 是为 PeterCat 和 Whisker 项目开发的 RAG(Retrieval-Augmented Generation)工具包,提供完整的 RAG 相关类型定义和方法实现。
特性
- 领域建模类型
- 插件接口描述
- Github、S3 数据源加载器
- OpenAI Emedding
安装
使用 pip 安装:
pip install whiskerrag
快速开始
whiskerrag_utils
from whiskerrag_utils import loader,embedding,retriever
whiskerrag_client
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/your-username/whiskerRAG-toolkit.git
cd whiskerRAG-toolkit
- 创建并激活虚拟环境
make setup
source venv/bin/activate
开发工作流
- 代码格式化
make format
- 运行测试
# 运行所有测试
make test
# 运行特定测试文件
make test-file file=tests/test_specific.py
- 代码检查
# 运行所有检查(lint, type check, test)
make check
# 仅运行 lint
make lint
# 仅运行类型检查
make lint-mypy
- 生成测试覆盖率报告
make coverage
分支管理
创建新的功能分支:
make branch name=feature/new-feature
构建和发布
- 构建包
make build
- 检查构建的包
make check-build
- 发布到 TestPyPI
make upload-test
- 发布到 PyPI
make upload
- 创建新版本发布
# 本地发布
make release-local new_version=X.Y.Z
其他命令
- 清理构建文件和缓存:
make clean
- 更新依赖版本:
make update-deps
- 运行 pre-commit 钩子:
make pre-commit
项目结构
whiskerRAG-toolkit/
├── src/
│ ├── whiskerrag_utils/
│ └── whiskerrag_types/
│ └── whiskerrag_client/
├── requirements.txt
├── requirements-dev.txt
├── setup.py
└── Makefile
贡献指南
- 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
Project details
Release history Release notifications | RSS feed
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.0.7.tar.gz
(16.3 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.0.7.tar.gz.
File metadata
- Download URL: whiskerrag-0.0.7.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6a6bd1ec9339fd800e6ed2b106fabad8dec3fdfc65bb7834fce8db99eedcc90
|
|
| MD5 |
5d2d3dc9d8138eff60aeab83568246e7
|
|
| BLAKE2b-256 |
899faa939db95705227ceb88b34c399e9ed0971b31dd963ee21aef8eff4f61dc
|
File details
Details for the file whiskerrag-0.0.7-py3-none-any.whl.
File metadata
- Download URL: whiskerrag-0.0.7-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9f987ae05adb52964f837722646aa605add5c5661c62010fbf07ea095cf79aa
|
|
| MD5 |
7727a8c9dbce2ffa09b6d8acb991fee5
|
|
| BLAKE2b-256 |
2fed7b2df5d98f0bb3cdbbc2e7df12c964e6388d613ec6cd402b9640957cafc9
|