Voice agent that inherits from AutonomousAgent and adds voice capabilities.
More...
#include <voice_agent.h>
|
| | VoiceAgent (std::shared_ptr< Context > context, const VoiceConfig &config) |
| | Constructor.
|
|
| ~VoiceAgent () override |
| | Destructor.
|
| void | init () override |
| | Initialize the agent.
|
|
void | listen () |
| | Listen for voice input.
|
|
void | stopListening () |
| | Stop listening for voice input.
|
| Task< JsonObject > | run (const std::string &task) override |
| | Run the agent with a task using coroutines.
|
| void | runAsync (const std::string &task, std::function< void(const JsonObject &)> callback) override |
| | Run the agent with a callback.
|
| void | stop () override |
| | Stop the agent.
|
| void | provideFeedback (const std::string &feedback) override |
| | Provide human feedback.
|
| void | setAgentPrompt (const std::string &agent_prompt) |
| | Set the agent prompt.
|
| void | setPlanningStrategy (PlanningStrategy strategy) |
| | Set the planning strategy.
|
| std::vector< Step > | getSteps () const |
| | Get the steps executed so far.
|
| void | setStepCallback (std::function< void(const Step &)> callback) |
| | Set a callback for when a step is completed.
|
| Task< std::string > | waitForFeedback (const std::string &message, const JsonObject &context) override |
| | Wait for feedback using coroutines.
|
| std::shared_ptr< Context > | getContext () const |
| | Get the agent's context.
|
| State | getState () const |
| | Get the agent's current state.
|
| void | setOptions (const Options &options) |
| | Set execution options.
|
| const Options & | getOptions () const |
| | Get execution options.
|
| void | setStatusCallback (std::function< void(const std::string &)> callback) |
| | Set a callback for status updates.
|
|
|
std::string | agent_prompt_ |
| | The agent prompt.
|
|
PlanningStrategy | planning_strategy_ = PlanningStrategy::REACT |
| | Planning strategy for the agent.
|
|
std::vector< Step > | steps_ |
| | The steps executed so far.
|
|
std::function< void(const Step &)> | step_callback_ |
| | Callback for when a step is completed.
|
|
std::function< void(const JsonObject &)> | task_callback_ |
| | Callback for task's incremental updates.
|
|
std::atomic< bool > | should_stop_ {false} |
| | Execution state flag to indicate if the agent should stop.
|
|
std::promise< std::string > | feedback_promise_ |
| | Promise for coroutine-based feedback.
|
Voice agent that inherits from AutonomousAgent and adds voice capabilities.
◆ PlanningStrategy
Planning strategy for the agent.
| Enumerator |
|---|
| ZERO_SHOT | Generate actions without explicit planning.
|
| TREE_OF_THOUGHT | Generate multiple reasoning paths.
|
| PLAN_AND_EXECUTE | Generate a plan then execute it.
|
| REFLEXION | Reflect on past steps for improvement.
|
| REACT | Reasoning and acting.
|
- Examples
- autonomous_agent_example.cpp.
◆ State
Agent execution state.
| Enumerator |
|---|
| READY | Ready to start execution.
|
| RUNNING | Currently executing.
|
| WAITING | Waiting for human input.
|
| COMPLETED | Execution completed successfully.
|
| FAILED | Execution failed.
|
| STOPPED | Execution stopped by user.
|
◆ VoiceAgent()
| agents::VoiceAgent::VoiceAgent |
( |
std::shared_ptr< Context > | context, |
|
|
const VoiceConfig & | config ) |
Constructor.
- Parameters
-
| context | The agent context |
| config | The voice configuration |
◆ executeStep()
| Task< Step > agents::AutonomousAgent::executeStep |
( |
std::string & | step_description, |
|
|
JsonObject & | context ) |
|
protectedinherited |
Execute a step using coroutines.
- Parameters
-
| step_description | The description of the step |
| context | The context |
- Returns
- The result of the step
◆ executeTask()
| Task< JsonObject > agents::AutonomousAgent::executeTask |
( |
const std::string & | task | ) |
|
|
protectedinherited |
Execute the agent's task using coroutines.
- Parameters
-
- Returns
- The result of the task
◆ getContext()
| std::shared_ptr< Context > agents::Agent::getContext |
( |
| ) |
const |
|
inherited |
Get the agent's context.
- Returns
- The agent context
◆ getOptions()
| const Options & agents::Agent::getOptions |
( |
| ) |
const |
|
inherited |
Get execution options.
- Returns
- The execution options
◆ getState()
| State agents::Agent::getState |
( |
| ) |
const |
|
inherited |
Get the agent's current state.
- Returns
- The agent state
◆ getSteps()
| std::vector< Step > agents::AutonomousAgent::getSteps |
( |
| ) |
const |
|
inherited |
Get the steps executed so far.
- Returns
- The steps executed so far
◆ getToolDescriptions()
| std::string agents::AutonomousAgent::getToolDescriptions |
( |
| ) |
const |
|
protectedinherited |
Get tool descriptions for prompts.
- Returns
- The tool descriptions
◆ init()
| void agents::VoiceAgent::init |
( |
| ) |
|
|
overridevirtual |
◆ planAndExecute()
| Task< JsonObject > agents::AutonomousAgent::planAndExecute |
( |
const std::string & | task | ) |
|
|
protectedinherited |
Plan and execute.
- Parameters
-
- Returns
- The plan
◆ planReact()
| Task< JsonObject > agents::AutonomousAgent::planReact |
( |
const std::string & | task | ) |
|
|
protectedinherited |
Plan using React.
- Parameters
-
- Returns
- The plan
◆ planReflexion()
| Task< JsonObject > agents::AutonomousAgent::planReflexion |
( |
const std::string & | task | ) |
|
|
protectedinherited |
Plan using Reflexion.
- Parameters
-
- Returns
- The plan
◆ planTreeOfThought()
| Task< JsonObject > agents::AutonomousAgent::planTreeOfThought |
( |
const std::string & | task | ) |
|
|
protectedinherited |
Plan using Tree of Thought.
- Parameters
-
- Returns
- The plan
◆ planZeroShot()
| Task< JsonObject > agents::AutonomousAgent::planZeroShot |
( |
const std::string & | task | ) |
|
|
protectedinherited |
Plan using Zero Shot.
- Parameters
-
- Returns
- The plan
◆ provideFeedback()
| void agents::AutonomousAgent::provideFeedback |
( |
const std::string & | feedback | ) |
|
|
overridevirtualinherited |
Provide human feedback.
- Parameters
-
Reimplemented from agents::Agent.
◆ recordStep()
| void agents::AutonomousAgent::recordStep |
( |
const Step & | step | ) |
|
|
protectedinherited |
Record a completed step.
- Parameters
-
◆ run()
| Task< JsonObject > agents::AutonomousAgent::run |
( |
const std::string & | task | ) |
|
|
overridevirtualinherited |
Run the agent with a task using coroutines.
- Parameters
-
- Returns
- The result of the task
Implements agents::Agent.
◆ runAsync()
| void agents::AutonomousAgent::runAsync |
( |
const std::string & | task, |
|
|
std::function< void(const JsonObject &)> | callback ) |
|
overridevirtualinherited |
Run the agent with a callback.
- Parameters
-
| task | The task to run |
| callback | The callback for incremental updates |
Reimplemented from agents::Agent.
◆ setAgentPrompt()
| void agents::AutonomousAgent::setAgentPrompt |
( |
const std::string & | agent_prompt | ) |
|
|
inherited |
Set the agent prompt.
- Parameters
-
| agent_prompt | The agent prompt |
◆ setOptions()
| void agents::Agent::setOptions |
( |
const Options & | options | ) |
|
|
inherited |
Set execution options.
- Parameters
-
| options | The execution options |
◆ setPlanningStrategy()
Set the planning strategy.
- Parameters
-
| strategy | The planning strategy |
◆ setStatusCallback()
| void agents::Agent::setStatusCallback |
( |
std::function< void(const std::string &)> | callback | ) |
|
|
inherited |
Set a callback for status updates.
- Parameters
-
| callback | The callback to set |
- Examples
- simple_agent.cpp.
◆ setStepCallback()
| void agents::AutonomousAgent::setStepCallback |
( |
std::function< void(const Step &)> | callback | ) |
|
|
inherited |
Set a callback for when a step is completed.
- Parameters
-
◆ stop()
| void agents::AutonomousAgent::stop |
( |
| ) |
|
|
overridevirtualinherited |
◆ waitForFeedback()
| Task< std::string > agents::AutonomousAgent::waitForFeedback |
( |
const std::string & | message, |
|
|
const JsonObject & | context ) |
|
overridevirtualinherited |
Wait for feedback using coroutines.
- Parameters
-
| message | The message to wait for feedback |
| context | The context |
- Returns
- The feedback
Reimplemented from agents::Agent.