Dagster 연동

Dagster 연동 (dagster)

Dagster는 데이터 엔지니어를 위해 만들어진 데이터 오케스트레이션 Python 프레임워크예요. 통합된 lineage(데이터 계보), observability(관측성), 선언형 프로그래밍 모델, 그리고 최고 수준의 테스트 용이성을 갖추고 있죠.

dagster-qdrant 라이브러리를 사용하면 Qdrant의 벡터 데이터베이스를 Dagster와 통합할 수 있어요. 이를 통해 AI 구동 데이터 파이프라인을 쉽게 만들 수 있고, Dagster 안에서 직접 벡터 검색을 실행하고 데이터를 관리할 수 있습니다.

출처: Qdrant 공식 문서 — dagster

설치 (Installation)

pip install dagster dagster-qdrant

예제 (Example)

from dagster_qdrant import QdrantConfig, QdrantResource

import dagster as dg


@dg.asset
def my_table(qdrant_resource: QdrantResource):
    with qdrant_resource.get_client() as qdrant:
        qdrant.add(
            collection_name="test_collection",
            documents=[
                "This is a document about oranges",
                "This is a document about pineapples",
                "This is a document about strawberries",
                "This is a document about cucumbers",
            ],
        )
        results = qdrant.query(
            collection_name="test_collection", query_text="hawaii", limit=3
        )


defs = dg.Definitions(
    assets=[my_table],
    resources={
        "qdrant_resource": QdrantResource(
            config=QdrantConfig(
                host="xyz-example.eu-central.aws.cloud.qdrant.io",
                api_key="<your-api-key>",
            )
        )
    },
)

이 예제에서는 @dg.asset 데코레이터로 자산(asset)을 정의해요. 함수 안에서 qdrant_resource.get_client()로 Qdrant 클라이언트를 얻어 문서를 추가하고, qdrant.query(..., query_text="hawaii", limit=3)로 벡터 검색을 실행하는 흐름이에요. 마지막의 dg.Definitions에서 QdrantResource를 리소스로 등록해 파이프라인 전반에 걸쳐 사용할 수 있게 만들어요.

다음 단계 (Next steps)

더 알아보기 (Learn more)