Glossary
The Arc Framework DSL provides a rich set of functions that can be used to implement complex logic in a concise and readable manner.
If you are looking for a description of the Agent Fields DSL, please check out the Defining Agents.
Example of the time and memory functions:
agent {
name = "MyAgent"
prompt {
val name = memory<String>("user_name")
"""
The user's name is $name.
The time is ${time()}
"""
}
}
The following list some of the most common functions that can be used in the DSL.
Name | Description | Details |
---|---|---|
get | Returns a bean from the Agent Context. | More |
llm | Calls the llm. | More |
userProfile | Returns a value from the customer profile. | More |
system | Returns a system property. | More |
limit | Rate limiter | More |
getData | Returns a data set that was stored. | More |
addData | Sets a data set that was loaded. | More |
time | Returns the current time. | More |
debug, info, warn, and error | Logs messages to the logging system | More |
tracer | Returns the AgentTracer. | More |
memory | Stores and retrieves values from memory. | More |
emitMessage | Returns a message to the client. Multiple messages can be returned to the client in a single turn. | |
breakWith | The breakWith function can be used to stop the agent from further processing the message and a return a dedicated response. | More |