Skip to main content

A utility package for RAG operations

Project description

WhiskerRAG

MIT License Python Version PyPI version

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

开发指南

环境设置

  1. 克隆项目
git clone https://github.com/petercat-ai/whiskerrag_toolkit.git
cd whiskerrag_toolkit
  1. 创建并激活虚拟环境
make setup
source venv/bin/activate

`

开发工作流

  1. 代码格式化
make format
  1. 运行测试
# 运行所有测试
make test

# 运行特定测试文件
make test-file file=tests/whiskerrag_types/test_knowledge.py
  1. 代码检查
# 运行所有检查(lint, type check, test)
make check

# 仅运行 lint
make lint

# 仅运行类型检查
make lint-mypy
  1. 生成测试覆盖率报告
make coverage

分支管理

创建新的功能分支:

make branch name=feature/new-feature

构建和发布

  1. 构建包
make build
  1. 检查构建的包
make check-build
  1. 发布到 TestPyPI
make upload-test
  1. 发布到 PyPI
make upload
  1. 创建新版本发布
# 本地发布
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

贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (make branch name=feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 开启 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

联系方式

项目维护者 - @petercat-ai

项目链接:https://github.com/petercat-ai/whiskerrag_toolkit

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.22a1.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whiskerrag-0.0.22a1-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file whiskerrag-0.0.22a1.tar.gz.

File metadata

  • Download URL: whiskerrag-0.0.22a1.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for whiskerrag-0.0.22a1.tar.gz
Algorithm Hash digest
SHA256 ee5f44fd15b1791a4d58b47f5abe81779cff60072135eedc756019c890192c8c
MD5 7ed14e389649fefddd125db5e59d8ef7
BLAKE2b-256 2bf37f4209d1dc6abfdb3323e2eeca4615cb5f243c84d24a312b2cd1c24519a2

See more details on using hashes here.

File details

Details for the file whiskerrag-0.0.22a1-py3-none-any.whl.

File metadata

  • Download URL: whiskerrag-0.0.22a1-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for whiskerrag-0.0.22a1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4ae33044b0e6ae764c1f1d21112dd8e0c21425433ee4403622c3e7e2a688551
MD5 d12d997280de0e5efbca4ceab176a986
BLAKE2b-256 0d3d328e743cda787db55d85c15e99e2ce77b2cdbe138b15e6f14ccb9daa3fbe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page