- Implementation of specialist execution api, including SSE protocol
- eveai_chat becomes deprecated and should be replaced with SSE - Adaptation of STANDARD_RAG specialist - Base class definition allowing to realise specialists with crewai framework - Implementation of SPIN_SPECIALIST - Implementation of test app for testing specialists (test_specialist_client). Also serves as an example for future SSE-based client - Improvements to startup scripts to better handle and scale multiple connections - Small improvements to the interaction forms and views - Caching implementation improved and augmented with additional caches
This commit is contained in:
@@ -27,6 +27,7 @@ expected_output: >
|
||||
- Addresses the lead by name
|
||||
- Acknowledges their role and company
|
||||
- Highlights how {company} can meet their specific needs or interests
|
||||
{customer_expected_output}
|
||||
metadata:
|
||||
author: "Josako"
|
||||
date_added: "2025-01-08"
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
version: "1.0.0"
|
||||
name: "Identification Gathering"
|
||||
task_description: >
|
||||
Detect and pass on identification information in the ongoing conversation, from within the following information:
|
||||
{question}
|
||||
Add to or refine the following already gathered identification information (between triple $)
|
||||
$$${Identification}$$$
|
||||
You are asked to gather lead information in a conversation with a new prospect. This is information about the person
|
||||
participating in the conversation, and information on the company he or she is working for. Try to be as precise as
|
||||
possible.
|
||||
Take into account information already gathered in the history (between triple backquotes) and add information found in
|
||||
the latest reply.
|
||||
|
||||
history:
|
||||
```{history}```
|
||||
latest reply:
|
||||
{query}
|
||||
|
||||
{custom_description}
|
||||
expected_output: >
|
||||
Identification information such as name, email, phone number, company, role, company website, ...
|
||||
- Personal Identification information such as name, email, phone number, job title, and any additional information that
|
||||
may prove to be interesting in the current or future conversations.
|
||||
- Company information such as company name, industry, size, company website, ...
|
||||
{custom_expected_output}
|
||||
metadata:
|
||||
author: "Josako"
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
version: "1.0.0"
|
||||
name: "Define Identification Questions"
|
||||
task_description: >
|
||||
Ask questions to complete or confirm the identification information gathered.
|
||||
Current Identification Information:
|
||||
$$${Identification}$$$
|
||||
Gather the identification information gathered by your team mates , take into account the history (in between triple
|
||||
backquotes) of the conversation, and the latest reply of the user.
|
||||
Define questions to be asked to complete the personal and company information for the end user in the conversation.
|
||||
history:
|
||||
```{history}```
|
||||
latest reply:
|
||||
{query}
|
||||
|
||||
{custom_description}
|
||||
expected_output: >
|
||||
Top 2 questions to ask in order to complete identification.
|
||||
- Personal Identification information such as name, email, phone number, job title, and any additional information that
|
||||
may prove to be interesting in the current or future conversations.
|
||||
- Company information such as company name, industry, size, company website, ...
|
||||
{custom_expected_output}
|
||||
- Top {nr_of_questions} questions to ask in order to complete identification.
|
||||
{custom_expected_output}
|
||||
metadata:
|
||||
author: "Josako"
|
||||
|
||||
23
config/tasks/RAG_CONSOLIDATION_TASK/1.0.0.yaml
Normal file
23
config/tasks/RAG_CONSOLIDATION_TASK/1.0.0.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: "1.0.0"
|
||||
name: "Rag Consolidation"
|
||||
task_description: >
|
||||
Your teams have collected answers to a user's query (in between triple backquotes), and collected additional follow-up
|
||||
questions (in between triple %) to reach their goals. Ensure the answers are provided, and select the additional
|
||||
questions to be asked in order not to overwhelm the user. Make a selection of maximum {nr_of_questions} questions to
|
||||
be returned to the user. You ensure both answers and additional questions are bundled into 1 clear communication back
|
||||
to the user. Use {language} for your consolidated communication.
|
||||
{custom_description}
|
||||
|
||||
Anwers:
|
||||
```{prepared_answers}```
|
||||
|
||||
Additional Questions:
|
||||
%%%{additional_questions}%%%
|
||||
expected_output: >
|
||||
One consolidated communication towards the end user with both answers and maximum {nr_of_questions} questions.
|
||||
{custom_expected_output}
|
||||
metadata:
|
||||
author: "Josako"
|
||||
date_added: "2025-01-08"
|
||||
description: "A Task to consolidate questions and answers"
|
||||
changes: "Initial version"
|
||||
@@ -1,21 +1,21 @@
|
||||
version: "1.0.0"
|
||||
name: "RAG Task"
|
||||
task_description: >
|
||||
Answer the question based on the following context, delimited between triple backquotes, and taking into account
|
||||
Answer the query based on the following context, delimited between triple backquotes, and taking into account
|
||||
the history of the discussion, in between triple %
|
||||
{custom_description}
|
||||
Use the following {language} in your communication, and cite the sources used at the end of the full conversation.
|
||||
If the question cannot be answered using the given context, say "I have insufficient information to answer this question."
|
||||
If the question cannot be answered using the given context, answer "I have insufficient information to answer this question."
|
||||
Context:
|
||||
```{context}```
|
||||
History:
|
||||
%%%{history}%%%
|
||||
Question:
|
||||
{question}
|
||||
Query:
|
||||
{query}
|
||||
expected_output: >
|
||||
An answer to the question asked formatted in markdown, without '```'.
|
||||
A list of sources used in generating the answer.
|
||||
An indication (True or False) of your ability to provide an answer.
|
||||
- Answer
|
||||
- A list of sources used in generating the answer, citations
|
||||
- An indication (True or False) if there's insufficient information to give an answer.
|
||||
metadata:
|
||||
author: "Josako"
|
||||
date_added: "2025-01-08"
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
version: "1.0.0"
|
||||
name: "SPIN Information Detection"
|
||||
task_description: >
|
||||
Detect the SPIN-context, taking into account the history of the discussion (in between triple %) with main focus on
|
||||
the latest reply (which can contain answers on previously asked questions by the user). Do not remove elements from
|
||||
the known SPIN (in between triple $) analysis unless explicitly stated by the end user in the latest reply. In all other cases, refine the
|
||||
current SPIN analysis or add elements to it.
|
||||
Detect the SPIN-context, taking into account the history of the discussion (in between triple backquotes) with main focus on
|
||||
the latest reply (which can contain answers on previously asked questions by the user). Spin elements may already be
|
||||
provided in the history. Add or refine these with the new input provided in the latest reply of the end user.
|
||||
{custom_description}
|
||||
Use the following {tenant_language} to define the SPIN-elements. If no additional information can be added, just
|
||||
return the already known SPIN.
|
||||
Use the following {tenant_language} to define the SPIN-elements.
|
||||
History:
|
||||
%%%{history}%%%
|
||||
Known SPIN:
|
||||
$$${SPIN}$$$
|
||||
```{history}```
|
||||
Latest reply:
|
||||
{question}
|
||||
{query}
|
||||
expected_output: >
|
||||
The SPIN analysis, comprised of:
|
||||
- Situation information - Information to understanding the customer's current context, as a markdown list without '```'.
|
||||
- Problem information - Information on uncovering the customer's challenges and pain points, as a markdown list without '```'.
|
||||
- Implication information - Exploration of the consequences of those problems, as a markdown list without '```'.
|
||||
- Need-payoff information - Helping customers realize value of solutions and defining their direct needs, as a markdown list without '```'.
|
||||
- Situation information: a description of the customer's current context / situation.
|
||||
- Problem information: a description of the customer's problems uncovering it's challenges and pain points.
|
||||
- Implication information: implications of situation / identified problems, i.e. of the consequences of those problems.
|
||||
- Need-payoff information: Customer's needs, helping customers realize value of solutions.
|
||||
- Additional info: Information that does not fit in the above SPIN-categories, but that can be commercially interesting.
|
||||
{custom_expected_output}
|
||||
metadata:
|
||||
author: "Josako"
|
||||
|
||||
@@ -1,21 +1,25 @@
|
||||
version: "1.0.0"
|
||||
name: "SPIN Question Identification"
|
||||
task_description: >
|
||||
Define, taking into account the history of the discussion (in between triple %), the latest reply and the currently
|
||||
known SPIN-elements (in between triple $), the top questions that need to be asked to understand the full SPIN context
|
||||
Define, taking into account the history of the discussion (in between triple backquotes) and the latest reply and the
|
||||
currently known SPIN-elements, the top questions that need to be asked to understand the full SPIN context
|
||||
of the customer. If you think this user could be a potential customer, please indicate so.
|
||||
{custom_description}
|
||||
Use the following {tenant_language} to define the SPIN-elements. If you have a full SPIN context, just skip and don't
|
||||
ask for more information or confirmation.
|
||||
History:
|
||||
%%%{history}%%%
|
||||
Known SPIN:
|
||||
$$${SPIN}$$$
|
||||
```{history}```
|
||||
Latest reply:
|
||||
{question}
|
||||
{query}
|
||||
expected_output: >
|
||||
The SPIN analysis, comprised of:
|
||||
- Situation information: a description of the customer's current context / situation.
|
||||
- Problem information: a description of the customer's problems uncovering it's challenges and pain points.
|
||||
- Implication information: implications of situation / identified problems, i.e. of the consequences of those problems.
|
||||
- Need-payoff information: Customer's needs, helping customers realize value of solutions.
|
||||
- Additional info: Information that does not fit in the above SPIN-categories, but that can be commercially interesting.
|
||||
The SPIN questions:
|
||||
- At max {nr_of_spin_questions} questions to complete the SPIN-context of the customer, as a markdown list without '```'.
|
||||
- At max {nr_of_questions} questions to complete the SPIN-context of the customer, as a markdown list without '```'.
|
||||
Potential Customer Indication:
|
||||
- An indication if - given the current SPIN - this could be a good customer (True) or not (False).
|
||||
{custom_expected_output}
|
||||
|
||||
Reference in New Issue
Block a user