-
Notifications
You must be signed in to change notification settings - Fork 112
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
79 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# AI functionality in JabRef | ||
|
||
## Chat model | ||
|
||
**Type**: enumeration | ||
|
||
**Requirements**: choose one available from combo box | ||
|
||
Chat model specifies what AI models can you use. This will differ from one provider to other. Models vary in their accuracy, knowledge of the world, context window (what amount of information can they process). | ||
|
||
Currently only OpenAI models are supported. | ||
|
||
## Embedding model | ||
|
||
**Type**: enumeration | ||
|
||
**Requirements**: choose one available from combo box | ||
|
||
Embedding model transforms a document (or a piece of text) into a vector (an ordered collection of numbers). This is used to supply the AI with relevant information regarding your questions. | ||
|
||
Different embedding models have different performance: this includes accuracy and how fast embeddings can be computed. `Q` at the end of model name usually means *quantized* (meaning *reduced*, *simplified*). These models are fast, but provide less accuracy. | ||
|
||
Currently only local embedding models are supported. That means you don't have to provide a new API key and all the logic will be run on your machine. | ||
|
||
## Instruction | ||
|
||
**Type**: string | ||
|
||
**Requirements**: not empty | ||
|
||
An instruction (also known as "system message") in a Large Language Models (LLMs) sets the tone and rules for the conversation. Think of it as instructions given to the AI before it starts interacting with a user. It guides the AI on how to respond, ensuring it stays on topic and behaves appropriately. For example, a system message might tell the AI to be formal, concise, or provide detailed explanations. This helps the AI provide more relevant and useful answers tailored to the specific needs of the user. | ||
|
||
## Message window size | ||
|
||
**Type**: integer | ||
|
||
**Requirements**: > 0 | ||
|
||
The "message window size" in a Large Language Model (LLM) refers to the number of recent messages or interactions that the model remembers during a conversation. This parameter determines how much context the LLM considers when generating responses. | ||
|
||
In LLMs, the context window is like a memory that helps the model understand the conversation flow and provide relevant responses. However, due to computational limits, LLMs cannot store unlimited amounts of chat history. Therefore, the "message window size" specifies the maximum number of previous messages or turns in a conversation that the LLM retains. This allows the LLM to focus on the most recent interactions, improving response accuracy without overwhelming the system with unnecessary data. | ||
|
||
## Document splitter chunk size | ||
|
||
**Type**: integer | ||
|
||
**Requirements**: > 0 | ||
|
||
The "chunk size" parameter in document splitting refers to the size of segments into which linked files are divided for processing by AI models. When dealing with linked files, such as PDF files, they are segmented into smaller chunks based on this parameter. Each segment typically contains a specified number of words or characters, ensuring manageable units for analysis and generating answers. | ||
|
||
These segments are then passed to the AI model for processing. This approach helps optimize performance by breaking down large documents into smaller, more digestible parts, enabling more efficient handling and analysis by the AI. | ||
|
||
## Document splitter chunk overlap | ||
|
||
**Type**: integer | ||
|
||
**Requirements**: > 0 && < chunk size | ||
|
||
The "chunk overlap" parameter determines how much text from adjacent chunks is shared when dividing linked files into segments. This overlap is measured in characters and ensures continuity and context across segmented chunks. By sharing a specified amount of text between adjacent segments, typically at the beginning and/or end of each chunk, the AI model can maintain coherence and understanding of the content across segmented parts. This approach helps enhance the accuracy and relevance of responses generated by the AI from the segmented content. | ||
|
||
## Retrieval augmented generation maximum results count | ||
|
||
**Type**: integer | ||
|
||
**Requirements**: > 0 | ||
|
||
The parameter "Retrieval augmented generation: maximum results count" specifies the maximum number of chunks or segments of text that will be retrieved for processing and generating responses. When using retrieval-augmented generation (RAG), which combines traditional language model generation with retrieval of relevant text segments, this parameter determines how many segments are considered for each query or input. | ||
|
||
Setting this parameter controls the scope of information the AI model uses to generate responses, balancing between depth of context and computational efficiency. It ensures that the AI focuses on the most relevant segments to provide accurate and contextually rich answers based on the user's input or query. | ||
|
||
## Retrieval augmented generation minimum score | ||
|
||
**Type**: float | ||
|
||
**Requirements**: > 0 && < 1 | ||
|
||
The "Retrieval augmented generation: minimum score" parameter sets the threshold for relevance when retrieving chunks of text for generation. It specifies the minimum score that segments must achieve to be included in the results. Any text segments scoring below this threshold are excluded from consideration in the AI's response generation process. | ||
|
||
This parameter is crucial in ensuring that the AI model focuses on retrieving and utilizing only the most relevant information from the retrieved chunks. By filtering out segments that do not meet the specified relevance score, the AI enhances the quality and accuracy of its responses, aligning more closely with the user's needs and query context. | ||