Commit Graph

1292 Commits

Author SHA1 Message Date
LangChain4j 558a30d78c fixed failing tests 2024-09-25 10:51:12 +02:00
Jake Luciani 21eb8b962f
Jlama revision bump, add working Q type to builder (#1825)
## Change
Bump jlama rev to 0.5.0

This rev is currently being promoted in maven so should be there in next
6 hours.

## General checklist
- [X] There are no breaking changes
- [X] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [X] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
2024-09-25 08:55:25 +02:00
LangChain4j 3579664e08 Support for GitHub Models using the Azure AI Inference API (#1807) 2024-09-24 19:31:53 +02:00
Julien Dubois d546c64511
Support for GitHub Models using the Azure AI Inference API (#1807)
Fix #1719

This adds GitHub Models (see https://github.com/marketplace/models )
support with the new Azure AI Inference API Java SDK.
2024-09-24 19:18:42 +02:00
Guillaume Laforge c9995ab3e8
Flaky tests (#1823) 2024-09-24 16:34:48 +02:00
LangChain4j 34f6712e30 Add langchain4j-tablestore Integration: TablestoreEmbeddingStore/TablestoreChatMemoryStore (#1650) 2024-09-24 15:58:24 +02:00
LangChain4j 62794e13e9 Deprecated withApiKey() static factories 2024-09-24 15:53:39 +02:00
LangChain4j 8c625c3caf capitalize maven module names 2024-09-24 15:33:17 +02:00
LangChain4j 42c958a458
Extract HtmlTextExtractor into its own module (#1811)
## Issue
Closes #1049

## Change
Extracted `HtmlTextExtractor` into
`langchain4j-document-transformer-jsoup` module.
Renamed `HtmlToTextDocumentTransformer` into `HtmlTextExtractor`.

Please import:
```xml
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-document-transformer-jsoup</artifactId>
    <version>0.35.0</version>
</dependency>
```

## General checklist
- [ ] There are no breaking changes
- [ ] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [X] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
- [X] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-24 15:08:23 +02:00
LangChain4j f6211ec8fd fix(Google AI Gemini) — Fixed wrong mapping between function execution requests and function execution responses. (#1802) 2024-09-24 14:50:05 +02:00
LangChain4j 2929912448 Integration with Voyage (#1816) 2024-09-24 09:07:34 +02:00
Martin7-1 9e63004370
Integration with Voyage (#1816)
## Issue
Closes #1814 and #1813 

## Change
1. Integration `EmbeddingModel` and `ScoringModel` with `Voyage`.
2. Add document about `VoyageEmbeddingModel` and `VoyageScoringModel`

Related PR:

1. [Voyage
Example](https://github.com/langchain4j/langchain4j-examples/pull/109)
2. [Voyage Spring
Boot](https://github.com/langchain4j/langchain4j-spring/pull/42)

## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [x] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [x] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [x] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [x] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)

## Checklist for adding new model integration
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] I have added my new module in the
[BOM](https://github.com/langchain4j/langchain4j/blob/main/langchain4j-bom/pom.xml)
2024-09-24 08:59:01 +02:00
Guillaume Laforge 9e2ee938d1
New ScoringModel for Google Cloud Vertex AI Ranking API (#1820)
## Issue
Closes #1819

## Change
Add support for the Vertex AI Ranking API, by implement a `ScoringModel`
for it.

## General checklist

- [X] There are no breaking changes
- [X] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [X] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-24 08:05:19 +02:00
LangChain4j ef2f1ec470 Deprecated withApiKey() static factories 2024-09-23 15:19:51 +02:00
Guillaume Laforge 6bd851fefc
fix(Google AI Gemini) — Fixed wrong mapping between function execution requests and function execution responses. (#1802)
Added a test using `AiServices`.
Function execution requests were mapped to function execution responses.
2024-09-23 12:29:57 +02:00
LangChain4j a91ea8ae4f FEATURE: Anthropic streaming with tools (#1795) 2024-09-23 11:59:07 +02:00
Milan Le d1f5775f8b
FEATURE: Anthropic streaming with tools (#1795)
## Issue
Closes #1738

## Change
- Added AnthropicContentBlockType an enum that specifies content to
follow (text, or tool_use).
- Added AnthropicToolChoice, an enum
- Introduced AnthropicToolExecutionRequestBuilder to build tool
execution requests.
- Updated
`langchain4j-anthropic/src/main/resources/META-INF/native-image/dev.langchain4j/langchain4j-anthropic/reflect-config.json`
- Update handling of streamed content for tools
- Added integration tests

## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [x] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-23 11:57:33 +02:00
bidek bcfaf735da
Fix for issue #1804 - When tool is a method without parameters, the handling of parameters in ToolSpecification will result in an error. (#1812)
## Issue
Fixes #1804

## Change
Ollama: handling case when tool don`t have parameters.

## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-23 10:29:55 +02:00
LangChain4j c872a4d46c fixing failing tests 2024-09-23 10:01:44 +02:00
LangChain4j 10ea33fe26 OpenAI: return token usage returned by OpenAI (#1622) 2024-09-22 10:39:00 +02:00
LangChain4j 33199dc588 Fix #1815 2024-09-22 09:50:30 +02:00
LangChain4j 84915ba03e Deprecated Json from langchain4j-core
langchain4j-core should not depend on Gson
2024-09-20 17:31:32 +02:00
LangChain4j 4af5306d50 docu: AI Services, structured outputs 2024-09-20 17:04:45 +02:00
LangChain4j 3a6cb3dc2d fixed a bug where in Spring Boot setting, AI Service method parameter is ignored without @V annotation 2024-09-20 16:27:11 +02:00
LangChain4j 10176556c6 fixed failing test 2024-09-20 16:21:36 +02:00
LangChain4j 4ae78f8738 docu: Spring Boot component wiring 2024-09-20 15:47:55 +02:00
LangChain4j 8ee79fa5f6 docu: Flux 2024-09-20 15:06:50 +02:00
LangChain4j 0e573e9925 docu: logging 2024-09-20 15:00:22 +02:00
LangChain4j 40b0d01349 add scoring onnx (#1769) 2024-09-20 12:21:44 +02:00
1758225523 1c0671617d
add scoring onnx (#1769)
## Issue
Closes #1549

## Change
OnnxScoringModel similar to OnnxEmbeddingModel


## General checklist
- [X] There are no breaking changes
- [X] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [X] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green

## Checklist for adding new model integration
- [X] I have added my new module in the
[BOM](https://github.com/langchain4j/langchain4j/blob/main/langchain4j-bom/pom.xml)
2024-09-20 12:18:45 +02:00
Jack Green d72af43416
`dev.langchain4j.data.document.Metadata.Metadata()` creates redundant `Map` (#1801)
## Change
The [default constructor creates an empty
`HashMap`](abd98a8b0b/langchain4j-core/src/main/java/dev/langchain4j/data/document/Metadata.java (L56)),
just to pass it into another constructor [which wraps it another new
`HashMap`](abd98a8b0b/langchain4j-core/src/main/java/dev/langchain4j/data/document/Metadata.java (L75)).

This overhead can be removed.

## General checklist
- [X] There are no breaking changes
- [ ] I have added unit and integration tests for my change
- [ ] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-20 12:07:32 +02:00
LangChain4j d66fa8554b Added listener on aws bedrock (#1805) 2024-09-20 11:41:58 +02:00
Claudio Silva Junior 8893a39276
Added listener on aws bedrock (#1805)
## Issue
Closes #1759

## Change
Added listener on aws bedrock


## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [x] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-20 11:40:48 +02:00
LangChain4j 71d3c7b2ce fixing failing tests 2024-09-20 11:02:21 +02:00
LangChain4j 5089893dbc fixing failing tests 2024-09-20 10:47:02 +02:00
LangChain4j 40fbcc8890 upload surefire reports 2024-09-20 10:37:43 +02:00
Martin7-1 5de2ee47d0
MongoDB Atlas get rid of lombok (#1806)
## Issue
#1636 

## Change
1. Bump `mongodb-driver-sync` from `4.11.1` to `4.11.4`
2. Get rid of lombok

## General checklist
- [x] There are no breaking changes
- [ ] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [x] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-20 10:32:20 +02:00
Guillaume Laforge abd98a8b0b
Vertex AI Gemini documentation with lots of examples (#1799) 2024-09-19 16:18:05 +02:00
LangChain4j 0b29cb21e6 Added ChatModelListener in anthropic model (#1791) 2024-09-19 11:44:28 +02:00
Claudio Silva Junior 6e191b794c
Added ChatModelListener in anthropic model (#1791)
## Issue
Closes #1757

## Change
Added ChatModelListener in anthropic model

## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-19 11:39:15 +02:00
LangChain4j 3525027f57 fixing failing tests 2024-09-19 10:56:20 +02:00
Julien Dubois ca0ae8af73
Bumps com.azure:azure-storage-blob from 12.27.1 to 12.28.0. (#1794) 2024-09-19 10:23:58 +02:00
Julien Dubois d9ab42674e
Bumps com.azure:azure-storage-common from 12.26.1 to 12.27.0. (#1793) 2024-09-19 10:23:00 +02:00
Guillaume Laforge 34d4af44a5
Updated documentation for the Google Cloud Vertex AI embedding models and added new parameters (auto truncation and output dimensionality) (#1796)
## Change

Updated documentation for the Vertex AI embedding models, and also added
support for recent new parameters like autoTruncate and
outputDimensionality

## General checklist

- [X] There are no breaking changes
- [X] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-19 09:31:29 +02:00
jiangsier-xyz 92e0b97040
Added Qwen2.5 open-source series models (#1798)
## Change
Added Qwen2.5 open-source series models, which show amazing results.
    
See: https://qwenlm.github.io/blog/qwen2.5/

## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [X] There are no breaking changes
- [X] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
2024-09-19 09:24:33 +02:00
Guillaume Laforge cb5bdd92e7
Google AI — add support for embedding model and ability to count tokens (#1786)
## Issue
Closes #1785
Closes #1784

## Change
* `GoogleAiChatModel` now implements `TokenCountEstimator`
* new `GoogleAiEmbeddingModel` class
* new `GoogleAiGeminiTokenizer` class

## General checklist

- [X] There are no breaking changes
- [X] I have added unit and integration tests for my change
- [X] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [ ] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [ ] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-18 12:41:29 +02:00
LangChain4j 1dc3ce6e96 Add langchain4j-tablestore Integration:  TablestoreEmbeddingStore/TablestoreChatMemoryStore (#1650) 2024-09-18 11:45:40 +02:00
ScriptShi be7454a7c6
Add langchain4j-tablestore Integration: TablestoreEmbeddingStore/TablestoreChatMemoryStore (#1650)
## Change
Add langchain4j-tablestore Integration: TablestoreEmbeddingStore /
TablestoreChatMemoryStore

## General checklist
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [x] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [x] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)

## Checklist for adding new embedding store integration
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] I have added a `{NameOfIntegration}EmbeddingStoreIT` that extends
from either `EmbeddingStoreIT` or `EmbeddingStoreWithFilteringIT`
- [x] I have added my new module in the
[BOM](https://github.com/langchain4j/langchain4j/blob/main/langchain4j-bom/pom.xml)
2024-09-18 11:41:53 +02:00
Herbert Beckman 9ea2e27337
[FEAT] Add Function Calling to Amazon Bedrock integration (#1755)
## Issue
Closes #1074

## Change
Add function calling to Amazon Bedrock integration and his available
models by the
[doc](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html#conversation-inference-supported-models-features).

## General checklist
<!-- Please double-check the following points and mark them like this:
[X] -->
- [x] There are no breaking changes
- [x] I have added unit and integration tests for my change
- [x] I have manually run all the unit and integration tests in the
module I have added/changed, and they are all green
- [x] I have manually run all the unit and integration tests in the
[core](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-core)
and
[main](https://github.com/langchain4j/langchain4j/tree/main/langchain4j)
modules, and they are all green
<!-- Before adding documentation and example(s) (below), please wait
until the PR is reviewed and approved. -->
- [x] I have added/updated the
[documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs)
- [ ] I have added an example in the [examples
repo](https://github.com/langchain4j/langchain4j-examples) (only for
"big" features)
- [ ] I have added/updated [Spring Boot
starter(s)](https://github.com/langchain4j/langchain4j-spring) (if
applicable)
2024-09-18 10:43:14 +02:00
LangChain4j 02352da19b fixing failing tests 2024-09-18 09:54:14 +02:00