anumaurya114exp commited on
Commit
7d0c63c
·
1 Parent(s): 5b99a4b

send only recent context history

Browse files
Files changed (1) hide show
  1. gptManager.py +11 -2
gptManager.py CHANGED
@@ -2,12 +2,13 @@ import re
2
  from persistStorage import saveLog
3
 
4
  class ChatgptManager:
5
- def __init__(self, openAIClient, model="gpt-3.5-turbo-1106", tokenLimit=8000, throwError=False):
6
  self.client = openAIClient
7
  self.tokenLimit = tokenLimit
8
  self.model = model
9
  self.throwError = throwError
10
  self.messages = []
 
11
 
12
  def setSystemPrompt(self, systemPrompt):
13
  systemMessage = {"role":"system", "content":systemPrompt}
@@ -18,6 +19,8 @@ class ChatgptManager:
18
  self.messages.insert(0, systemMessage)
19
 
20
  def getResponseForUserInput(self, userInput):
 
 
21
  userMessage = {"role":"user", "content":userInput}
22
  self.messages.append(userMessage)
23
  print(self.messages, "messages being sent to gpt for completion.")
@@ -34,4 +37,10 @@ class ChatgptManager:
34
  return errorText
35
 
36
  self.messages.append({"role": "assistant", "content": gptResponse})
37
- return gptResponse
 
 
 
 
 
 
 
2
  from persistStorage import saveLog
3
 
4
  class ChatgptManager:
5
+ def __init__(self, openAIClient, model="gpt-3.5-turbo-1106", tokenLimit=8000, throwError=False, contextHistoryLen=3):
6
  self.client = openAIClient
7
  self.tokenLimit = tokenLimit
8
  self.model = model
9
  self.throwError = throwError
10
  self.messages = []
11
+ self.contextHistoryLen = contextHistoryLen #sending previous n user inputs and their assistant messages.
12
 
13
  def setSystemPrompt(self, systemPrompt):
14
  systemMessage = {"role":"system", "content":systemPrompt}
 
19
  self.messages.insert(0, systemMessage)
20
 
21
  def getResponseForUserInput(self, userInput):
22
+ #send only recent history to gpt.
23
+ self.messages = self.getRecentContextOnly()
24
  userMessage = {"role":"user", "content":userInput}
25
  self.messages.append(userMessage)
26
  print(self.messages, "messages being sent to gpt for completion.")
 
37
  return errorText
38
 
39
  self.messages.append({"role": "assistant", "content": gptResponse})
40
+ return gptResponse
41
+
42
+ def getRecentContextOnly(self):
43
+ #take only systemp prompt and recent self.contextHistoryLen user input and self.contextHistoryLen assistant messages
44
+ if len(self.messages)<2*self.contextHistoryLen+1:
45
+ return self.messages[:]
46
+ return [self.messages[0]] + self.messages[-2*self.contextHistoryLen:]