Initial commit

This commit is contained in:
Josako
2025-12-11 14:43:16 +01:00
commit 7ef62972f3
36 changed files with 23641 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
{
"label": "Specialists",
"position": 3,
"link": {
"type": "generated-index",
"description": "Learn about the Specialists enabling intelligent interactions and task execution"
}
}

View File

@@ -0,0 +1,156 @@
---
id: qa-rag-specialist
title: Q&A RAG Specialist
description: Understand how to configure and use the Q&A RAG Specialist for intelligent conversations
sidebar_label: Q&A RAG Specialist
sidebar_position: 2
---
# Q&A RAG Specialist
## Overview
The Q&A RAG Specialist enables intelligent question-answering interactions using your organization's specific information stored in Evie's Library. Whether supporting customers on your website or helping employees access internal knowledge, this specialist provides accurate, context-aware responses based on your documented information.
## Structure
The Q&A RAG Specialist extends the base Specialist with specific configuration, arguments, and results tailored for question-answering:
```mermaid
classDiagram
class Specialist {
+id: Integer
+name: String
+description: Text
+type: String
+configuration: JSON
+arguments: JSON
+results: JSON
}
class QARagSpecialist {
+configuration
specialist_context: String
temperature: Float
+arguments
language: String
query: String
+results
detailed_query: String
answer: String
citations: Array
insufficient_info: Boolean
}
Specialist <|-- QARagSpecialist
```
## Configuration
### Specialist Context
The context defines the specialist's identity and behavior. A well-structured context typically includes:
1. **Identity**
- The specialist's name
- Role or position (e.g., company spokesperson)
2. **Reference Handling**
- How your company/product names might appear
- Common variations or abbreviations
- How to handle self-references
3. **Domain Clarity**
- Clear description of the business domain
- Disambiguation from similar companies/products
Example context:
```json
{
"specialist_context": "You are Evie, the main spokesperson for 'Ask Eve AI'.
'Ask Eve AI' can be spelled in different ways (e.g. askeveai), can be
shortened to Evie, and can be referred to as 'you' (as you share the
same name as the product, and actually are an impersonation of the
product Evie). Ask Eve AI sells an advanced SAAS platform, also called
Evie, that enables companies to easily implement business cases based
on generative AI, mainly LLMs."
}
```
### Temperature
Controls the balance between creativity and precision in responses:
- **Range**: 0 to 1
- **Default**: 0.3
- **Effect**:
- Lower values (closer to 0): More conservative, strictly adhering to source content
- Higher values (closer to 1): More creative, potentially introducing more variation
- Adjust based on your needs:
- Increase if responses feel too rigid
- Decrease if responses take too many liberties with the source material
- Note: Higher temperatures increase the risk of hallucinations
## Arguments
Arguments required for each interaction:
1. **language**
- Specifies the desired response language
- Evie intelligently handles multi-language content
- Can find relevant information across language barriers
- Note: While Evie translates answers, it is not a document translation service
2. **query**
- The actual question from the end user
- Will be processed considering session context
## Results
The specialist returns structured results for each interaction:
1. **detailed_query**
- Enhanced version of the original query
- Incorporates context from previous interactions
- Helps maintain conversation coherence
2. **answer**
- The specialist's response to the query
- Based on retrieved information
- Formulated according to configuration settings
3. **citations**
- References to specific embeddings used
- Traceable back to source document versions
- Enables verification and source tracking
4. **insufficient_info**
- Boolean flag indicating information adequacy
- `true` when library content insufficient for proper response
- Helps monitor answer quality and identify knowledge gaps
## Integration Notes
While the specialist provides structured arguments and results, these technical details are typically hidden from end users. Client interfaces (such as chat widgets) handle:
- Submitting properly formatted arguments
- Receiving and processing results
- Presenting information in a user-friendly format
This abstraction allows for:
- Clean user experiences
- Consistent interaction patterns
- Technical flexibility for integrators
## Multi-language Capabilities
The Q&A RAG Specialist features advanced language handling:
- Finds relevant content across languages
- Provides responses in requested language
- Maintains context across language switches
- Intelligently translates responses while preserving meaning
For example, English questions can receive relevant information from Dutch documents, with responses properly formulated in English.
---
The next sections cover best practices, common use cases, and integration examples.

