* Rename the ModelClient class hierarchy into Model:
- Rename ModelClient into Model. Update all code and doc references.
- Rename ChatClient to ChatModel. Update all ChatClient suffixes and chatClient fields and variables in code and doc.
- Rename EmbeddingClient into EmbeddingModel. Update the XxxEmbeddingClient class and variable suffixes and embeddingClient variables and fields in code and docs.
- Rename ImageClient into ImageModel.
- Rename SpeechClient into SpeechModel.
- Rename TranscriptionClient into TranscriptionModel.
- Update all javadocs and antora pages. Update the related diagrams.
* Create fluent API in ChatClient interface that now includes streaming support
* Add OpenAI FunctionCallbackWrapper2IT auto-config tests.
* Add ChatClientTest mockito testing.
* Add ChatModel#getDefaultOptions(), and remove @FunctionalInterface
* ChatModel enums extend the new ModelDescription interface.
* Implement fromOptions copy method in every ChatOptions implementation.
* Extend ChatClient to use the model default options if not provided explicitly.
* Update readme to provide guidance on how to adapt to breaking changes.
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
Co-authored-by: Mark Pollack <mpollack@vmware.com>
Add ParametrizedTypeReference constructoers along the Clas<T> such.
Convert the Class into ParametrizedTypeReference internally.
Update tests and docs.
* Put creation of EvaluationRequest in ChatServiceResponse
* Add string constructor to QuestionContextAugmentor
* change vectorStore accept() usage to write()
* Added more natural method names to DocumentReader, Transformer, Writer
* Changed Content getMedia to return Collection, deprecated use of List
* Change constructor for Media to accept URL and Resource, deprecate Object constructor
* Update ETL documentation and a few tests to avoid now deprecated APIs.
Add a default collection name similar to other vector store
implementations. Currently, when using starters, qdrant requires
a collection name. Otherwise, it fails.
- Add Java reflection merge utilities that can access Azure private constructors and fields.
- Azure merging, creation of flux windows.
- Function call grouping for function processing.
- Do not perform greedy operation on Flux.
- Use "real" streaming on all client on function response.
- Gerimi: fix missing method impl.
- Mistral AI, OpenAI: fix missing stream flag in doCreateToolResponseRequest.
- Fix code formatting. No wildcard imports.
- Add Grogdunn to the javadoc authors.
- Anthropic 3 API does not support streaming funciton calling yet.
Currently, `username` is added as a password in `BasicAuthenticationInterceptor`.
This commit fixes the issue and also make sure the integration test
setup is correct.
Currently, `QdrantClient` and `WeaviateClient` are not exposed as
beans. Having access to those would benefit to perform operations
with an already configured client.
- Deprecate QdrantVectorStoreConfig.
- Update Qdrant manual config adoc.
- Improve Qdrant adoc.
- Update Weaviate docs.