Update App workflow

This commit is contained in:
hahuyhoang411 2023-11-03 09:22:58 +07:00
parent 13f55298bf
commit 3bd80fecf0
2 changed files with 68 additions and 2 deletions

View File

@ -20,7 +20,7 @@ The architecture of the Jan.ai application is designed to provide a seamless exp
- The BackEnd serves as the brain of the application. It processes the information, performs computations, and manages the main logic of the system.
:::info
For easy to understand, this is like an [OS (Operating System)](https://en.wikipedia.org/wiki/Operating_system) in the computer.
This is like an [OS (Operating System)](https://en.wikipedia.org/wiki/Operating_system) in the computer.
:::
**FrontEnd:**
@ -94,3 +94,69 @@ These are modular components or extensions designed to enhance the application's
2. This input is broadcasted as an event into the **Broadcast event**.
3. The **BackEnd** processes the event. Depending on the event, it might interact with one or several Plugins.
4. Once processed, **Broadcast result** can be sent out asynchronously through multiple notifications via Notify action.
## Jan workflow
![Workflow](img/arch-flow.drawio.png)
### Overview
The architecture of the Jan.ai desktop application is structured into four primary modules: "Prompt Template," "Language Model," "Output Parser," and "Apps." Let's break down each module and understand its components.
### Prompt Template
This is where predefined templates are stored. It sets the format and structure for user interactions. It contains:
- **Character's definition:**
Definitions of various characters or entities that may be interacted with or invoked during user requests (e.g., name, personality, and communication style).
- **Model's definition:**
Definitions related to the different language models (e.g., objectives, capabilities, and constraints)
- **Examples:**
Sample inputs and outputs for guidance. If given good examples, LLM could enable basic reasoning or planning skills.
- **Input:**
The actual user query or request that is being processed.
### Large Language Model
This processes the input provided.
- **Local models:**
These are the downloaded models that reside within the system. They can process requests without the need to connect to external resources.
- **OpenAI:**
This will connect you with OpenAI API, allowing the application to utilize powerful models like GPT-3.5 and GPT-4.
:::info
To use OpenAI models, you must have an OpenAI account and secret key. You can get your [OpenAI key](https://platform.openai.com/account/api-keys) here.
:::
- **Custom Agents:**
These are user-defined or third-party models that can be integrated into the Jan.ai system for specific tasks.
### Output Parser
Language models produce textual content. However, often, there's a need for more organized data instead of plain text. This is achieved using output parsers.
- **Parser:**
This component ensures that the output conforms to the desired structure and format, removing unwanted information or errors.
### Apps
This represents applications or extensions that can be integrated with Jan.
- **Characters:** Characters or entities that can be utilized within the applications.
- **Models:** Different Large Language Models, Large Multimodal Models, and Stable Diffusion models that the apps might use.
- **RAG:** Represents a "Retrieval Augmented Generation" functionality, which helps in fetching relevant data and generating responses based on it.

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB