Pinecone Canopy
Canopy 是一个开源框架和上下文引擎,用于构建大规模的聊天助手。
Qdrant 在 Canopy 中作为知识库得到支持,用于上下文检索和增强生成。
用法
按照 Canopy README 中的说明安装包含 Qdrant 额外依赖的 SDK。
pip install canopy-sdk[qdrant]
创建知识库
from canopy.knowledge_base import QdrantKnowledgeBase
kb = QdrantKnowledgeBase(collection_name="<YOUR_COLLECTION_NAME>")
要创建新的 Qdrant 集合并将其连接到知识库,请使用 create_canopy_collection
方法
kb.create_canopy_collection()
您始终可以使用 verify_index_connection
方法验证与集合的连接
kb.verify_index_connection()
在 Canopy 库 中了解更多关于自定义知识库及其内部组件的信息。
向知识库添加数据
要将数据插入知识库,您可以创建一个文档列表并使用 upsert
方法
from canopy.models.data_models import Document
documents = [
Document(
id="1",
text="U2 are an Irish rock band from Dublin, formed in 1976.",
source="https://en.wikipedia.org/wiki/U2",
),
Document(
id="2",
text="Arctic Monkeys are an English rock band formed in Sheffield in 2002.",
source="https://en.wikipedia.org/wiki/Arctic_Monkeys",
metadata={"my-key": "my-value"},
),
]
kb.upsert(documents)
查询知识库
您可以使用 query
方法查询知识库,以找到与给定文本最相似的文档
from canopy.models.data_models import Query
kb.query(
[
Query(text="Arctic Monkeys music genre"),
Query(
text="U2 music genre",
top_k=10,
metadata_filter={"key": "my-key", "match": {"value": "my-value"}},
),
]
)