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: