DLT(Инструмент загрузки данных)#

DLT - открытая библиотека, которую можно добавить в скрипты на Python для загрузки данных из различных и часто запутанных источников данных в хорошо структурированные живые наборы данных.

С интеграцией DLT-Vector DB теперь можно выбрать Vector DB в качестве пункта назначения DLT для загрузки данных.

Возможности DLT:

  • Автоматическое обслуживание — благодаря выводу схемы, уведомлениям и короткому декларативному коду, обслуживание становится простым.

  • Запускайте его там, где работает Python - на Airflow, бессерверных функциях, блокнотах. Масштабируется как на микро-, так и на крупной инфраструктуре.

  • Удобный пользовательский интерфейс, который устраняет препятствия для начинающих пользователей, одновременно предоставляя возможности опытным профессионалам.

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

Чтобы начать работу, установите dlt с дополнительным компонентом qdrant.

pip install "dlt[qdrant]"

Настройте пункт назначения в файле секретов DLT. Файл по умолчанию находится в ~/.dlt/secrets.toml. Добавьте следующий раздел в файл секретов.

[destination.qdrant.credentials]
location = "https://your-qdrant-url"
api_key = "your-qdrant-api-key"

Местоположение будет установлено по умолчанию в http://localhost:6333, а api_key не определено - значения по умолчанию для локального экземпляра Vector DB. Дополнительную информацию о конфигурациях DLT см. здесь.

Определите источник данных.

import dlt
from dlt.destinations.qdrant import qdrant_adapter

movies = [
    {
        "title": "Blade Runner",
        "year": 1982,
        "description": "The film is about a dystopian vision of the future that combines noir elements with sci-fi imagery."
    },
    {
        "title": "Ghost in the Shell",
        "year": 1995,
        "description": "The film is about a cyborg policewoman and her partner who set out to find the main culprit behind brain hacking, the Puppet Master."
    },
    {
        "title": "The Matrix",
        "year": 1999,
        "description": "The movie is set in the 22nd century and tells the story of a computer hacker who joins an underground group fighting the powerful computers that rule the earth."
    }
]

Более полная конвейерная обработка загрузит данные из какого-либо API или использует один из проверенных источников DLT.

Определите конвейер обработки данных.

pipeline = dlt.pipeline(
    pipeline_name="movies",
    destination="qdrant",
    dataset_name="movies_dataset",
)

Выполните конвейер обработки данных.

info = pipeline.run(
    qdrant_adapter(
        movies,
        embed=["title", "description"]
    )
)

Теперь данные загружены в Vector DB.

Для использования векторного поиска после загрузки данных необходимо указать поля, для которых Vector DB должен генерировать вложения. Это можно сделать путем обертывания данных (или ресурса DLT) функцией qdrant_adapter.

Режим записи#

Режим записи DLT определяет способ записи данных в пункт назначения. Все режимы записи поддерживаются пунктом назначения Vector DB.

Синхронизация DLT#

Пункт назначения Vector DB поддерживает синхронизацию состояния DLT.

Следующие шаги#