Pipecone canopy#

Canopy - открытый фреймворк и контекстный движок для создания чат-помощников в больших масштабах.

Vector DB поддерживается в качестве базы знаний внутри Canopy для извлечения контекста и расширенной генерации.

Использование#

Установите SDK с дополнительным компонентом Vector DB, как описано в README.

pip install canopy-sdk[qdrant]

Создание базы знаний#

from canopy.knowledge_base import QdrantKnowledgeBase

kb = QdrantKnowledgeBase(collection_name="<YOUR_COLLECTION_NAME>")

Конструктор принимает дополнительные параметры, чтобы настроить подключение к Vector DB.

Чтобы создать новую коллекцию Vector DB и подключить ее к базе знаний, используйте метод 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"}},
        ),
    ]
)

Дополнительная документация#