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