Fondant#
Fondant - фреймворк с открытым исходным кодом, который предназначен для упрощения и ускорения крупномасштабной обработки данных путем повторного использования контейнеризованных компонентов в конвейерах и средах выполнения. Пользуйтесь встроенными функциями, такими как автоматическое масштабирование, отслеживание происхождения данных и кеширование конвейеров, а также развертывайте их на платформах (управляемых), таких как Vertex AI, Sagemaker и Kubeflow Pipelines.
Fondant поставляется с библиотекой повторно используемых компонентов, которые можно использовать для создания собственного конвейера, включая компонент Vector DB для записи вложений в Vector DB.
Использование#
Коллекция Vector DB должна быть заранее создана
Конвейер загрузки данных для RAG с использованием Vector DB#
Простой конвейер загрузки может выглядеть следующим образом:
import pyarrow as pa
from fondant.pipeline import Pipeline
indexing_pipeline = Pipeline(
name="ingestion-pipeline",
description="Pipeline to prepare and process data for building a RAG solution",
base_path="./fondant-artifacts",
)
# An custom implemenation of a read component.
text = indexing_pipeline.read(
"path/to/data-source-component",
arguments={
# your custom arguments
}
)
chunks = text.apply(
"chunk_text",
arguments={
"chunk_size": 512,
"chunk_overlap": 32,
},
)
embeddings = chunks.apply(
"embed_text",
arguments={
"model_provider": "huggingface",
"model": "all-MiniLM-L6-v2",
},
)
embeddings.write(
"index_qdrant",
arguments={
"url": "http:localhost:6333",
"collection_name": "some-collection-name",
},
cache=False,
)
После того, как будет готов конвейер, его можно легко запустить с помощью встроенной командной строки. Fondant позволяет запускать конвейеры в производственной среде на разных облачных платформах.
Первый компонент представляет собой настраиваемый модуль чтения, который необходимо реализовать самостоятельно и который нельзя использовать «прямо из коробки». Подробное руководство по восстановлению этого конвейера представлено на GitHub.
Дополнительная документация#
Дополнительную информацию о создании собственных конвейеров и компонентов можно найти в документации Fondant.