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"}},
        ),
    ]
)

延伸阅读

此页面有用吗?

感谢您的反馈!🙏

很抱歉听到这个消息。😔 您可以在 GitHub 上编辑此页面,或创建一个 GitHub issue。