Dynamiq#
Dynamiq - универсальный фреймворк для генеративного ИИ, разработанный для упрощения разработки приложений с поддержкой искусственного интеллекта. Dynamiq специализируется на оркестровке агентов с расширенной генерацией поиска (RAG) и большими языковыми моделями (LLM).
Vector DB - векторная база данных, доступная в Dynamiq, способная выполнять несколько ролей одновременно. Она может использоваться для записи и извлечения документов, выступать в качестве памяти для взаимодействия агентов и функционировать в роли инструмента поиска, к которому агенты могут обращаться при необходимости.
Установка#
Сначала убедитесь, что установлена библиотека dynamiq:
$pip install dynamiq
Узел Retriever#
Узел QdrantDocumentRetriever позволяет эффективно извлекать релевантные документы на основе поиска по подобию векторов.
from dynamiq.nodes.retrievers import QdrantDocumentRetriever
from dynamiq import Workflow
# Define a retriever node to fetch most relevant documents
retriever_node = QdrantDocumentRetriever(
index_name="default",
top_k=5, # Optional: Maximum number of documents to retrieve
filters={...} # Optional: Additional filtering conditions
)
# Create a workflow and add the retriever node
wf = Workflow()
wf.flow.add_nodes(retriever_node)
# Execute retrieval
result = wf.run(input_data={
'embedding': query_embedding # Provide an embedded query for similarity search
})
Узел Writer#
Узел QdrantDocumentWriter позволяет хранить документы в векторной базе данных.
from dynamiq.nodes.writers import QdrantDocumentWriter
# Define a writer node to store documents in Qdrant
writer_node = QdrantDocumentWriter(
index_name="default",
create_if_not_exist=True
)
# Create a workflow and add the writer node
wf = Workflow()
wf.flow.add_nodes(writer_node)
# Execute writing
result = wf.run(input_data={
'documents': embedded_documents # Provide embedded documents for storage
})
Дополнительная документация#
Дополнительные примеры и сценарии использования Vector DB с Dynamiq: