Dagster 연동
Dagster 연동 (dagster)
Dagster는 데이터 엔지니어를 위해 만들어진 데이터 오케스트레이션 Python 프레임워크예요. 통합된 lineage(데이터 계보), observability(관측성), 선언형 프로그래밍 모델, 그리고 최고 수준의 테스트 용이성을 갖추고 있죠.
dagster-qdrant 라이브러리를 사용하면 Qdrant의 벡터 데이터베이스를 Dagster와 통합할 수 있어요. 이를 통해 AI 구동 데이터 파이프라인을 쉽게 만들 수 있고, 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를 리소스로 등록해 파이프라인 전반에 걸쳐 사용할 수 있게 만들어요.