Commit Graph

292 Commits

Author SHA1 Message Date
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 93173f20d7
Added ability to estimate token count for tools (#81)
Also refactored MessageWindowChatMemory and TokenWindowChatMemory
2023-08-09 22:01:52 +02:00
LangChain4j 7497191bf9
Improvements (#79)
- did some refactorings
- added javadoc
- fixed NPE in PineconeEmbeddingStoreImpl when adding embedding by id
- PineconeEmbeddingStoreImpl now takes into account minScore and returns
score in EmbeddingMatch
- InMemoryEmbeddingStore now returns score instead of cosine similarity
2023-08-09 07:58:55 +02:00
LangChain4j 7b4706d279
Added an option to force LLM to execute a particular tool (#68) 2023-08-06 14:04:33 +02:00
LangChain4j d1f52577b1
Refactored in-process embeddings, added more docs (#55)
Co-authored-by: deep-learning-dynamo <deep-learning-dynamo@gmail.com>
2023-08-01 16:32:14 +02:00
LangChain4j ba45d546ee
Added DocumentTransformer and it's first implementation - HtmlTextExtractor (#53) 2023-07-29 17:22:54 +02:00
LangChain4j 78465c35c7
Added some javadoc (#52) 2023-07-29 17:12:36 +02:00
deep-learning-dynamo d4fca658c1 released 0.18.0 2023-07-26 21:19:24 +02:00
LangChain4j 5666328f90
renamed DocumentSplitter split() to splitAll() (#50) 2023-07-25 19:22:29 +02:00
LangChain4j 8d6f9f66bf
Removed duplicated logic between model classes (#47) 2023-07-24 19:59:06 +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
deep-learning-dynamo 14185653c7 released 0.14.0 2023-07-16 12:15:31 +02:00
LangChain4j 7d36b0cd6a
Removed Result from model classes (#30) 2023-07-16 11:45:14 +02:00
deep-learning-dynamo 120c6a01d8 released 0.13.0 2023-07-15 17:53:10 +02:00
kuraleta 8609ce9605
Added ConversationalChainTest (#26) 2023-07-15 17:33:00 +02:00
LangChain4j 907c1eb042
Fix for https://github.com/langchain4j/langchain4j/issues/24 (#28)
Added logic that attempts to convert Double to the type of tool (method)
parameter
2023-07-15 17:28:56 +02:00
LangChain4j 755c9d08b6
big boi (#25)
Sorry for a huge PR...
- added retries to OpenAiChatModel
- added @UserName: an option to define a name of a user as a parameter
in AI Services API
- added an option to split multiple documents at once (see
DocumentSplitter)
- redesigned document loaders (see FileSystemDocumentLoader)
- renamed DocumentSegment into TextSegment
- redesigned ConversationalRetrievalChain
- added EmbeddingStoreIngestor
- misc refactorings/fixes

---------

Co-authored-by: deep-learning-dynamo <deep-learning-dynamo@gmail.com>
2023-07-15 11:19:08 +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
deep-learning-dynamo 17654e31d0 released 0.11.0 2023-07-11 20:50:57 +02:00
LangChain4j e7a9ff1d2a
first version of code execution engine and dynamic tools (#18)
Co-authored-by: deep-learning-dynamo <deep-learning-dynamo@gmail.com>
2023-07-11 20:25:28 +02:00
Julien Perrochet 0534ec91e4
[CI] automated license check as part of CI (Apache 2.0/MIT/Eclipse) (#14)
The title says it all. Relying on [this maven
plugin](https://github.com/chonton/license-maven-plugin) for it.

Note that this adds a separate build step because we need a more recent
JDK to run the needed plugin.
2023-07-07 09:27:44 +02:00
Julien Perrochet 0cc9bb81ae
[misc] Clean up maven wrapper scripts: have one at the root, delete the others. (#12)
Also cleanup some gitignore entries
2023-07-06 08:33:45 +02:00
Julien Perrochet d427b7ba06
add maven test github action (#11)
This PR:

    adds a github action for running unit tests
    tests that require an OpenAI/HuggingFace token and hit their API are now considered integration tests (and have been renamed to end in IT)
    integration tests are now run through a separate goal (mvn integration-test) via the maven-failsafe-plugin
    to fix the PromptTemplate tests a Clock has been added to that class. Its constructor is now private: whether this is the convention we want to follow can be discussed
2023-07-05 21:55:49 +02:00
deep-learning-dynamo d645a8d5c7 released 0.10.0 2023-07-05 18:55:20 +02:00
deep-learning-dynamo 80f1ba725e introduced "retriever" abstraction and it's first implementation (embedding store retriever) 2023-07-05 18:55:20 +02:00
deep-learning-dynamo 7ae3b7e832 added special placeholders for prompt templates 2023-07-05 18:55:20 +02:00
deep-learning-dynamo 283f30fa88 housekeeping 2023-07-05 18:55:20 +02:00
deep-learning-dynamo 721a330228 released 0.9.0 2023-07-03 15:12:43 +02:00
deep-learning-dynamo acb1e641c0 released 0.8.0 2023-07-02 23:13:13 +02:00
deep-learning-dynamo c2d9298ce1 tests were not running during maven build *facepalm* 2023-07-02 22:07:27 +02:00
deep-learning-dynamo 13b4043145 refactoring 2023-07-02 22:07:27 +02:00
deep-learning-dynamo 6e85f7f06c - added support for tools
- released 0.7.0
2023-07-01 18:33:50 +02:00
deep-learning-dynamo fa9646145d Released 0.6.0 2023-06-29 22:15:38 +02:00
deep-learning-dynamo 3428ed6404 wip 2023-06-29 08:13:31 +02:00
deep-learning-dynamo 7a349d0045 Released 0.5.0 2023-06-26 20:20:57 +02:00
deep-learning-dynamo 3b922e2d43 init - 0.4.0 2023-06-20 18:01:23 +02:00
deep-learning-dynamo 806dd88873 init - 0.4.0 2023-06-20 17:57:52 +02:00