Skip to content

Commit da6b7c2

Browse files
author
deep-learning-dynamo
committed
- split ai4j into multiple modules: ai4j-core, ai4j, ai4j-pinecone
- some minor bugfixes and improvements
1 parent ba8db93 commit da6b7c2

41 files changed

Lines changed: 324 additions & 1067 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

pom.xml

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,19 @@
5050

5151
<dependencies>
5252

53+
<dependency>
54+
<groupId>dev.ai4j</groupId>
55+
<artifactId>ai4j-core</artifactId>
56+
<version>0.3.0</version>
57+
</dependency>
58+
5359
<dependency>
5460
<groupId>dev.ai4j</groupId>
5561
<artifactId>openai4j</artifactId>
5662
<version>0.2.0</version>
5763
</dependency>
5864

65+
<!-- TODO remove -->
5966
<dependency>
6067
<groupId>org.projectlombok</groupId>
6168
<artifactId>lombok</artifactId>
@@ -69,34 +76,6 @@
6976
<version>2.0.28</version>
7077
</dependency>
7178

72-
<!-- TODO move to separate module -->
73-
<dependency>
74-
<groupId>io.pinecone</groupId>
75-
<artifactId>pinecone-client</artifactId>
76-
<version>0.2.3</version>
77-
</dependency>
78-
79-
<dependency>
80-
<groupId>org.junit.jupiter</groupId>
81-
<artifactId>junit-jupiter-engine</artifactId>
82-
<version>${junit.version}</version>
83-
<scope>test</scope>
84-
</dependency>
85-
86-
<dependency>
87-
<groupId>org.junit.jupiter</groupId>
88-
<artifactId>junit-jupiter-params</artifactId>
89-
<version>${junit.version}</version>
90-
<scope>test</scope>
91-
</dependency>
92-
93-
<dependency>
94-
<groupId>org.assertj</groupId>
95-
<artifactId>assertj-core</artifactId>
96-
<version>3.24.2</version>
97-
<scope>test</scope>
98-
</dependency>
99-
10079
<dependency>
10180
<groupId>com.google.code.gson</groupId>
10281
<artifactId>gson</artifactId>
@@ -121,6 +100,27 @@
121100
<version>0.4.0</version>
122101
</dependency>
123102

103+
<dependency>
104+
<groupId>org.junit.jupiter</groupId>
105+
<artifactId>junit-jupiter-engine</artifactId>
106+
<version>${junit.version}</version>
107+
<scope>test</scope>
108+
</dependency>
109+
110+
<dependency>
111+
<groupId>org.junit.jupiter</groupId>
112+
<artifactId>junit-jupiter-params</artifactId>
113+
<version>${junit.version}</version>
114+
<scope>test</scope>
115+
</dependency>
116+
117+
<dependency>
118+
<groupId>org.assertj</groupId>
119+
<artifactId>assertj-core</artifactId>
120+
<version>3.24.2</version>
121+
<scope>test</scope>
122+
</dependency>
123+
124124
</dependencies>
125125

126126
<distributionManagement>

src/main/java/dev/ai4j/agent/tool/Tool.java

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/main/java/dev/ai4j/agent/tool/webpage/WebPageScrapperTool.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.ai4j.agent.tool.webpage;
22

3-
import dev.ai4j.agent.tool.Tool;
3+
import dev.ai4j.agent.Tool;
44
import lombok.val;
55
import org.jsoup.Jsoup;
66

src/main/java/dev/ai4j/document/Document.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/main/java/dev/ai4j/document/loader/DocumentLoader.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/dev/ai4j/document/loader/PdfFileLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.ai4j.document.loader;
22

33
import dev.ai4j.document.Document;
4+
import dev.ai4j.document.DocumentLoader;
45
import lombok.AllArgsConstructor;
56
import lombok.SneakyThrows;
67
import lombok.val;

src/main/java/dev/ai4j/document/loader/TextFileLoader.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package dev.ai4j.document.loader;
22

3-
import com.google.common.io.Files;
43
import dev.ai4j.document.Document;
4+
import dev.ai4j.document.DocumentLoader;
55
import lombok.Builder;
66
import lombok.SneakyThrows;
77
import lombok.val;
88

9-
import java.io.File;
109
import java.nio.charset.Charset;
10+
import java.nio.file.Files;
11+
import java.nio.file.Paths;
1112

1213
import static java.nio.charset.StandardCharsets.UTF_8;
1314

@@ -25,7 +26,7 @@ public TextFileLoader(String absolutePathToTextFile, Charset charset) {
2526
@Override
2627
@SneakyThrows
2728
public Document load() {
28-
val fileContents = Files.asCharSource(new File(absolutePathToTextFile), charset).read();
29+
val fileContents = new String(Files.readAllBytes(Paths.get(absolutePathToTextFile)), charset);
2930
return Document.from(fileContents);
3031
}
3132
}

src/main/java/dev/ai4j/document/splitter/DocumentSplitter.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/main/java/dev/ai4j/document/splitter/OverlappingDocumentSplitter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.ai4j.document.splitter;
22

33
import dev.ai4j.document.Document;
4+
import dev.ai4j.document.DocumentSplitter;
45
import lombok.Builder;
56
import lombok.val;
67
import lombok.var;
@@ -21,11 +22,11 @@ public OverlappingDocumentSplitter(int chunkSize, int chunkOverlap) {
2122

2223
@Override
2324
public List<Document> split(Document document) {
24-
if (document.getContents() == null || document.getContents().isEmpty()) {
25+
if (document.contents() == null || document.contents().isEmpty()) {
2526
throw new IllegalArgumentException("Document content should not be null or empty");
2627
}
2728

28-
val contents = document.getContents();
29+
val contents = document.contents();
2930
val contentLength = contents.length();
3031

3132
if (chunkSize <= 0 || chunkOverlap < 0 || chunkSize <= chunkOverlap) {
Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package dev.ai4j.flows;
22

3-
import dev.ai4j.model.chat.ChatHistory;
4-
import dev.ai4j.model.chat.ChatModel;
3+
import dev.ai4j.chat.AiMessage;
4+
import dev.ai4j.chat.ChatHistory;
5+
import dev.ai4j.chat.ChatMessage;
6+
import dev.ai4j.chat.ChatModel;
57
import lombok.Builder;
6-
import lombok.val;
78

8-
import static dev.ai4j.model.chat.MessageFromHuman.messageFromHuman;
9+
import java.util.List;
10+
11+
import static dev.ai4j.chat.UserMessage.userMessage;
912

1013
public class ChatFlow {
1114

@@ -19,13 +22,13 @@ private ChatFlow(ChatModel chatModel, ChatHistory chatHistory) {
1922
this.chatHistory = chatHistory;
2023
}
2124

22-
public String humanSaid(String humanMessage) {
23-
chatHistory.add(messageFromHuman(humanMessage));
24-
val history = chatHistory.getHistory();
25+
public String chat(String userMessage) {
26+
chatHistory.add(userMessage(userMessage));
27+
List<ChatMessage> history = chatHistory.history();
2528

26-
val messageFromAi = chatModel.chat(history);
29+
AiMessage aiMessage = chatModel.chat(history);
2730

28-
chatHistory.add(messageFromAi);
29-
return messageFromAi.getContents();
31+
chatHistory.add(aiMessage);
32+
return aiMessage.contents();
3033
}
3134
}

0 commit comments

Comments
 (0)