Implemented agent streaming
This commit is contained in:
30
README.md
30
README.md
@@ -123,7 +123,7 @@ Example profile: src/test/resources/llama3.3-70b-azure.properties
|
||||
|
||||
Client service: clientService.getClient(ModelCategory.MEDIUM);
|
||||
Client usage details: CompletionClientTest and AzureAiClientTest
|
||||
Agentic flow: AgentTest#agenticFlow
|
||||
Agentic flow: AgentTest#agenticFlow and AgentTest#streamedAgenticFlow
|
||||
|
||||
## Completions and Streaming
|
||||
|
||||
@@ -143,10 +143,6 @@ You can intercept every Conversation and Completion by implementing CompletionIn
|
||||
This is for example useful for accounting purposes or to implement a circuit breaker.
|
||||
The client will autowire all implementations and intercept requests accordingly.
|
||||
|
||||
# Agentic Flows
|
||||
|
||||
This library contains a graph executor for implementing comprehensive processes using agent-based design patterns. See class AgentTest for examples.
|
||||
|
||||
# Grader
|
||||
|
||||
The library includes a grader component that evaluates the correctness of agent responses.
|
||||
@@ -155,6 +151,30 @@ Example:
|
||||
|
||||
assertTrue(Grader.assessScoreBinary("Does the following blog post mention the feature " + feature, resultContext.getStringValue("blogPost"), this.clientService));
|
||||
|
||||
# Agentic Flows
|
||||
|
||||
This library contains a graph executor for implementing comprehensive processes using agent-based design patterns.
|
||||
|
||||
You can implement your Agents either by creating an Agent record or by extending BaseAgent - choose the approach that best fits your needs.
|
||||
The agentic flow is started with an AgentContext and an initial agent.
|
||||
Example:
|
||||
|
||||
final var context = new AgentContext(List.of(new Agent1(), new Agent2()));
|
||||
context.getContext().setStringValue("key", "Payload here");
|
||||
context.getContext().setStringValues("key2", List.of("All context keys", "support collections", "for aggregation purposes"));
|
||||
context.getContext().setValue("key3", new RandomDatatype());
|
||||
final var resultContexts = agentExecutorService.walk("Agent1", context)
|
||||
final var resultContext = resultContexts.getFirst(); // You may receive multiple contexts if your graph branches out
|
||||
LOGGER.info(resultContext.getStringValue("blogPost") + "\n\n" + resultContext.getGraph().toString() + "\n" + resultContext.getRequestStatistic().toString());
|
||||
|
||||
Streaming is also supported.
|
||||
|
||||
See class AgentTest for examples.
|
||||
|
||||
# Agent implementations
|
||||
|
||||
|
||||
|
||||
# Announcement generated by AgentTest#agenticFlow
|
||||
|
||||
## Introducing Advanced Agent Orchestration: Dynamic Conversations & Parallel Processing
|
||||
|
||||
Reference in New Issue
Block a user