Class: Vapi::SummaryPlan
- Inherits:
-
Object
- Object
- Vapi::SummaryPlan
- Defined in:
- lib/vapi_server_sdk/types/summary_plan.rb
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#enabled ⇒ Boolean
readonly
This determines whether a summary is generated and stored in
call.analysis.summary. -
#messages ⇒ Array<Hash{String => Object}>
readonly
These are the messages used to generate the summary.
-
#timeout_seconds ⇒ Float
readonly
This is how long the request is tried before giving up.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Vapi::SummaryPlan
Deserialize a JSON object to an instance of SummaryPlan.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
Instance Method Summary collapse
- #initialize(messages: OMIT, enabled: OMIT, timeout_seconds: OMIT, additional_properties: nil) ⇒ Vapi::SummaryPlan constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of SummaryPlan to a JSON object.
Constructor Details
#initialize(messages: OMIT, enabled: OMIT, timeout_seconds: OMIT, additional_properties: nil) ⇒ Vapi::SummaryPlan
81 82 83 84 85 86 87 88 89 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 81 def initialize(messages: OMIT, enabled: OMIT, timeout_seconds: OMIT, additional_properties: nil) = if != OMIT @enabled = enabled if enabled != OMIT @timeout_seconds = timeout_seconds if timeout_seconds != OMIT @additional_properties = additional_properties @_field_set = { "messages": , "enabled": enabled, "timeoutSeconds": timeout_seconds }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
42 43 44 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 42 def additional_properties @additional_properties end |
#enabled ⇒ Boolean (readonly)
Returns This determines whether a summary is generated and stored in
call.analysis.summary. Defaults to true.
Usage:
- If you want to disable the summary, set this to false. @default true.
33 34 35 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 33 def enabled @enabled end |
#messages ⇒ Array<Hash{String => Object}> (readonly)
Returns These are the messages used to generate the summary.
@default: [ { "role": "system", "content": "You are an expert note-taker. You will be given a transcript of a call. Summarize the call in 2-3 sentences. DO NOT return anything except the summary." }, { "role": "user", "content": "Here is the transcript:\n\n{{transcript}}\n\n" } ]
You can customize by providing any messages you want.
Here are the template variables available:
- {transcript}: The transcript of the call from
call.artifact.transcript- {systemPrompt}: The system prompt of the call fromassistant.model.messages[type=system].content.
27 28 29 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 27 def end |
#timeout_seconds ⇒ Float (readonly)
Returns This is how long the request is tried before giving up. When request times out,
call.analysis.summary will be empty.
Usage:
- To guarantee the summary is generated, set this value high. Note, this will delay the end of call report in cases where model is slow to respond. @default 5 seconds.
40 41 42 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 40 def timeout_seconds @timeout_seconds end |
Class Method Details
.from_json(json_object:) ⇒ Vapi::SummaryPlan
Deserialize a JSON object to an instance of SummaryPlan
95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 95 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) = parsed_json["messages"] enabled = parsed_json["enabled"] timeout_seconds = parsed_json["timeoutSeconds"] new( messages: , enabled: enabled, timeout_seconds: timeout_seconds, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
122 123 124 125 126 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 122 def self.validate_raw(obj:) obj.&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.") obj.enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.enabled is not the expected type, validation failed.") obj.timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.timeout_seconds is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of SummaryPlan to a JSON object
112 113 114 |
# File 'lib/vapi_server_sdk/types/summary_plan.rb', line 112 def to_json(*_args) @_field_set&.to_json end |