Canopy简介
Canopy是一个基于Pinecone向量数据库构建的开源检索增强生成(RAG)框架和上下文引擎。它可以帮助开发者快速构建和实验RAG应用,只需几个简单的命令就可以开始与您的文档或文本数据进行对话。
Canopy的主要功能包括:
- 文本数据的分块和嵌入
- 聊天历史管理
- 查询优化
- 上下文检索(包括提示工程)
- 增强生成
Canopy提供了三个主要组件:
-
Canopy核心库 - 包含ChatEngine、ContextEngine和KnowledgeBase三个主要类,负责RAG工作流的不同部分。
-
Canopy服务器 - 将Canopy核心库包装为REST API,方便部署和集成到现有的聊天应用中。
-
Canopy CLI - 内置的开发工具,可以快速设置Canopy服务器并测试配置。
安装配置
- 创建并激活虚拟环境(可选):
python3 -m venv canopy-env
source canopy-env/bin/activate
- 安装Canopy:
pip install canopy-sdk
- 设置环境变量:
export PINECONE_API_KEY="<您的Pinecone API密钥>"
export OPENAI_API_KEY="<您的OpenAI API密钥>"
export INDEX_NAME="<Pinecone索引名称>"
快速开始
- 创建Canopy索引:
canopy create-index
- 上传数据:
canopy upsert /path/to/data_directory
- 启动Canopy服务器:
canopy start
现在您可以通过http://localhost:8000/chat.completion
端点与您的数据进行对话了。
评估工具
Canopy还提供了一个内置的聊天工具,可以交互式地与您的文本数据进行对话,并对比RAG和非RAG工作流的结果:
canopy chat
使用--no-rag
标志可以同时显示RAG和非RAG的响应。
Canopy为构建RAG应用提供了强大而灵活的工具集。无论您是想快速实验RAG概念,还是构建生产级应用,Canopy都能满足您的需求。欢迎访问Canopy GitHub仓库了解更多信息。