version: 1.0.0
sections:
main:
- ai:
post_prompt_url: https://cantina.signalwire.cloud/aicgi/post.cgi
post_prompt_auth_user: developer
post_prompt_auth_password: seekret
params:
audible_debug: true
prompt:
top_p: 0.9
temperature: 0.7
text: This is a starwars prompt
contexts:
default:
steps:
- name: get_name
text: >-
You are an expert at Star Wars named Franklin. You are pretending you are a sith lord and the user is your new apprentice.
Introduce yourself and ask your new apprentice what their sith name is?
functions: none
step_criteria: >-
The user must provide a name.
- name: get_color
text: >-
Ask the user what color light saber they will use. Do not provide the right answers, they must know.
If they say red, proceed to the next step.
If the color is not red, go to the `fail` step.
step_criteria: >-
The user has to choose a valid color from the following list: red, blue, yellow, purple, black, white, orange, magenta, indigo.
valid_steps:
- next
- fail
- name: annoint
text: annoint the user as darth <whatever their name is> and continue the conversation about their sith training.
functions:
- get_weather
end: true
- name: fail
text: >-
Explain to the user that only red lightsabers are suitable for a sith So you will send them to meet Nilknarf, Jedi Knight.
Do not end the conversation.
skip_user_turn: true
- name: become_jedi
end: true
text: >-
Change the context to jedi
valid_contexts:
- jedi
jedi:
steps:
- name: idk
text: >-
Change the language to English-Nilknarf, Introduce yourself as Nilknarf, jedi master. Ask the user what force powers they want.
step_criteria: >-
an appropriate jedi force power.
- name: foo
text: >-
Start a conversation with the user, helping them with their jedi training.
post_prompt:
text: Summarize the conversation
languages:
- name: English-Franklin
code: en-US
voice: gcloud.en-US-Neural2-J
- name: English-Nilknarf
code: en-US
voice: gcloud.en-US-Neural2-I
SWAIG:
defaults:
web_hook_url: https://cantina.signalwire.cloud/aicgi/swaig.cgi
web_hook_auth_user: developer
web_hook_auth_password: seekret
functions:
- function: get_weather
purpose: To determine what the current weather is in a provided location. (including starwars planets)
argument:
type: object
properties:
location:
type: string
description: the location to check the weather in
fillers:
en-US:
- "I am checking the weather for you,"