Add File
This commit is contained in:
@@ -0,0 +1,107 @@
|
|||||||
|
package com.agentsflex.llm.ollama;
|
||||||
|
|
||||||
|
import com.agentsflex.core.document.Document;
|
||||||
|
import com.agentsflex.core.llm.Llm;
|
||||||
|
import com.agentsflex.core.llm.exception.LlmException;
|
||||||
|
import com.agentsflex.core.llm.response.AiMessageResponse;
|
||||||
|
import com.agentsflex.core.message.AiMessage;
|
||||||
|
import com.agentsflex.core.prompt.FunctionPrompt;
|
||||||
|
import com.agentsflex.core.prompt.ImagePrompt;
|
||||||
|
import com.agentsflex.core.prompt.ToolPrompt;
|
||||||
|
import com.agentsflex.core.store.VectorData;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class OllamaLlmTest {
|
||||||
|
|
||||||
|
@Test(expected = LlmException.class)
|
||||||
|
public void testChat() {
|
||||||
|
OllamaLlmConfig config = new OllamaLlmConfig();
|
||||||
|
config.setEndpoint("http://localhost:11434");
|
||||||
|
config.setModel("llama3");
|
||||||
|
config.setDebug(true);
|
||||||
|
|
||||||
|
Llm llm = new OllamaLlm(config);
|
||||||
|
String chat = llm.chat("who are your");
|
||||||
|
System.out.println(chat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testChatStream() throws InterruptedException {
|
||||||
|
OllamaLlmConfig config = new OllamaLlmConfig();
|
||||||
|
config.setEndpoint("http://localhost:11434");
|
||||||
|
config.setModel("llama3");
|
||||||
|
config.setDebug(true);
|
||||||
|
|
||||||
|
Llm llm = new OllamaLlm(config);
|
||||||
|
llm.chatStream("who are your", (context, response) -> System.out.println(response.getMessage().getContent()));
|
||||||
|
|
||||||
|
Thread.sleep(2000);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEmbedding() {
|
||||||
|
OllamaLlmConfig config = new OllamaLlmConfig();
|
||||||
|
config.setEndpoint("http://localhost:11434");
|
||||||
|
config.setModel("llama3.1");
|
||||||
|
config.setDebug(true);
|
||||||
|
|
||||||
|
Llm llm = new OllamaLlm(config);
|
||||||
|
VectorData vectorData = llm.embed(Document.of("hello world"));
|
||||||
|
System.out.println(vectorData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFunctionCall1() throws InterruptedException {
|
||||||
|
OllamaLlmConfig config = new OllamaLlmConfig();
|
||||||
|
config.setEndpoint("http://localhost:11434");
|
||||||
|
config.setModel("llama3.1");
|
||||||
|
config.setDebug(true);
|
||||||
|
|
||||||
|
Llm llm = new OllamaLlm(config);
|
||||||
|
|
||||||
|
FunctionPrompt prompt = new FunctionPrompt("What's the weather like in Beijing?", WeatherFunctions.class);
|
||||||
|
AiMessageResponse response = llm.chat(prompt);
|
||||||
|
|
||||||
|
System.out.println(response.callFunctions());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFunctionCall2() throws InterruptedException {
|
||||||
|
OllamaLlmConfig config = new OllamaLlmConfig();
|
||||||
|
config.setEndpoint("http://localhost:11434");
|
||||||
|
config.setModel("llama3.1");
|
||||||
|
config.setDebug(true);
|
||||||
|
|
||||||
|
Llm llm = new OllamaLlm(config);
|
||||||
|
|
||||||
|
FunctionPrompt prompt = new FunctionPrompt("What's the weather like in Beijing?", WeatherFunctions.class);
|
||||||
|
AiMessageResponse response = llm.chat(prompt);
|
||||||
|
|
||||||
|
if (response.isFunctionCall()){
|
||||||
|
AiMessageResponse response1 = llm.chat(ToolPrompt.of(response));
|
||||||
|
System.out.println(response1.getMessage().getContent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testVisionModel() {
|
||||||
|
OllamaLlmConfig config = new OllamaLlmConfig();
|
||||||
|
config.setEndpoint("http://localhost:11434");
|
||||||
|
config.setModel("llava");
|
||||||
|
config.setDebug(true);
|
||||||
|
|
||||||
|
Llm llm = new OllamaLlm(config);
|
||||||
|
|
||||||
|
ImagePrompt imagePrompt = new ImagePrompt("What's in the picture?", "https://agentsflex.com/assets/images/logo.png");
|
||||||
|
|
||||||
|
AiMessageResponse response = llm.chat(imagePrompt);
|
||||||
|
AiMessage message = response == null ? null : response.getMessage();
|
||||||
|
System.out.println(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user