Commit Graph

287 Commits

Author SHA1 Message Date
Christian Tzolov
08fea315a4 Update the production depedencies 2024-01-26 17:31:29 +01:00
Christian Tzolov
836c4fd88f fix bean parser and tests 2024-01-26 16:45:03 +01:00
Christian Tzolov
944c4ebbaa Fix Ollama client options NPE and lack for SYS message handling
- Fix the Ollama options merging to pervent NPE.
 - Fix the Ollama handling for SYS messages.
 - Fix the BeanOutputParser to support JSON Schema reponses.
 - All Ollama Parsers tests pass now.

 Resolves: #258 ,  #273
2024-01-26 15:29:09 +01:00
Christian Tzolov
aa8c3856ed Fix Chroma API 0.4.22+ compatiblity issues
- Makes upsert a void metod.
 - Fix affected test.
 - Replac getEmebedding with complex filters test by query Embedding.

 Resolves #224
2024-01-26 12:05:25 +01:00
Christian Tzolov
eb42912efd Move OpenAiImageOptionsXXX classes outside the 'api' packages as those are client not api related 2024-01-26 10:48:36 +01:00
FormatToday
c1d3034569 add AssistantPromptTemplate override method createMessage()
Signed-off-by: ZhangQin <dev@zhangqin56.cn>
2024-01-25 17:10:19 -05:00
rai-sandeep
a786784982 Fix typo in Azure OpenAI documentation (#237)
Closes https://github.com/spring-projects/spring-ai/issues/236
2024-01-25 16:55:03 -05:00
utkarsh
5718f9683d Added PostgresMlAutoConfiguration (#242)
Fixes issue #242
2024-01-25 16:52:42 -05:00
Christian Tzolov
5e38536b6c Rename streamingCall into stream 2024-01-25 16:36:29 -05:00
Christian Tzolov
4217a54c31 Make the StreamingChatClient a StreamingModelClient 2024-01-25 16:35:58 -05:00
Christian Tzolov
5d55b68380 Align the Embedding api with the new meta-model
- Craete new EmbeddingOptions -> ModelOptions, EmbeddigRequest -> ModelRequest, EmbeddingResponseMetadata -> ResponseMetadata and EmbeddignResultMetadata -> ResultMetadata.
 - Make the EmbeddigClient interface extend from ModelClient<EmbeddingRequest, EmbeddingResponse>, EmbeddingResponse implements ModelResponise and Embedding implements ModelResult.
 - Fix affected tests.
 - Steramline the EmbeddingClient interface with default method implementations based on call.
 - Merge EmbeddingUtil into AbstractEmbeddingClient
2024-01-25 16:33:37 -05:00
Thomas Vitale
85ed261c08 Include metadata for nested config props in Ollama (#247)
Fixes gh-246

Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
2024-01-25 09:17:50 -05:00
Ikko Eltociear Ashimine
2c2cb9d2d8 Update output-parser.adoc (#250)
ouput -> output
2024-01-25 09:14:13 -05:00
Choi ByungHyeon
39bd735eda Fix a typo in openai.adoc (#252) 2024-01-25 09:13:36 -05:00
Toshiaki Maki
0cf0ed9e00 Use ObjectMapper with FAIL_ON_UNKNOWN_PROPERTIES false during error handling (#253) 2024-01-25 09:02:39 -05:00
jingzhou
08f52301b1 Update concepts.adoc: add Google Gemini (#254) 2024-01-25 09:00:29 -05:00
Yao Yuan
21889ccfc0 Rename AiReponse to ChatResponse in Documents (#255) 2024-01-25 08:59:00 -05:00
Mark Pollack
c745a6518f update readme with recent breaking changes 2024-01-24 16:06:56 -05:00
Mark Pollack
593d7f23df Fix TextToImage integration tests
* Create StyleEnum for StabilityAI prompt options.
* Add copyright header and javadoc to StabilityAI classes
2024-01-24 15:55:46 -05:00
Christian Tzolov
c5bca45007 Fix failing IT test 2024-01-24 21:33:55 +01:00
Mark Pollack
243cef976c Abstract API for AI model clients
* An abstract API for AI model clients
 * Providing portable client request options while still allowing vendor specific options when required.  Implemented only for StabilityAI/OpenAI ImageClient
 * Support for text->image for openai and stabilityai.

  Partial fix for #27 :  Text To Image and Fixes #266 and Fixes #261
2024-01-24 19:53:33 +01:00
Christian Tzolov
08fa0e393c Prevent OpenAi retry on http client errors such as rate-limit or wrong authentication 2024-01-14 23:04:17 +01:00
Christian Tzolov
abbd911f69 fix test 2024-01-14 20:46:50 +01:00
Christian Tzolov
7262afb14d Capitalize the enumeration names
Resolves #208
2024-01-14 20:36:14 +01:00
Christian Tzolov
025d6af033 Clarification about the OpenAI chat model versioning 2024-01-14 11:57:45 +01:00
Mark Heckler
c517fc059a Documentation fixes, clean and polish 2024-01-14 11:27:20 +01:00
Christian Tzolov
8fa0af553c Clarify the OpenAi properties
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
2024-01-13 22:41:24 +01:00
Christian Tzolov
7b38cc3a88 Improve pdf paragraph constrains
The ParagraphPdfDocumentReader relies on a PDF object called 'outline' (e.g. TOC) to be present in the document.
If the pdf was not generated with TOC, the other options in Spring AI are PagePdfDocumentReader and TikaDocumentReader.

 Resolves #59
2024-01-13 12:16:14 +01:00
Mark Pollack
408d75e0d4 Ollama and Titan Embedding Client makes individual calls to embed Document collection
Fixes #218
2024-01-11 12:15:52 -05:00
Mark Pollack
85e3e0015e Remove client and embedding from package name for ChatClient and EmbeddingClient implementations
Moved up one package level the following classes
* org.springframework.ai.huggingface.client.HuggingfaceChatClient
* org.springframework.ai.openai.client.OpenAiChatClient and org.springframework.ai.openai.embedding.OpenAiEmbeddingClient
* org.springframework.ai.vertex.generation.VertexAiChatClient and org.springframework.ai.vertex.embedding.VertexAiEmbeddingClient

Fixes #211
2024-01-11 12:00:36 -05:00
Mark Pollack
1b76cf6da0 Renaming of Autoconfiguration classes
- The HuggingfaceAutoConfiguration renamed HuggingfaceChatAutoConfiguration
- Merge OllamaChatAutoConfiguration and OllamaEmbeddingAutoConfiguration into OllamaAutoConfiguration

Fixes #210
2024-01-11 11:52:22 -05:00
Mark Pollack
b35c71061e Remove VectorStoreRetriever interface and retriever package 2024-01-11 10:52:28 -05:00
Mark Pollack
4dc92f0cb7 Move FormatProvider from the package prompt to parser
Fixes #147
2024-01-11 10:19:38 -05:00
Mark Pollack
a48a6d9611 Change package name for PostgresML and Transformers
Fixes #133
2024-01-11 10:11:53 -05:00
Mark Pollack
dfe4107cca Add some ChatClient impl docs to the TOC 2024-01-10 17:29:10 -05:00
Mark Pollack
5e9e4dd233 Allow PromptTemplate keys to be set multiple times
Fixes #97
2024-01-10 11:52:19 -05:00
Omkar Shetkar
0b87df07e5 Fix Bedrock chat model enum names consistency
- doc update
 - fix code formatting

 Resolves #231
2024-01-09 12:36:17 +01:00
Christian Tzolov
2f89124350 minor README fix 2024-01-09 10:10:39 +01:00
Mark Pollack
99d391b10e Add more documentation for ChatClient implementations
* OpenAI
* Azure OpenAI
* Bedrock
* Bedrock Anthropic Claude
* Bedrock Meta Llama2
* Ollama
2024-01-07 15:51:29 -05:00
Caio Vaz
d3d1736f5c Update README.md (#205)
I was unable to download Artifactory 0.7.1 without the "experimental" option due to a typo.
2024-01-02 13:24:02 -05:00
Giani Segatto
2a604262d8 Use jdbcTemplate.batchUpdate for PgVectorStore add() implementation
- remove unused variable
2024-01-02 13:20:23 -05:00
mithunsinghtocode
a892ea961f Update redis.adoc (#201)
* Update redis.adoc

- dependency for redis is not correct.
- updated typo
2024-01-02 13:00:50 -05:00
Omkar Shetkar
9c807983ef - Doc update for breaking changes (#199) 2024-01-02 12:48:53 -05:00
Siddharth Shankar Paul
e34543ecd5 fix: copy embedding dimension (#195) 2024-01-02 12:48:17 -05:00
Christian Tzolov
0ccf327806 Refactor Azure OpenAi
- Clean the AzureOpenAiChatClient and add support  for StreamingChatClient.
 - Streamline the AzureOpenAiEmbeddingClient.
 - Move the AzureOpenAiChatClient and AzureOpenAiEmbeddingClient to top org.sf.ai.azure.opoenai package.
 - Add ITs for AzureOpenAiChatClient and AzureOpenAiEmbeddingClient
 - Fix the AzureOpenAiAutoConfiguration
   - Split property file into AzureOpienAiConnectionProperties, AzureOpenAiChatProperties
     and AzureOpenAiEmbeddingProperties.
   - Add ITs for the auto-configuration
 - Add improve package structure
 - Add README docs
 - fix failing test
 - update to use Azure Deployment for CI
2024-01-02 12:18:20 -05:00
Larry Diamond
23e5c9ff78 Issue 196 Merge Chevrons in README md 2023-12-26 14:32:37 +01:00
Sohardh Chobera
5ba78c2fea Adds Spring boot starter for Neo4j Store 2023-12-24 09:51:15 +01:00
Christian Tzolov
d7693f1ec4 Add Neo4j auto-configuraiton to the org.sf.boot.autoconfigure.AutoConfiguraiton.imports 2023-12-24 09:18:51 +01:00
oujingzhou
b625ab1c15 Add Spring Boot auto-configuration for Neo4j vector store
- resolve Neo4j auto-configuraion property expossing external API.
 - move neo4j auto-conf under the vectorstore parent package.
2023-12-24 09:11:52 +01:00
Christian Tzolov
8282ae2b74 Remove IDE medata 2023-12-23 15:21:57 +01:00