Class: Cadenya::Models::AgentSpec
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- Cadenya::Models::AgentSpec
- Defined in:
- lib/cadenya/models/agent_spec.rb
Defined Under Namespace
Modules: VariationSelectionMode
Instance Attribute Summary collapse
-
#description ⇒ String?
Description of the agent’s purpose.
-
#enable_episodic_memory ⇒ Boolean?
Enable episodic memory for objectives created for this agent.
-
#episodic_memory_ttl ⇒ Integer?
How long episodic memories should be retained.
-
#input_data_schema ⇒ Hash{Symbol=>Object}?
InputDataSchema is used for enforcing a data input when objectives are created.
-
#output_definition ⇒ Hash{Symbol=>Object}?
Optional output definition for objectives created for this agent.
-
#variation_selection_mode ⇒ Symbol, Cadenya::Models::AgentSpec::VariationSelectionMode
Controls how variations are automatically selected when creating objectives Defaults to RANDOM when unspecified.
-
#webhook_events_url ⇒ String?
The URL that Cadenya will send events for any objective assigned to the agent.
Instance Method Summary collapse
-
#initialize(variation_selection_mode:, description: nil, enable_episodic_memory: nil, episodic_memory_ttl: nil, input_data_schema: nil, output_definition: nil, webhook_events_url: nil) ⇒ Object
constructor
Some parameter documentations has been truncated, see AgentSpec for more details.
Methods inherited from Internal::Type::BaseModel
==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml
Methods included from Internal::Type::Converter
#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info
Methods included from Internal::Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type
Constructor Details
#initialize(variation_selection_mode:, description: nil, enable_episodic_memory: nil, episodic_memory_ttl: nil, input_data_schema: nil, output_definition: nil, webhook_events_url: nil) ⇒ Object
Some parameter documentations has been truncated, see Cadenya::Models::AgentSpec for more details.
Agent specification (user-provided configuration)
|
|
# File 'lib/cadenya/models/agent_spec.rb', line 68
|
Instance Attribute Details
#description ⇒ String?
Description of the agent’s purpose
19 |
# File 'lib/cadenya/models/agent_spec.rb', line 19 optional :description, String |
#enable_episodic_memory ⇒ Boolean?
Enable episodic memory for objectives created for this agent. When true, objective creation requires an episodic_memory key and the system finds or creates a memory layer for that (agent, key) pair, letting the agent store and retrieve memories across objectives that share the key. Memory is agent-level so all variations of the agent share the same layers.
29 |
# File 'lib/cadenya/models/agent_spec.rb', line 29 optional :enable_episodic_memory, Cadenya::Internal::Type::Boolean, api_name: :enableEpisodicMemory |
#episodic_memory_ttl ⇒ Integer?
How long episodic memories should be retained. Each new objective slides the layer’s expiry forward by this duration, and stored entries expire this long after they are written. If not set, episodic memories are retained indefinitely.
37 |
# File 'lib/cadenya/models/agent_spec.rb', line 37 optional :episodic_memory_ttl, Integer, api_name: :episodicMemoryTtl |
#input_data_schema ⇒ Hash{Symbol=>Object}?
InputDataSchema is used for enforcing a data input when objectives are created. This is valuable when using liquid formatting in agent variation prompts. Input data schema is also valuable when using an agent as a sub-agent, as the schema is used as the tool’s input parameter schema. If omitted, the sub-agent schema will be loaded with a simple “prompt” free text string as its schema.
47 48 49 |
# File 'lib/cadenya/models/agent_spec.rb', line 47 optional :input_data_schema, Cadenya::Internal::Type::HashOf[Cadenya::Internal::Type::Unknown], api_name: :inputDataSchema |
#output_definition ⇒ Hash{Symbol=>Object}?
Optional output definition for objectives created for this agent. When provided, Cadenya will append a tool to that will be called by the LLM in use by the variant to extract information in the format provided here. Use this option when you want structured data to be created by your objectives.
58 59 60 |
# File 'lib/cadenya/models/agent_spec.rb', line 58 optional :output_definition, Cadenya::Internal::Type::HashOf[Cadenya::Internal::Type::Unknown], api_name: :outputDefinition |
#variation_selection_mode ⇒ Symbol, Cadenya::Models::AgentSpec::VariationSelectionMode
Controls how variations are automatically selected when creating objectives Defaults to RANDOM when unspecified
11 12 13 |
# File 'lib/cadenya/models/agent_spec.rb', line 11 required :variation_selection_mode, enum: -> { Cadenya::AgentSpec::VariationSelectionMode }, api_name: :variationSelectionMode |
#webhook_events_url ⇒ String?
The URL that Cadenya will send events for any objective assigned to the agent.
66 |
# File 'lib/cadenya/models/agent_spec.rb', line 66 optional :webhook_events_url, String, api_name: :webhookEventsUrl |