Camel#
Camel - фреймворк на языке Python для создания и использования агентов на основе больших языковых моделей (LLM) для решения реальных задач.
Vector DB доступен в качестве механизма хранения данных в Camel для загрузки и извлечения семантически схожих данных.
Использование совместно с Vector DB#
Установите Camel с дополнительным компонентом
vector-databases.pip install "camel[vector-databases]"Настройте класс
QdrantStorage.from camel.storages import QdrantStorage, VectorDBQuery, VectorRecord from camel.types import VectorDistance qdrant_storage = QdrantStorage( url_and_api_key=( "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333", "<provide-your-own-key>", ), collection_name="{collection_name}", distance=VectorDistance.COSINE, vector_dim=384, )Класс
QdrantStorageреализует методы чтения и записи данных в экземпляр Vector DB. Экземпляр данного класса теперь можно передать ретриверам для взаимодействия с коллекциями Vector DB.qdrant_storage.add([VectorRecord( vector=[-0.1, 0.1, ...], payload={'key1': 'value1'}, ), VectorRecord( vector=[-0.1, 0.1, ...], payload={'key2': 'value2'}, ),]) query_results = qdrant_storage.query(VectorDBQuery(query_vector=[0.1, 0.2, ...], top_k=10)) for result in query_results: print(result.record.payload, result.similarity) qdrant_storage.clear()Используйте
QdrantStorageв векторном ретривере Camel.from camel.embeddings import OpenAIEmbedding from camel.retrievers import VectorRetriever # Initialize the VectorRetriever with an embedding model vr = VectorRetriever(embedding_model=OpenAIEmbedding()) content_input_path = "<URL-TO-SOME-RESOURCE>" vr.process(content_input_path, qdrant_storage) # Execute the query and retrieve results results = vr.query("<SOME_USER_QUERY>", vector_storage)Camel также предоставляет реализацию автоматического ретривера, который обрабатывает как встраивание и хранение данных, так и выполнение запросов.
from camel.retrievers import AutoRetriever from camel.types import StorageType ar = AutoRetriever( url_and_api_key=( "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333", "<provide-your-own-key>", ), storage_type=StorageType.QDRANT, ) retrieved_info = ar.run_vector_retriever( contents=["<URL-TO-SOME-RESOURCE>"], query=""<SOME_USER_QUERY>"", return_detailed_info=True, ) print(retrieved_info)
Можно обратиться к документации по Camel документации, чтобы получить дополнительную информацию о механизмах поиска информации.