import os
from syllable_sdk import SyllableSDK
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.prompts.update(request={
"name": "Weather Agent Prompt",
"description": "Prompt for a weather agent.",
"type": "prompt_v1",
"context": "You are a weather agent. Answer the user's questions about weather and nothing else.",
"tools": [],
"llm_config": {
"version": "2024-05-13",
"api_version": "2024-06-01",
"temperature": 1,
"seed": 123,
},
"session_end_tool_id": 1,
"edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.",
"id": 1,
})
# Handle response
print(res){
"name": "<string>",
"type": "<string>",
"llm_config": {
"provider": "azure_openai",
"model": "gpt-4o",
"version": "2024-05-13",
"api_version": "2024-06-01",
"temperature": 1,
"seed": 123
},
"id": 123,
"last_updated": "2024-01-01T12:00:00Z",
"description": "Prompt for a weather agent.",
"context": "You are a weather agent. Answer the user's questions about weather and nothing else.",
"tools": [],
"session_end_enabled": false,
"session_end_tool_id": 1,
"edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.",
"last_updated_by": "[email protected]",
"session_end_tool": {
"name": "<string>",
"definition": {
"tool": {
"function": {
"name": "<string>",
"description": "<string>",
"parameters": "<unknown>"
},
"type": "function"
},
"type": "endpoint",
"endpoint": {
"url": "<string>",
"method": "get",
"argument_location": "body"
},
"context": {
"task": {
"id": "<string>",
"config": {},
"variables": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
]
}
],
"metadata": {
"priority": 123,
"parent_tool_name": "<string>"
},
"tool": {
"name": "<string>",
"description": "<string>"
},
"type": "expression",
"version": "v1alpha",
"inputs": [
{
"name": "<string>",
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
],
"required": true
}
],
"expression": {
"expression": "<string>",
"type": "cel"
},
"output": "<unknown>",
"on": {
"start": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
],
"submit": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
]
}
}
},
"defaults": "<unknown>",
"static_parameters": [
{
"default": "fahrenheit",
"description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
"name": "temperature_unit",
"required": false,
"type": "string"
}
],
"result": "<unknown>",
"options": {
"propagate_tool_result": false
}
},
"service_id": 123,
"id": 123,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "<string>",
"last_updated_comments": "Updated to use new API endpoint",
"service_name": "<string>",
"prompts_info": [
{
"id": 123,
"name": "<string>"
}
],
"agents_info": [
{
"id": 123,
"name": "<string>"
}
]
},
"agent_count": 5,
"version_number": 1,
"tools_full": [
{
"name": "<string>",
"definition": {
"tool": {
"function": {
"name": "<string>",
"description": "<string>",
"parameters": "<unknown>"
},
"type": "function"
},
"type": "endpoint",
"endpoint": {
"url": "<string>",
"method": "get",
"argument_location": "body"
},
"context": {
"task": {
"id": "<string>",
"config": {},
"variables": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
]
}
],
"metadata": {
"priority": 123,
"parent_tool_name": "<string>"
},
"tool": {
"name": "<string>",
"description": "<string>"
},
"type": "expression",
"version": "v1alpha",
"inputs": [
{
"name": "<string>",
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
],
"required": true
}
],
"expression": {
"expression": "<string>",
"type": "cel"
},
"output": "<unknown>",
"on": {
"start": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
],
"submit": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
]
}
}
},
"defaults": "<unknown>",
"static_parameters": [
{
"default": "fahrenheit",
"description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
"name": "temperature_unit",
"required": false,
"type": "string"
}
],
"result": "<unknown>",
"options": {
"propagate_tool_result": false
}
},
"service_id": 123,
"id": 123,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "<string>",
"last_updated_comments": "Updated to use new API endpoint",
"service_name": "<string>",
"prompts_info": [
{
"id": 123,
"name": "<string>"
}
],
"agents_info": [
{
"id": 123,
"name": "<string>"
}
]
}
]
}Update an existing prompt
import os
from syllable_sdk import SyllableSDK
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.prompts.update(request={
"name": "Weather Agent Prompt",
"description": "Prompt for a weather agent.",
"type": "prompt_v1",
"context": "You are a weather agent. Answer the user's questions about weather and nothing else.",
"tools": [],
"llm_config": {
"version": "2024-05-13",
"api_version": "2024-06-01",
"temperature": 1,
"seed": 123,
},
"session_end_tool_id": 1,
"edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.",
"id": 1,
})
# Handle response
print(res){
"name": "<string>",
"type": "<string>",
"llm_config": {
"provider": "azure_openai",
"model": "gpt-4o",
"version": "2024-05-13",
"api_version": "2024-06-01",
"temperature": 1,
"seed": 123
},
"id": 123,
"last_updated": "2024-01-01T12:00:00Z",
"description": "Prompt for a weather agent.",
"context": "You are a weather agent. Answer the user's questions about weather and nothing else.",
"tools": [],
"session_end_enabled": false,
"session_end_tool_id": 1,
"edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.",
"last_updated_by": "[email protected]",
"session_end_tool": {
"name": "<string>",
"definition": {
"tool": {
"function": {
"name": "<string>",
"description": "<string>",
"parameters": "<unknown>"
},
"type": "function"
},
"type": "endpoint",
"endpoint": {
"url": "<string>",
"method": "get",
"argument_location": "body"
},
"context": {
"task": {
"id": "<string>",
"config": {},
"variables": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
]
}
],
"metadata": {
"priority": 123,
"parent_tool_name": "<string>"
},
"tool": {
"name": "<string>",
"description": "<string>"
},
"type": "expression",
"version": "v1alpha",
"inputs": [
{
"name": "<string>",
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
],
"required": true
}
],
"expression": {
"expression": "<string>",
"type": "cel"
},
"output": "<unknown>",
"on": {
"start": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
],
"submit": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
]
}
}
},
"defaults": "<unknown>",
"static_parameters": [
{
"default": "fahrenheit",
"description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
"name": "temperature_unit",
"required": false,
"type": "string"
}
],
"result": "<unknown>",
"options": {
"propagate_tool_result": false
}
},
"service_id": 123,
"id": 123,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "<string>",
"last_updated_comments": "Updated to use new API endpoint",
"service_name": "<string>",
"prompts_info": [
{
"id": 123,
"name": "<string>"
}
],
"agents_info": [
{
"id": 123,
"name": "<string>"
}
]
},
"agent_count": 5,
"version_number": 1,
"tools_full": [
{
"name": "<string>",
"definition": {
"tool": {
"function": {
"name": "<string>",
"description": "<string>",
"parameters": "<unknown>"
},
"type": "function"
},
"type": "endpoint",
"endpoint": {
"url": "<string>",
"method": "get",
"argument_location": "body"
},
"context": {
"task": {
"id": "<string>",
"config": {},
"variables": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
]
}
],
"metadata": {
"priority": 123,
"parent_tool_name": "<string>"
},
"tool": {
"name": "<string>",
"description": "<string>"
},
"type": "expression",
"version": "v1alpha",
"inputs": [
{
"name": "<string>",
"type": "string",
"description": "<string>",
"title": "<string>",
"format": "<string>",
"pattern": "<string>",
"enum": [
"<string>"
],
"examples": [
"<unknown>"
],
"required": true
}
],
"expression": {
"expression": "<string>",
"type": "cel"
},
"output": "<unknown>",
"on": {
"start": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
],
"submit": [
{
"name": "<string>",
"value": "<unknown>",
"value_from": {
"expression": "<string>",
"type": "cel"
},
"if": {
"expression": "<string>",
"type": "cel"
},
"action": "set"
}
]
}
}
},
"defaults": "<unknown>",
"static_parameters": [
{
"default": "fahrenheit",
"description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
"name": "temperature_unit",
"required": false,
"type": "string"
}
],
"result": "<unknown>",
"options": {
"propagate_tool_result": false
}
},
"service_id": 123,
"id": 123,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "<string>",
"last_updated_comments": "Updated to use new API endpoint",
"service_name": "<string>",
"prompts_info": [
{
"id": 123,
"name": "<string>"
}
],
"agents_info": [
{
"id": 123,
"name": "<string>"
}
]
}
]
}Request model to update an existing prompt.
The prompt name
"Weather Agent Prompt"
The type of the prompt
"prompt_v1"
The configuration for the LLM that the prompt uses
Show child attributes
{
"model": "gpt-4o",
"provider": "openai",
"version": "2024-08-06"
}The internal ID of the prompt
1
The description of the prompt
"Prompt for a weather agent."
The prompt text that will be sent to the LLM at the beginning of the conversation
"You are a weather agent. Answer the user's questions about weather and nothing else."
Names of tools to which the prompt has access
[]Whether session end functionality is enabled for this prompt
false
ID of the optional session end tool associated with the prompt
1
The comments for the most recent edit to the prompt
"Updated prompt text to include requirement to not answer questions that aren't about weather."
Whether to include the default tools (hangup) in the list of tools for the prompt. If you remove one of the default tools from your prompt, you might want to disable this option so that the tool is not added again when updated.
true
Successful Response
Response model for prompt operations. A prompt defines the behavior of an agent by delivering instructions to the LLM about how the agent should behave. A prompt can be linked to one or more agents. A prompt can also be linked to tools to allow an agent using it to use those tools. For more information, see Console docs.
The prompt name
"Weather Agent Prompt"
The type of the prompt
"prompt_v1"
The configuration for the LLM that the prompt uses
Show child attributes
{
"model": "gpt-4o",
"provider": "openai",
"version": "2024-08-06"
}The internal ID of the prompt
1
The last updated date of the prompt
"2024-01-01T12:00:00Z"
The description of the prompt
"Prompt for a weather agent."
The prompt text that will be sent to the LLM at the beginning of the conversation
"You are a weather agent. Answer the user's questions about weather and nothing else."
Names of the tools to which the prompt has access (DEPRECATED - use information from full tools field instead)
"hangup"
"summary"
Whether session end functionality is enabled for this prompt
false
ID of the optional session end tool associated with the prompt
1
The comments for the most recent edit to the prompt
"Updated prompt text to include requirement to not answer questions that aren't about weather."
Email address of the user who most recently updated the prompt
The session end tool associated with the prompt
Show child attributes
The number of agents using the prompt
5
The version number of the current version of the prompt
1
Full definitions of tools to which the prompt has access
Show child attributes