Project

General

Profile

SendRequest() method » History » Revision 5

Revision 4 (Tomislav Pleše, 09/20/2025 02:31 PM) → Revision 5/19 (Tomislav Pleše, 09/20/2025 02:34 PM)

# SendRequest() method 

 Context is created from message with following roles:  
 * system (content: instructions to AI model),  
 * assistant (content: AI model responses),  
 * user (content: user prompts) 

 Context is created as a messageList where: 
 * first element is the assistant role/content if it exists 
 * following elements are an ascending list of user prompts and assistant responses in ascending order 
 * last element is the newest user prompt 


 Cases for the flow of sending requests to AI model: 

 1. Root Point - First Prompt 
     * FE - Create new Point 
     * FE - Show new Point on Screen - only the Prompt 
     * FE - Create Context - messageList from: 
         * previous Points 
         * previous Points (Prompt + Response) 
         * . List is ascending: from the first message, down to the newest prompt. Since there is only this first Prompt, add only that. 
     * FE - Send new Point and messageList to BE 
     * BE - Save new Point to DB 
     * BE - Send messageList (in this case onltPrompt to OpenAI 
     * BE - Receive the Response from OpenAI 
     * BE - Save Response to DB (in the new Point document) 
     * BE - Send the new Point (with updated Response) to FE 
     * FE - Show updated new Point on Screen - both Prompt and Response 

 2. Existing Point - Second prompt 
     * FE - Create new Point 
     * FE - Show new Point on Screen -    only the Prompt, under the previous Point 
     * FE - Create Context - message list from previous Points (Prompt + Response). List is ascending: from the first message, down to the newest prompt. 
     * FE - Send new Point and the messageList to BE 
     * BE - Save new Point to DB 
     * BE - Receive the Response from OpenAI 
     * BE - Send Prompt to OpenAI 
     * BE - Receive the Response from OpenAI 
     * BE - Save Response to DB (with the new Point) 
     * BE- Send the new Point (with updated Response) to FE 
     * FE - Show updated new Point on Screen - both Prompt and Response 
 3. New shard - prompt 
 4. Existing Shard - prompt