diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/images/embeddings-api.jpg b/spring-ai-docs/src/main/antora/modules/ROOT/images/embeddings-api.jpg index cc13a837e..41b383ff3 100644 Binary files a/spring-ai-docs/src/main/antora/modules/ROOT/images/embeddings-api.jpg and b/spring-ai-docs/src/main/antora/modules/ROOT/images/embeddings-api.jpg differ diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/images/etl-class-diagram.jpg b/spring-ai-docs/src/main/antora/modules/ROOT/images/etl-class-diagram.jpg new file mode 100644 index 000000000..6fbefde8c Binary files /dev/null and b/spring-ai-docs/src/main/antora/modules/ROOT/images/etl-class-diagram.jpg differ diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/images/etl-pipeline.jpg b/spring-ai-docs/src/main/antora/modules/ROOT/images/etl-pipeline.jpg new file mode 100644 index 000000000..7c188fbab Binary files /dev/null and b/spring-ai-docs/src/main/antora/modules/ROOT/images/etl-pipeline.jpg differ diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-chat-completions-clients.jpg b/spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-chat-completions-clients.jpg index bf529080b..f20701c82 100644 Binary files a/spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-chat-completions-clients.jpg and b/spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-chat-completions-clients.jpg differ diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/etl-pipeline.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/etl-pipeline.adoc index a7fa6e6d7..87b237a4c 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/etl-pipeline.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/etl-pipeline.adoc @@ -18,6 +18,8 @@ The `Document` class contains text and metadata and is created from PDFs, text f To construct a simple ETL pipeline, you can chain together an instance of each type. +image::etl-pipeline.jpg[align="center"] + Let's say we have the following instances of those three ETL types * `PagePdfDocumentReader` an implementation of `DocumentReader` @@ -44,6 +46,10 @@ spring boot new --from ai-rag --name myrag . Consult the generated `README.md` file for guidance on obtaining an OpenAI API Key and running your first AI RAG application. == ETL Interfaces and Implementations + +The ETL pipeline is composed of the following interfaces and implementations. +Detailed ETL class diagram is shown in the <> section. + === DocumentReader Provides a source of documents from diverse origins. @@ -209,9 +215,18 @@ public interface DocumentWriter extends Consumer> { } ``` +==== FileDocumentWriter +Persist documents to a file . -== Available Implementations - -There is an implementation for each of the Vector Stores that Spring AI supports, e.g. `PineconeVectorStore`. +==== VectorStore +Provides integration with various vector stores. See xref:api/vectordbs.adoc[Vector DB Documentation] for a full listing. + +[[etl-class-diagram]] +=== ETL Class Diagram + +The following class diagram illustrates the ETL interfaces and implementations. + +// image::etl-class-diagram.jpg[align="center", width="800px"] +image::etl-class-diagram.jpg[align="center"] \ No newline at end of file