Skip to content

Commit 3b0abea

Browse files
committed
LangChain4j version upgrade to 1.7.1: use LangChain4j BOM and rename ChatLanguageModel to ChatModel
1 parent bff81c1 commit 3b0abea

4 files changed

Lines changed: 33 additions & 20 deletions

File tree

build.gradle

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,20 @@ ext.webjarsLocatorLiteVersion = "1.0.1"
3232
ext.webjarsFontawesomeVersion = "4.7.0"
3333
ext.webjarsBootstrapVersion = "5.3.3"
3434
ext.webjarsMarkedVersion = "14.1.2"
35-
ext.langchain4jVersion = "1.0.0-beta3"
35+
ext.langchain4jVersion = "1.7.1"
36+
37+
dependencyManagement {
38+
imports {
39+
mavenBom "dev.langchain4j:langchain4j-bom:${langchain4jVersion}"
40+
}
41+
}
3642

3743
dependencies {
38-
implementation "dev.langchain4j:langchain4j-spring-boot-starter:${langchain4jVersion}"
39-
implementation "dev.langchain4j:langchain4j-open-ai-spring-boot-starter:${langchain4jVersion}"
40-
// implementation "dev.langchain4j:langchain4j-azure-open-ai-spring-boot-starter:${langchain4jVersion}"
41-
// implementation "dev.langchain4j:langchain4j-ollama-spring-boot-starter:${langchain4jVersion}"
42-
implementation "dev.langchain4j:langchain4j-embeddings-all-minilm-l6-v2:${langchain4jVersion}"
44+
implementation "dev.langchain4j:langchain4j-spring-boot-starter"
45+
implementation "dev.langchain4j:langchain4j-open-ai-spring-boot-starter"
46+
// implementation "dev.langchain4j:langchain4j-azure-open-ai-spring-boot-starter"
47+
// implementation "dev.langchain4j:langchain4j-ollama-spring-boot-starter"
48+
implementation "dev.langchain4j:langchain4j-embeddings-all-minilm-l6-v2"
4349
// Workaround for AOT issue (https://github.com/spring-projects/spring-framework/pull/33949) -->
4450
implementation 'io.projectreactor:reactor-core'
4551

pom.xml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,21 @@
3838
<maven-checkstyle.version>3.6.0</maven-checkstyle.version>
3939
<nohttp-checkstyle.version>0.0.11</nohttp-checkstyle.version>
4040
<spring-format.version>0.0.43</spring-format.version>
41-
<langchain4j.version>1.0.0-beta3</langchain4j.version>
41+
<langchain4j.version>1.7.1</langchain4j.version>
4242
</properties>
4343

44+
<dependencyManagement>
45+
<dependencies>
46+
<dependency>
47+
<groupId>dev.langchain4j</groupId>
48+
<artifactId>langchain4j-bom</artifactId>
49+
<version>${langchain4j.version}</version>
50+
<type>pom</type>
51+
<scope>import</scope>
52+
</dependency>
53+
</dependencies>
54+
</dependencyManagement>
55+
4456
<dependencies>
4557
<!-- Spring and Spring Boot dependencies -->
4658
<dependency>
@@ -77,12 +89,10 @@
7789
<dependency>
7890
<groupId>dev.langchain4j</groupId>
7991
<artifactId>langchain4j-spring-boot-starter</artifactId>
80-
<version>${langchain4j.version}</version>
8192
</dependency>
8293
<dependency>
8394
<groupId>dev.langchain4j</groupId>
8495
<artifactId>langchain4j-embeddings-all-minilm-l6-v2</artifactId>
85-
<version>${langchain4j.version}</version>
8696
</dependency>
8797

8898
<dependency>
@@ -486,7 +496,6 @@
486496
<dependency>
487497
<groupId>dev.langchain4j</groupId>
488498
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
489-
<version>${langchain4j.version}</version>
490499
</dependency>
491500
</dependencies>
492501
</profile>
@@ -496,7 +505,6 @@
496505
<dependency>
497506
<groupId>dev.langchain4j</groupId>
498507
<artifactId>langchain4j-azure-open-ai-spring-boot-starter</artifactId>
499-
<version>${langchain4j.version}</version>
500508
</dependency>
501509
</dependencies>
502510
</profile>
@@ -506,7 +514,6 @@
506514
<dependency>
507515
<groupId>dev.langchain4j</groupId>
508516
<artifactId>langchain4j-ollama-spring-boot-starter</artifactId>
509-
<version>${langchain4j.version}</version>
510517
</dependency>
511518
</dependencies>
512519
</profile>

src/main/java/org/springframework/samples/petclinic/chat/AssistantConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import dev.langchain4j.data.segment.TextSegment;
44
import dev.langchain4j.memory.chat.ChatMemoryProvider;
55
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
6-
import dev.langchain4j.model.chat.ChatLanguageModel;
6+
import dev.langchain4j.model.chat.ChatModel;
77
import dev.langchain4j.model.embedding.EmbeddingModel;
88
import dev.langchain4j.model.embedding.onnx.allminilml6v2.AllMiniLmL6V2EmbeddingModel;
99
import dev.langchain4j.rag.DefaultRetrievalAugmentor;
@@ -42,9 +42,9 @@ EmbeddingStoreContentRetriever contentRetriever(InMemoryEmbeddingStore<TextSegme
4242
}
4343

4444
@Bean
45-
RetrievalAugmentor retrievalAugmentor(ChatLanguageModel chatLanguageModel, ContentRetriever vetContentRetriever) {
45+
RetrievalAugmentor retrievalAugmentor(ChatModel chatModel, ContentRetriever vetContentRetriever) {
4646
return DefaultRetrievalAugmentor.builder()
47-
.queryRouter(new VetQueryRouter(chatLanguageModel, vetContentRetriever))
47+
.queryRouter(new VetQueryRouter(chatModel, vetContentRetriever))
4848
.build();
4949
}
5050

src/main/java/org/springframework/samples/petclinic/chat/VetQueryRouter.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.springframework.samples.petclinic.chat;
22

33
import dev.langchain4j.data.message.AiMessage;
4-
import dev.langchain4j.model.chat.ChatLanguageModel;
4+
import dev.langchain4j.model.chat.ChatModel;
55
import dev.langchain4j.model.input.Prompt;
66
import dev.langchain4j.model.input.PromptTemplate;
77
import dev.langchain4j.rag.content.retriever.ContentRetriever;
@@ -43,18 +43,18 @@ class VetQueryRouter implements QueryRouter {
4343

4444
private final ContentRetriever vetContentRetriever;
4545

46-
private final ChatLanguageModel chatLanguageModel;
46+
private final ChatModel chatModel;
4747

48-
public VetQueryRouter(ChatLanguageModel chatLanguageModel, ContentRetriever vetContentRetriever) {
49-
this.chatLanguageModel = chatLanguageModel;
48+
public VetQueryRouter(ChatModel chatModel, ContentRetriever vetContentRetriever) {
49+
this.chatModel = chatModel;
5050
this.vetContentRetriever = vetContentRetriever;
5151
}
5252

5353
@Override
5454
public Collection<ContentRetriever> route(Query query) {
5555
Prompt prompt = PROMPT_TEMPLATE.apply(query.text());
5656

57-
AiMessage aiMessage = chatLanguageModel.chat(prompt.toUserMessage()).aiMessage();
57+
AiMessage aiMessage = chatModel.chat(prompt.toUserMessage()).aiMessage();
5858
LOGGER.debug("LLM decided: {}", aiMessage.text());
5959

6060
if (aiMessage.text().toLowerCase().contains("yes")) {

0 commit comments

Comments
 (0)