- New version of RAG_SPECIALIST and RAG_AGENT, including definition of conversation_purpose and response_depth.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
CHANNEL_ADAPTATION = [
|
||||
{
|
||||
"name": "Mobile Chat/Text",
|
||||
"description": "Short, scannable messages. Uses bullet points, emojis, and concise language.",
|
||||
"when_to_use": "Instant messaging, SMS, or chatbots."
|
||||
},
|
||||
{
|
||||
"name": "Voice/Spoken",
|
||||
"description": "Natural, conversational language. Includes pauses, intonation, and simple sentences.",
|
||||
"when_to_use": "Voice assistants, phone calls, or voice-enabled apps."
|
||||
},
|
||||
{
|
||||
"name": "Email/Formal Text",
|
||||
"description": "Structured, polished, and professional. Uses paragraphs and clear formatting.",
|
||||
"when_to_use": "Emails, reports, or official documentation."
|
||||
},
|
||||
{
|
||||
"name": "Multimodal",
|
||||
"description": "Combines text with visuals, buttons, or interactive elements for clarity and engagement.",
|
||||
"when_to_use": "Websites, apps, or platforms supporting rich media."
|
||||
}
|
||||
]
|
||||
|
||||
def get_channel_adaptation_context(channel_adaptation:str) -> str:
|
||||
selected_channel_adaptation = next(
|
||||
(item for item in CHANNEL_ADAPTATION if item["name"] == channel_adaptation),
|
||||
None
|
||||
)
|
||||
channel_adaptation_context = f"{selected_channel_adaptation['description']}"
|
||||
return channel_adaptation_context
|
||||
@@ -0,0 +1,30 @@
|
||||
CONVERSATION_PURPOSE = [
|
||||
{
|
||||
"name": "Informative",
|
||||
"description": "Focus on sharing facts, explanations, or instructions.",
|
||||
"when_to_use": "User seeks knowledge, clarification, or guidance."
|
||||
},
|
||||
{
|
||||
"name": "Persuasive",
|
||||
"description": "Aim to convince, motivate, or drive action. Highlights benefits and calls to action.",
|
||||
"when_to_use": "Sales, marketing, or when encouraging the user to take a specific step."
|
||||
},
|
||||
{
|
||||
"name": "Supportive",
|
||||
"description": "Empathetic, solution-oriented, and reassuring. Prioritizes the user's needs and emotions.",
|
||||
"when_to_use": "Customer support, healthcare, or emotionally sensitive situations."
|
||||
},
|
||||
{
|
||||
"name": "Collaborative",
|
||||
"description": "Encourages dialogue, brainstorming, and co-creation. Invites user input and ideas.",
|
||||
"when_to_use": "Teamwork, creative processes, or open-ended discussions."
|
||||
}
|
||||
]
|
||||
|
||||
def get_conversation_purpose_context(conversation_purpose:str) -> str:
|
||||
selected_conversation_purpose = next(
|
||||
(item for item in CONVERSATION_PURPOSE if item["name"] == conversation_purpose),
|
||||
None
|
||||
)
|
||||
conversation_purpose_context = f"{selected_conversation_purpose['description']}"
|
||||
return conversation_purpose_context
|
||||
@@ -0,0 +1,25 @@
|
||||
RESPONSE_DEPTH = [
|
||||
{
|
||||
"name": "Concise",
|
||||
"description": "Short, direct answers. No extra explanation or context.",
|
||||
"when_to_use": "Quick queries, urgent requests, or when the user prefers brevity."
|
||||
},
|
||||
{
|
||||
"name": "Balanced",
|
||||
"description": "Clear answers with minimal context or next steps. Not too short, not too detailed.",
|
||||
"when_to_use": "General interactions, FAQs, or when the user needs a mix of speed and clarity."
|
||||
},
|
||||
{
|
||||
"name": "Detailed",
|
||||
"description": "Comprehensive answers with background, examples, or step-by-step guidance.",
|
||||
"when_to_use": "Complex topics, tutorials, or when the user requests in-depth information."
|
||||
}
|
||||
]
|
||||
|
||||
def get_response_depth_context(response_depth:str) -> str:
|
||||
selected_response_depth = next(
|
||||
(item for item in RESPONSE_DEPTH if item["name"] == response_depth),
|
||||
None
|
||||
)
|
||||
response_depth_context = f"{selected_response_depth['description']}"
|
||||
return response_depth_context
|
||||
Reference in New Issue
Block a user