Project

General

Profile

SendRequest() method » History » Revision 7

Revision 6 (Tomislav Pleše, 09/20/2025 02:44 PM) → Revision 7/19 (Tomislav Pleše, 09/21/2025 08:59 AM)

# 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 
     1. FE - Create new Point 
     2. FE - Show new Point on Screen - only the Prompt 
     3. FE - Create Context as the messageList. 
     4. FE - Send new Point and the messageList to BE 
     5. BE - Save new Point to DB 
     6. BE - Send messageList to OpenAI. The JSON should comprise of: model, messages, max_tokens 
     7. BE - Receive the Response from OpenAI 
     8. BE - Save Response to DB (into the previously saved new Point document) 
     9. BE - Send the new Point (with updated Response and other elements like Metadata) to FE 
     10. FE - Show updated new Point on Screen - node consisting of both Prompt message content and Response message content  

 2. Existing Point - Second prompt 
     1. FE - Create new Point 
     2. FE - Show new Point on Screen - the Prompt, under the previous Point 
     3. FE - Create Context as the messageList. 
     4. FE - Send new Point and the messageList to BE 
     5. BE - Save new Point to DB 
     6. BE - Send messageList to OpenAI. The JSON should comprise of: model, messages, max_tokens 
     7. BE - Receive the Response from OpenAI 
     8. BE - Save Response to DB (into the previously saved new Point document) 
     9. BE - Send the new Point (with updated Response and other elements like Metadata) to FE 
     10. FE - Show updated new Point on Screen - node consisting of both Prompt message content and Response message content  

 3. New shard - sub-prompt under a Regular Point that by this becomes a Shard   
     1. FE prompt - Create new Point 
     2. FE - Show new Point on Screen - only the Prompt 
     3. FE - Create Context as the messageList. 
     [to be done later] 

 4. FE - Send new Point and the messageList to BE 
     5. BE - Save new Point to DB 
     6. BE - Send messageList to OpenAI. The JSON should comprise of: model, messages, max_tokens 
     7. BE - Receive the Response from OpenAI 
     8. BE - Save Response to DB (into the previously saved new Point document) 
     9. BE - Send the new Point (with updated Response and other elements like Metadata) to FE 
     10. FE - Show updated new Point on Screen - node consisting of both Prompt message content and Response message content  

 4. Existing Shard - sub-prompt under a Point that has already been a Shard prompt - [to be done later]