- Add configuration of agents, tasks, tools, specialist in context of SPIN specialist

- correct startup of applications using gevent
- introduce startup scripts (eveai_app)
- caching manager for all configurations
This commit is contained in:
Josako
2025-01-16 20:27:00 +01:00
parent f7cd58ed2a
commit 7bddeb0ebd
69 changed files with 1991 additions and 345 deletions

View File

@@ -0,0 +1,34 @@
version: "1.0.0"
name: "Email Lead Draft Creation"
description: >
Craft a highly personalized email using the lead's name, job title, company information, and any relevant personal or
company achievements when available. The email should speak directly to the lead's interests and the needs
of their company.
This mail is the consequence of a first conversation. You have information available from that conversation in the
- SPIN-context (in between triple %)
- personal and company information (in between triple $)
Information might be missing however, as it might not be gathered in that first conversation.
Don't use any salutations or closing remarks, nor too complex sentences.
Our Company and Product:
- Company Name: {company}
- Products: {products}
- Product information: {product_information}
{customer_role}'s Identification:
$$${Identification}$$$
SPIN context:
%%%{SPIN}%%%
{custom_description}
expected_output: >
A personalized email draft that:
- Addresses the lead by name
- Acknowledges their role and company
- Highlights how {company} can meet their specific needs or interests
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "Email Drafting Task towards a Lead"
changes: "Initial version"

View File

@@ -0,0 +1,28 @@
version: "1.0.0"
name: "Email Lead Engagement Creation"
description: >
Review a personalized email and optimize it with strong CTAs and engagement hooks. Keep in mind that this email is
the consequence of a first conversation.
Don't use any salutations or closing remarks, nor too complex sentences. Keep it short and to the point.
Don't use any salutations or closing remarks, nor too complex sentences.
Ensure the email encourages the lead to schedule a meeting or take
another desired action immediately.
Our Company and Product:
- Company Name: {company}
- Products: {products}
- Product information: {product_information}
Engagement options:
{engagement_options}
{custom_description}
expected_output: >
An optimized email ready for sending, complete with:
- Strong CTAs
- Strategically placed engagement hooks that encourage immediate action
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "Make an Email draft more engaging"
changes: "Initial version"

View File

@@ -0,0 +1,16 @@
version: "1.0.0"
name: "Identification Gathering"
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}$$$
{custom_description}
expected_output: >
Identification information such as name, email, phone number, company, role, company website, ...
{custom_expected_output}
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "A Task that gathers identification information from a conversation"
changes: "Initial version"

View File

@@ -0,0 +1,15 @@
version: "1.0.0"
name: "Define Identification Questions"
description: >
Ask questions to complete or confirm the identification information gathered.
Current Identification Information:
$$${Identification}$$$
{custom_description}
expected_output: >
Top 2 questions to ask in order to complete identification.
{custom_expected_output}
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "A Task to define identification (person & company) questions"
changes: "Initial version"

View File

@@ -0,0 +1,23 @@
version: "1.0.0"
name: "RAG Task"
description: >
Answer the question 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."
Context:
```{context}```
History:
%%%{history}%%%
Question:
{question}
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.
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "A Task that gives RAG-based answers"
changes: "Initial version"

View File

@@ -0,0 +1,28 @@
version: "1.0.0"
name: "SPIN Information Detection"
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.
{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.
History:
%%%{history}%%%
Known SPIN:
$$${SPIN}$$$
Latest reply:
{question}
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 '```'.
{custom_expected_output}
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "A Task that performs SPIN Information Detection"
changes: "Initial version"

View File

@@ -0,0 +1,26 @@
version: "1.0.0"
name: "SPIN Question Identification"
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
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}$$$
Latest reply:
{question}
expected_output: >
The SPIN questions:
- At max {nr_of_spin_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}
metadata:
author: "Josako"
date_added: "2025-01-08"
description: "A Task that identifies questions to complete the SPIN context in a conversation"
changes: "Initial version"