- Implement QdrantVectorStore.
Uses a custom parser for converting Spring AI metadata(Map<String, Object>) to Qdrant GRPC payload.
- Implement Qdrant Expression Filter support.
Uses a custom parser for converting Spring AI filters to Qdrant-compatible GRPC filters.
- Add ITs using testcontainers.
- Add antora docs adrant.adoc.
- Add Qdrant vector store auto-configuraton and boot starter.
Additional (review) change:
- Fix poms parent to 0.8.1-SNAPSHOT.
- Rename ObjectFactory into QdrantObjectFactor.
- Rename ValueFactory into QdrantValueFactory.
- Move the org.springframework.ai.vectorstore package into org.springframework.ai.vectorstore.qdrant.
- Add missing Autoconfigure definition.
- Add missing license and JavaDocs.
- Minor code style improvmentes.
- Move the qdrant version to the main pom
- Add QdrantVectorStoreAutoConfigurationIT
- Remove guava dependency
- Improve gdrant.adoc conent and structure.
- Remove the grpc-protobuf dependency
Resolves#331
Add dedicated property classes for the Chat and the Embedding models and use a common connection properties for both:
- OpenAiConnectionProperties (baseUrl, apiKey) with prefix spring.ai.openai.*.
- OpenAiChatProperties (model, temperature) with prefix spring.ai.openai.chat.
- OpenAiEmbeddingProperties (model) with prefix spring.ai.openai.embedding.*
Additionally the OpenAiChatProperties and OpenAiEmbeddingProperties can optionally override the OpenAiConnectionProperties
so that we can use the Chat model from one Provider and the Embedding model from another.
Resolves#229
- fix all class names with AiClient or AiStreamingClient name prefixes.
- fix all variables or method name prefixes.
- fix the javadocs, readmes and refference documentation.
- Implement a native client (OllamaApi) to leverage chat/streaming and embedding endpoints.
- Add a OllamaChatClient implementing the ChatClinet and StreamingChatClinet interfaces.
- Add a OllamaEmbedding clinent that impl. the EmbeddingClinet interface.
- Add AutoConfiguraitons with properties for the chat and the embedding clients.
- Add unit and ITs for the OllamaApi, OllamaChatClient, OllamaEmbeddingClient, and related auto-configuraitons.
- Remove the old ollama impl. classes and tests.
- minor fixes to the bedrok test methods names.
- Collapses all VectorStore similiaritySearch methdos into one with SearchRequest builder.
- Fix all affected code and tests.
- Bump the project version to 0.7.1.
- Add tests
- Add autoconfigurations for milvus, pinecone and pgvecor stores.
- Improve and unify the VectorStore ITs.
- Make use of TrasformersEmbeddingClient for auto-configurations ITs.
- Add ContentFormatter and DefaultContentFormatter that can filter the metadata
and format the Document metadata and text according to predefined templates.
- Add content formatter tests
- Allow the TextSplitter to copy the document content-formatter to the children.
When the splitter breaks the parent Document into multiple chunks (e.g.
into a list of children Documents) copy the source content formatter to
the chunks by default. Use the copyContentFormatter flag to enable/disable copping.
- Add TextSplitter IT tests
- Add MetadataExtractors as DocumentTransformers.
- Bump spring-ai project version to 0.7.0-SNAPSHOT
- Configurable metadata-mode for EmbeddingClients
- Make the metadata mode configurable for the EmbeddingClient implementations.
- Use the EMBED mode by default.
Resolves#44