Commit Graph

46 Commits

Author SHA1 Message Date
LangChain4j ba7fabaa50
graal: cleanup (#297) 2023-11-19 12:59:24 +01:00
deep-learning-dynamo e467beb64a reducing duplication of *EmbeddingStoreIT 2023-11-18 19:20:26 +01:00
deep-learning-dynamo 00c6068de3 reducing duplication of *EmbeddingStoreIT 2023-11-18 18:29:44 +01:00
deep-learning-dynamo 16f60dbef9 reducing duplication of *EmbeddingStoreIT 2023-11-18 16:23:29 +01:00
LangChain4j ff998ac82d
build most modules with jdk 8 (#295)
Since we target java 8, CI build was updated to run most modules using
java 8, then modules requiring java 11 separately with java 11
2023-11-18 15:07:11 +01:00
deep-learning-dynamo 61e6a4bef0 added another variation of apache 2 license naming 2023-11-18 11:44:38 +01:00
Eddú Meléndez Gonzales 111c213c06
Cleanup Testcontainers deps (#292)
* Update testcontainers version to 1.19.2
* Remove duplicated entries in dependencyManagement section
* Import testcontainers-bom
2023-11-18 10:20:16 +01:00
deep-learning-dynamo 21dfc8b317 released 0.24.0 2023-11-12 18:58:31 +01:00
Joris Kuipers bc8ee67035
Add support for autocompletion of Boot configuration properties (#240)
By adding an optional dependency on the
spring-boot-configuration-processor, a
`META-INF/spring-configuration-metadata.json` file will be created for
all `@ConfigurationProperties`-annoted types to support autocompletion
within IDEs. Since nested beans are used, the bound fields for those
beans need to be annotated with `@NestedConfigurationProperty`. (purely
for this tool, this does not affect runtime behavior in any way)
2023-11-07 18:53:35 +01:00
deep-learning-dynamo 822469d4a0 fixed scopes 2023-10-27 14:18:14 +02:00
Jansen Ang 053a35d5a3
Add support for loading documents from s3 (#197)
Adding two separate loaders that load a single document or multiple
documents from S3 respectively. They also contain different parameters
to support different configurations. However, the document type is
dependent on the current parsers that langchain4j supports, but I am
planning to help in adding more parsers in the future.
2023-10-27 14:00:16 +02:00
Thomas Vitale 65ef6554b6
Include metadata for custom Spring Boot properties (#251)
Add the Spring Boot Configuration Processor dependency to the Spring
Boot starter to generate metadata
about the LangChain4J custom properties.

Fixes gh-250
2023-10-27 13:53:17 +02:00
deep-learning-dynamo d0067e9f91 updated openai4j to the latest version 2023-10-23 11:23:50 +02:00
deep-learning-dynamo f43cc8f4ca keep netty versions in sync 2023-10-17 21:16:18 +02:00
deep-learning-dynamo eef1796963 fixing build 2023-10-09 13:09:25 +02:00
Ricardo Ferreira 79b825df63
Add Support for OpenSearch as Embedding Store (#208)
This PR contains the implementation of an integration with
[OpenSearch](https://opensearch.org/). As one of the growing vector
databases in the open source world, adding support for it to this
project makes total sense. This implementation includes:

1. A complete implementation of the `EmbeddingStore` interface.
2. Unit tests for the major use cases a store must implement correctly.
3. Usage of [TestContainers](https://testcontainers.com/) to automate
the execution of backends.
2023-10-09 11:45:27 +02:00
Simon Verhoeven 4dc3e6d2b3
feat: upgrade Lombok to 1.8.30 for JDK21 compatibility (#211)
Using 1.8.28 results in 

` java: java.lang.NoSuchFieldError: Class
com.sun.tools.javac.tree.JCTree$JCImport does not have member field
'com.sun.tools.javac.tree.JCTree qualid'`
2023-10-09 10:02:14 +02:00
deep-learning-dynamo 1c7eb6edd1 skipping compliance check for langchain4j-cassandra due to "Public Domain" license of org.json:json 2023-10-09 09:13:00 +02:00
deep-learning-dynamo b822e68150 added another variation of Apache 2 license name to acceptable licenses 2023-10-09 08:58:02 +02:00
deep-learning-dynamo 315eab8641 released 0.23.0 2023-09-29 14:27:51 +02:00
ZYinNJU 887120b409
Redis integration as embedding store (#174) 2023-09-26 09:29:08 +02:00
LangChain4j ed854871d4
Extracted model providers to separate modules (#190) 2023-09-24 20:11:09 +02:00
LangChain4j 118306fdba
Moved Chroma integration to a separate module (#178) 2023-09-17 16:51:11 +02:00
ZYinNJU 3bffc971df
Integration with Elastic (#95)
I've done integration with Elastic and do some local test to ensure it's
right!(some logic is translated from LangChain Python to Java).

Elasticsearch do not support `Gson`. So we must have `Jackson`
dependency.
2023-09-02 20:32:46 +02:00
deep-learning-dynamo c1cc5be1c7 released 0.22.0 2023-08-29 19:21:56 +02:00
LangChain4j bebfc78ee1
Re-implemented document splitters (#130) 2023-08-28 21:33:48 +02:00
LangChain4j 20753a980a
Added EmbeddingModelTextClassifier (#139) 2023-08-28 21:19:11 +02:00
jiangsier-xyz e0487baaa2
Make the langchain4j-dashscope pass the license compliance check (#111)
Note that the declaration of license in dashscope-sdk-java:pom.xml is:

<licenses>
    <license>
        <name>The Apache License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
    </license>
</licenses>

(There is a "The " prefix in its name.)
2023-08-20 20:09:06 +02:00
deep-learning-dynamo db1f236ed2 released 0.21.0 2023-08-19 15:57:39 +02:00
kuraleta da45b7e259
Integration with Azure (#107) 2023-08-18 20:55:51 +02:00
jiangsier-xyz d908f5158a
Integrate the Qwen series models via dashscope-sdk. (#99)
Qwen series models are provided by Alibaba Cloud. They are much better
in Asia languages then other LLMs.

DashScope is a model service platform. Qwen models are its primary
supported models. But it also supports other series like LLaMA2, Dolly,
ChatGLM, BiLLa(based on LLaMA)...These may be integrated sometime in the
future.
2023-08-18 20:49:50 +02:00
deep-learning-dynamo d7b96ca9a6 released 0.20.0 2023-08-14 00:44:07 +02:00
deep-learning-dynamo 1541f214c1 released 0.19.0 2023-08-10 14:34:21 +02:00
LangChain4j 16a84a9074
[Snyk] Upgrade org.projectlombok:lombok from 1.18.26 to 1.18.28 (#74)
authored-by: snyk-bot <snyk-bot@snyk.io>
2023-08-10 08:49:04 +02:00
LangChain4j edc8400dff
[Snyk] Upgrade org.apache.pdfbox:pdfbox from 2.0.28 to 2.0.29 (#73)
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2023-08-10 08:46:16 +02:00
LangChain4j b4381bdf2e
Improved OpenAI tokenizer (#67)
Now function requests and responses are also counted toward total tokens
2023-08-04 00:24:22 +02:00
deep-learning-dynamo d4fca658c1 released 0.18.0 2023-07-26 21:19:24 +02:00
LangChain4j 529ef6b647
Added in-process embedding models (#41)
- all-minilm-l6-v2
- all-minilm-l6-v2-q
- e5-small-v2
- e5-small-v2-q

The idea is to give users an option to embed documents/texts in the same
Java process without any external dependencies.
ONNX Runtime is used to run models inside JVM.
Each model resides in it's own maven module (inside the jar).
2023-07-23 19:05:13 +02:00
LangChain4j 3cc75c771e
Added support for streaming ToolExecutionRequest from LLM (#44)
Now, the StreamingChatLanguageModel can be used in conjunction with
tools.
One can send tool specifications along with a message to the LLM, and
the LLM can either stream a response or initiate a request to execute a
tool (also as a stream of tokens).
2023-07-23 18:15:36 +02:00
deep-learning-dynamo 1976560aeb released 0.16.0 2023-07-18 10:49:43 +02:00
deep-learning-dynamo e439f96466 released 0.15.0 2023-07-18 00:13:08 +02:00
LangChain4j ca96e99f57
improved retry mechanism (#32)
- do not retry in case of 401
- wait for 1 second before retrying in case of 429
2023-07-17 22:09:23 +02:00
deep-learning-dynamo 14185653c7 released 0.14.0 2023-07-16 12:15:31 +02:00
deep-learning-dynamo 120c6a01d8 released 0.13.0 2023-07-15 17:53:10 +02:00
deep-learning-dynamo 52b7c3b441 released a hotfix for https://github.com/langchain4j/langchain4j/issues/23 2023-07-14 19:18:47 +02:00
Julien Perrochet c451a220d9
[build] Introduce a parent pom (#15)
Have a parent pom that contains most/all common things for the
sub-projects.

Note that it is separate from the root aggregator pom: not mixing the
aggregator and the parents makes things slightly easier.

If this change makes it harder to do releases, there might be a
possibility to generate the effective poms for each subproject, but on
the other hand releasing everything should not be too problematic.
2023-07-13 22:59:25 +02:00