Skip to content

Commit 3faa6d3

Browse files
committed
fix: rewrite ChatExample using actual API (Pair, InferenceParameters, generate)
ChatMessage and ChatRequest don't exist in the codebase. Replace with the real API: InferenceParameters.setMessages(String, List<Pair>) for building the message history and model.generate() for streaming output, matching the pattern used in MainExample. https://claude.ai/code/session_016atM3vkBsmaia7QGXKex8w
1 parent 744b784 commit 3faa6d3

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

src/test/java/examples/ChatExample.java

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package examples;
22

3-
import de.kherud.llama.ChatMessage;
4-
import de.kherud.llama.ChatRequest;
3+
import de.kherud.llama.InferenceParameters;
54
import de.kherud.llama.LlamaModel;
5+
import de.kherud.llama.LlamaOutput;
66
import de.kherud.llama.ModelParameters;
7+
import de.kherud.llama.Pair;
78

89
import java.io.BufferedReader;
910
import java.io.InputStreamReader;
@@ -23,16 +24,23 @@ public static void main(String... args) throws Exception {
2324
.setGpuLayers(43);
2425
try (LlamaModel model = new LlamaModel(modelParams)) {
2526
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
26-
List<ChatMessage> messages = new ArrayList<>();
27-
messages.add(new ChatMessage(ChatMessage.Role.SYSTEM, "You are a helpful assistant."));
27+
List<Pair<String, String>> messages = new ArrayList<>();
28+
String system = "You are a helpful assistant.";
2829
while (true) {
2930
System.out.print("User: ");
3031
String input = reader.readLine();
31-
messages.add(new ChatMessage(ChatMessage.Role.USER, input));
32-
ChatRequest request = new ChatRequest(messages, false);
33-
ChatMessage response = (ChatMessage) model.chat(request);
34-
System.out.println("Assistant: " + response.getContent());
35-
messages.add(response);
32+
messages.add(new Pair<>("user", input));
33+
StringBuilder response = new StringBuilder();
34+
InferenceParameters inferParams = new InferenceParameters("")
35+
.setMessages(system, messages)
36+
.setUseChatTemplate(true);
37+
System.out.print("Assistant: ");
38+
for (LlamaOutput output : model.generate(inferParams)) {
39+
System.out.print(output);
40+
response.append(output);
41+
}
42+
System.out.println();
43+
messages.add(new Pair<>("assistant", response.toString()));
3644
}
3745
}
3846
}

0 commit comments

Comments
 (0)