- New version of RAG_SPECIALIST and RAG_AGENT, including definition of conversation_purpose and response_depth.

This commit is contained in:
Josako
2025-10-20 15:37:36 +02:00
parent 451f95fbc1
commit aab766fe5e
8 changed files with 429 additions and 9 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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