松果冠层
树冠 是一个开源框架和上下文引擎,用于大规模构建聊天助手。
Qdrant 在 Canopy 中作为知识库被支持,用于上下文检索和增强生成。
用法
按照树冠自述文件中的描述,安装带有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"}},
),
]
)
