diff --git a/adaptive-rag/src/main/java/dev/langchain4j/adaptiverag/AdaptiveRag.java b/adaptive-rag/src/main/java/dev/langchain4j/adaptiverag/AdaptiveRag.java index f62a5b2..08e4677 100644 --- a/adaptive-rag/src/main/java/dev/langchain4j/adaptiverag/AdaptiveRag.java +++ b/adaptive-rag/src/main/java/dev/langchain4j/adaptiverag/AdaptiveRag.java @@ -8,10 +8,12 @@ import org.bsc.langgraph4j.StateGraph; import org.bsc.langgraph4j.state.AgentState; +import java.io.FileInputStream; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.logging.LogManager; import java.util.stream.Collectors; import static java.util.Collections.emptyList; @@ -57,6 +59,8 @@ public List documents() { private final ChromaStore chroma; public AdaptiveRag( String openApiKey, String tavilyApiKey ) { + Objects.requireNonNull(openApiKey, "no OPENAI APIKEY provided!"); + Objects.requireNonNull(tavilyApiKey, "no TAVILY APIKEY provided!"); this.openApiKey = openApiKey; this.tavilyApiKey = tavilyApiKey; this.chroma = ChromaStore.of(openApiKey); @@ -275,4 +279,29 @@ public CompiledGraph buildGraph() throws Exception { return workflow.compile(); } + + public static void main( String[] args ) throws Exception { + try(FileInputStream configFile = new FileInputStream("logging.properties")) { + LogManager.getLogManager().readConfiguration(configFile); + }; + + AdaptiveRag adaptiveRagTest = new AdaptiveRag( System.getenv("OPENAI_API_KEY"), System.getenv("TAVILY_API_KEY")); + + var graph = adaptiveRagTest.buildGraph(); + + var result = graph.stream( mapOf( "question", "What player at the Bears expected to draft first in the 2024 NFL draft?" ) ); + + String generation = ""; + for( var r : result ) { + System.out.printf( "Node: '%s':\n", r.node() ); + + generation = r.state().generation().orElse( "") + ; + } + + System.out.println( generation ); + + } + } + diff --git a/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/AdaptiveRagTest.java b/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/AdaptiveRagTest.java index 6ee538e..cceb921 100644 --- a/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/AdaptiveRagTest.java +++ b/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/AdaptiveRagTest.java @@ -136,23 +136,4 @@ public void generationTest() { System.out.println( result ); } - @Test - public void execute() throws Exception { - AdaptiveRag adaptiveRagTest = new AdaptiveRag(getOpenAiKey(), getTavilyApiKey()); - - var graph = adaptiveRagTest.buildGraph(); - - var result = graph.stream( mapOf( "question", "What player at the Bears expected to draft first in the 2024 NFL draft?" ) ); - - String generation = ""; - for( var r : result ) { - System.out.printf( "Node: '%s':\n", r.node() ); - - generation = r.state().generation().orElse( "") - ; - } - - System.out.println( generation ); - - } } diff --git a/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/ChromaTest.java b/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/ChromaTest.java index 8f7332f..c6cdef2 100644 --- a/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/ChromaTest.java +++ b/adaptive-rag/src/test/java/dev/langchain4j/adaptiverag/ChromaTest.java @@ -8,7 +8,6 @@ import dev.langchain4j.store.embedding.EmbeddingSearchRequest; import dev.langchain4j.store.embedding.EmbeddingSearchResult; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; import dev.langchain4j.store.embedding.chroma.ChromaEmbeddingStore; import java.io.FileInputStream;