- 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:
Josako
2025-02-20 05:50:16 +01:00
parent d106520d22
commit 25213f2004
79 changed files with 2791 additions and 347 deletions

View File

@@ -16,6 +16,10 @@ AGENT_TYPES = {
"name": "Rag Agent",
"description": "An Agent that does RAG based on a user's question, RAG content & history",
},
"RAG_COMMUNICATION_AGENT": {
"name": "Rag Communication Agent",
"description": "An Agent that consolidates both answers and questions in a consistent reply",
},
"SPIN_DETECTION_AGENT": {
"name": "SPIN Sales Assistant",
"description": "An Agent that detects SPIN information in an ongoing conversation",

View File

@@ -0,0 +1,31 @@
# Agent Types
PROMPT_TYPES = {
"encyclopedia": {
"name": "encyclopedia",
"description": "A background information retriever for Evie",
},
"history": {
"name": "history",
"description": "Prompt to further detail a question based on the previous conversation",
},
"html_parse": {
"name": "html_parse",
"description": "An aid in transforming HTML-based inputs to markdown",
},
"pdf_parse": {
"name": "pdf_parse",
"description": "An assistant to parse PDF-content into markdown",
},
"rag": {
"name": "rag",
"description": "The Main RAG retriever",
},
"summary": {
"name": "summary",
"description": "An assistant to create a summary when multiple chunks are required for 1 file",
},
"transcript": {
"name": "transcript",
"description": "An assistant to transform a transcript to markdown.",
},
}

View File

@@ -2,30 +2,6 @@
RETRIEVER_TYPES = {
"STANDARD_RAG": {
"name": "Standard RAG Retriever",
"description": "Retrieving all embeddings conform the query",
"configuration": {
"es_k": {
"name": "es_k",
"type": "int",
"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": {
"query": {
"name": "query",
"type": "str",
"description": "Query to retrieve embeddings",
"required": True,
},
}
"description": "Retrieving all embeddings from the catalog conform the query",
}
}

View File

@@ -11,5 +11,9 @@ SERVICE_TYPES = {
"DEPLOY_API": {
"name": "DEPLOY_API",
"description": "Service allows to use deployment API functionality.",
},
"SPECIALIST_API": {
"name": "SPECIALIST_API",
"description": "Service allows to use specialist execution API functionality.",
}
}

View File

@@ -1,6 +1,6 @@
# Specialist Types
SPECIALIST_TYPES = {
"STANDARD_RAG": {
"STANDARD_RAG_SPECIALIST": {
"name": "Q&A RAG Specialist",
"description": "Standard Q&A through RAG Specialist",
},

View File

@@ -28,4 +28,8 @@ TASK_TYPES = {
"name": "SPIN Question Identification",
"description": "A Task that identifies questions to complete the SPIN context in a conversation",
},
"RAG_CONSOLIDATION_TASK": {
"name": "RAG Consolidation",
"description": "A Task to consolidate questions and answers",
}
}