View File

@@ -0,0 +1,155 @@
---
id: specialists
title: Understanding Specialists - Introduction
description: Learn how specialists use Evie's Library to execute specific tasks
sidebar_label: Specialists Intro
sidebar_position: 1
---
# Understanding Specialists - Introduction
## Overview
Specialists are powerful components in Evie's ecosystem that perform specific activities using information from Evie's Library. Think of specialists as expert assistants, each trained for particular tasks - from answering questions to filling templates or providing specialized support.
## How Specialists Work
Every specialist follows a structured approach:
1. **Information Gathering**: Using one or more retrievers, specialists search Evie's Library for relevant information
2. **Information Processing**: Retrieved information is processed according to the specialist's specific algorithm
3. **Task Execution**: The specialist performs its designated task using:
- Retrieved information
- Its configuration settings
- Provided arguments
```mermaid
flowchart TD
A[User Request] --> B[Specialist]
B --> C{Process Arguments}
C --> D[Evaluate Specialist Arguments]
D --> E[Push Arguments to Retrievers]
E --> F[Search Library using Retrievers]
F --> G[Combine Retrieved Information]
G --> H[Execute Specialist Algorithm]
H --> I[Return Results]
style A fill:#9c2d66,stroke:#333,stroke-width:2px
style B fill:#423372,stroke:#333,stroke-width:2px
style I fill:#9c2d66,stroke:#333,stroke-width:2px
```
### Key Components
The relationship between specialists and other components is shown in this diagram:
```mermaid
classDiagram
class Specialist {
+id: Integer
+name: String
+description: Text
+type: String
+configuration: JSON
+arguments: JSON
+results: JSON
}
class Retriever {
+id: Integer
+name: String
+catalog_id: Integer
+type: String
+configuration: JSON
}
Specialist "*" -- "*" Retriever : uses
note for Specialist "Each specialist can use multiple retrievers"
note for Retriever "Each retriever can be used by multiple specialists"
```
### Sessions and Interactions
Each specialist operates within sessions, managing interactions as shown here:
```mermaid
classDiagram
class ChatSession {
+id: Integer
+session_id: String
+session_start: DateTime
+session_end: DateTime
}
class Interaction {
+id: Integer
+chat_session_id: Integer
+specialist_id: Integer
+specialist_arguments: JSON
+specialist_results: JSON
+question_at: DateTime
+answer_at: DateTime
}
class Specialist {
+id: Integer
+name: String
+type: String
}
ChatSession "1" -- "*" Interaction
Specialist "1" -- "*" Interaction
```
## Working with Specialists
### Configuration & Arguments
Specialists use three key data structures:
1. **Configuration**
- Fixed parameters that remain constant during all interactions
- Defines core behavior settings (e.g., inference parameters)
- Set during specialist creation
2. **Arguments**
- Variable parameters passed during each interaction
- Can change between interactions within a session
- Example: questions or specific task parameters
3. **Results**
- Output structure returned after each interaction
- Contains the specialist's response or task output
- Format depends on specialist type
### Sessions
- Each session is dedicated to one specialist
- Sessions maintain context across multiple interactions
- Session boundaries are specialist-specific
- For Q&A specialists: typically aligned with client communication sessions
- For task-based specialists: may be bound by task completion
### Argument Inheritance
Specialists implement an intelligent argument inheritance mechanism:
1. Arguments can be defined at both specialist and retriever levels
2. When argument names match:
- Specialist arguments take precedence
- Retriever-specific values can override this if explicitly set
3. This allows for:
- Consistent argument handling across retrievers
- Flexibility when needed for specific retrievers
## Current Specialist Types
Currently, the main specialist type is the RAG (Retrieval-Augmented Generation) Specialist, focused on question-answering using library content. Additional specialist types are being developed for:
- Sales support
- Template filling
- Specialized customer support
- Document analysis
- And more...
Detailed documentation for each specialist type is available in their respective sections.