- Introduction of PARTNER_RAG retriever, PARTNER_RAG_SPECIALIST and linked Agent and Task, to support documentation inquiries in the management app (eveai_app)

- Addition of a tenant_partner_services view to show partner services from the viewpoint of a tenant
- Addition of domain model diagrams
- Addition of license_periods views and form
This commit is contained in:
Josako
2025-07-16 21:24:08 +02:00
parent 000636a229
commit f3a243698c
30 changed files with 1566 additions and 356 deletions

View File

@@ -0,0 +1,26 @@
version: "1.0.0"
name: "Partner Rag Agent"
role: >
You are a virtual assistant responsible for answering user questions about the Evie platform (Ask Eve AI) and products
developed by partners on top of it. You are reliable point of contact for end-users seeking help, clarification, or
deeper understanding of features, capabilities, integrations, or workflows related to these AI-powered solutions.
goal: >
Your primary goal is to:
• Provide clear, relevant, and accurate responses to user questions.
• Reduce friction in user onboarding and daily usage.
• Increase user confidence and adoption of both the platform and partner-developed products.
• Act as a bridge between documentation and practical application, enabling users to help themselves through intelligent guidance.
backstory: >
You have availability Evies own documentation, partner product manuals, and real user interactions. You are designed
to replace passive documentation with active, contextual assistance.
You have evolved beyond a support bot: you combine knowledge, reasoning, and a friendly tone to act as a product
companion that grows with the ecosystem. As partner products expand, the agent updates its knowledge and learns to
distinguish between general platform capabilities and product-specific nuances, offering a personalised experience
each time.
full_model_name: "mistral.mistral-medium-latest"
temperature: 0.3
metadata:
author: "Josako"
date_added: "2025-07-16"
description: "An Agent that does RAG based on a user's question, RAG content & history"
changes: "Initial version"

View File

@@ -0,0 +1,9 @@
version: "1.0.0"
name: "Knowledge Service"
configuration: {}
permissions: {}
metadata:
author: "Josako"
date_added: "2025-04-02"
changes: "Initial version"
description: "Partner providing catalog content"

View File

@@ -0,0 +1,21 @@
version: "1.0.0"
name: "Standard RAG Retriever"
configuration:
es_k:
name: "es_k"
type: "integer"
description: "K-value to retrieve embeddings (max embeddings retrieved)"
required: true
default: 8
es_similarity_threshold:
name: "es_similarity_threshold"
type: "float"
description: "Similarity threshold for retrieving embeddings"
required: true
default: 0.3
arguments: {}
metadata:
author: "Josako"
date_added: "2025-01-24"
changes: "Initial version"
description: "Retrieving all embeddings conform the query"

View File

@@ -0,0 +1,34 @@
version: "1.0.0"
name: "Partner RAG Specialist"
framework: "crewai"
chat: true
configuration: {}
arguments: {}
results:
rag_output:
answer:
name: "answer"
type: "str"
description: "Answer to the query"
required: true
citations:
name: "citations"
type: "List[str]"
description: "List of citations"
required: false
insufficient_info:
name: "insufficient_info"
type: "bool"
description: "Whether or not the query is insufficient info"
required: true
agents:
- type: "PARTNER_RAG_AGENT"
version: "1.0"
tasks:
- type: "PARTNER_RAG_TASK"
version: "1.0"
metadata:
author: "Josako"
date_added: "2025-07-16"
changes: "Initial version"
description: "Q&A through Partner RAG Specialist (for documentation purposes)"

View File

@@ -1,4 +1,4 @@
version: "1.0.0"
version: "1.1.0"
name: "RAG Specialist"
framework: "crewai"
chat: true

View File

@@ -1,53 +0,0 @@
version: 1.0.0
name: "Standard RAG Specialist"
framework: "langchain"
chat: true
configuration:
specialist_context:
name: "Specialist Context"
type: "text"
description: "The context to be used by the specialist."
required: false
temperature:
name: "Temperature"
type: "number"
description: "The inference temperature to be used by the specialist."
required: false
default: 0.3
arguments:
language:
name: "Language"
type: "str"
description: "Language code to be used for receiving questions and giving answers"
required: true
query:
name: "query"
type: "str"
description: "Query to answer"
required: true
results:
detailed_query:
name: "detailed_query"
type: "str"
description: "The query detailed with the Chat Session History."
required: true
answer:
name: "answer"
type: "str"
description: "Answer to the query"
required: true
citations:
name: "citations"
type: "List[str]"
description: "List of citations"
required: false
insufficient_info:
name: "insufficient_info"
type: "bool"
description: "Whether or not the query is insufficient info"
required: true
metadata:
author: "Josako"
date_added: "2025-01-08"
changes: "Initial version"
description: "A Specialist that performs standard Q&A"

View File

@@ -0,0 +1,22 @@
version: "1.0.0"
name: "RAG Task"
task_description: >
Answer the question based on the following context, and taking into account the history of the discussion. Try not to
repeat answers already given in the recent history, unless confirmation is required or repetition is essential to
give a coherent answer.
Answer the end user in the language used in his/her question.
If the question cannot be answered using the given context, answer "I have insufficient information to answer this
question."
Context (in between triple $):
$$${context}$$$
History (in between triple €):
€€€{history}€€€
Question (in between triple £):
£££{question}£££
expected_output: >
Your answer.
metadata:
author: "Josako"
date_added: "2025-07-16"
description: "A Task that gives RAG-based answers"
changes: "Initial version"

View File

@@ -1,9 +1,5 @@
# config/type_defs/partner_service_types.py
PARTNER_SERVICE_TYPES = {
"REFERRAL_SERVICE": {
"name": "Referral Service",
"description": "Partner referring new customers",
},
"KNOWLEDGE_SERVICE": {
"name": "Knowledge Service",
"description": "Partner providing catalog content",

View File

@@ -4,6 +4,11 @@ RETRIEVER_TYPES = {
"name": "Standard RAG Retriever",
"description": "Retrieving all embeddings from the catalog conform the query",
},
"PARTNER_RAG": {
"name": "Partner RAG Retriever",
"description": "RAG intended for partner documentation",
"partner": "evie_partner"
},
"TRAICIE_ROLE_DEFINITION_BY_ROLE_IDENTIFICATION": {
"name": "Traicie Role Definition Retriever by Role Identification",
"description": "Retrieves relevant role information for a given role",

View File

@@ -1,13 +1,14 @@
# Specialist Types
SPECIALIST_TYPES = {
"STANDARD_RAG_SPECIALIST": {
"name": "Standard RAG Specialist",
"description": "Standard Q&A through RAG Specialist",
},
"RAG_SPECIALIST": {
"name": "RAG Specialist",
"description": "Q&A through RAG Specialist",
},
"PARTNER_RAG_SPECIALIST": {
"name": "Partner RAG Specialist",
"description": "Q&A through Partner RAG Specialist (for documentation purposes)",
"partner": "evie_partner"
},
"SPIN_SPECIALIST": {
"name": "Spin Sales Specialist",
"description": "A specialist that allows to answer user queries, try to get SPIN-information and Identification",