From 050c628f45e369a7290cb0561370474ab3b5729c Mon Sep 17 00:00:00 2001 From: bsorrentino Date: Sun, 21 Jul 2024 19:51:11 +0200 Subject: [PATCH] feat(server-jetty): add adaptiveRAG test --- server-jetty/pom.xml | 16 +++++++ .../AdaptiveRAGStreamingServer.java | 42 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 server-jetty/src/test/java/org/bsc/langgraph4j/AdaptiveRAGStreamingServer.java diff --git a/server-jetty/pom.xml b/server-jetty/pom.xml index 92c7536..305832a 100644 --- a/server-jetty/pom.xml +++ b/server-jetty/pom.xml @@ -84,6 +84,13 @@ test + + org.bsc.langgraph4j + langgraph4j-adaptive-rag + ${project.version} + test + + @@ -124,6 +131,15 @@ org.bsc.langgraph4j.AgentExecutorStreamingServer + + + adaptiverag + java + + test + org.bsc.langgraph4j.AdaptiveRAGStreamingServer + + diff --git a/server-jetty/src/test/java/org/bsc/langgraph4j/AdaptiveRAGStreamingServer.java b/server-jetty/src/test/java/org/bsc/langgraph4j/AdaptiveRAGStreamingServer.java new file mode 100644 index 0000000..1a0ca63 --- /dev/null +++ b/server-jetty/src/test/java/org/bsc/langgraph4j/AdaptiveRAGStreamingServer.java @@ -0,0 +1,42 @@ +package org.bsc.langgraph4j; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import dev.langchain4j.adaptiverag.AdaptiveRag; +import dev.langchain4j.agentexecutor.AgentExecutor; +import dev.langchain4j.model.openai.OpenAiChatModel; + +import java.util.List; + +public class AdaptiveRAGStreamingServer { + + public static void main(String[] args) throws Exception { + + DotEnvConfig.load(); + + var openApiKey = DotEnvConfig.valueOf("OPENAI_API_KEY") + .orElseThrow( () -> new IllegalArgumentException("no OPENAI API KEY provided!")); + var tavilyApiKey = DotEnvConfig.valueOf("TAVILY_API_KEY") + .orElseThrow( () -> new IllegalArgumentException("no TAVILY API KEY provided!")); + + var adaptiveRagTest = new AdaptiveRag( openApiKey, tavilyApiKey); + + var app = adaptiveRagTest.buildGraph(); + + // [Serializing with Jackson (JSON) - getting "No serializer found"?](https://stackoverflow.com/a/8395924/521197) + // ObjectMapper objectMapper = new ObjectMapper(); + // objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); + + var server = LangGraphStreamingServer.builder() + .port(8080) + //.objectMapper(objectMapper) + .title("ADAPTIVE RAG EXECUTOR") + .addInputStringArg("question") + .build(app); + + server.start().join(); + + } + +}