Salvatore Rossitto commited on
Commit
4190d92
·
1 Parent(s): 9778c3b
Files changed (1) hide show
  1. RBotReloaded.py +11 -12
RBotReloaded.py CHANGED
@@ -69,11 +69,11 @@ def validate_and_fix_params(tool_name, params_list):
69
  def create_llm(model_id=f"{MODELS_DIR}/mistral-7b-instruct-v0.1.Q4_K_M.gguf", load_4bit=False, load_8bit=False, ctx_len = 8192, temperature=0.5, top_p=0.95):
70
  if (model_id.startswith("http")):
71
  print(f"Creating TextGen LLM base_url:{model_id}")
72
- return TextGen(model_url=model_id, callbacks=[StreamingStdOutCallbackHandler()])
73
  if (os.path.exists(model_id)):
74
  try:
75
  print(f"Creating LlamaCpp LLM model_id:{model_id}")
76
- return LlamaCpp(model_path=model_id, verbose=True, n_batch=521, alpha_value=1,rope_freq_base=10000,compress_pos_emb=ctx_len / 4096, n_ctx=ctx_len, load_in_4bit=load_4bit, load_in_8bit=load_8bit, temperature=temperature,top_p=top_p)
77
  except Exception as ex:
78
  try:
79
  print(f"Creating CTransformers LLM model_id:{model_id}")
@@ -84,7 +84,7 @@ def create_llm(model_id=f"{MODELS_DIR}/mistral-7b-instruct-v0.1.Q4_K_M.gguf", lo
84
  "top_p":top_p,
85
  "temperature":temperature
86
  }
87
- return CTransformers(model=model_id, model_type='llama', config=config)
88
 
89
  except Exception as ex:
90
  print(f"Load Error {str(ex)}")
@@ -269,15 +269,14 @@ AI: SearchAndReply("recent cryptocurrency news")
269
  USER: Can you calculate the factorial of 5?
270
  AI: Calculator("factorial(5)")
271
 
272
- ### CURRENT CONVERSATION:
273
-
274
- SYS: Today is {str(datetime.now().date())},
275
- SYS: You are {AI_NAME} a smart and helpful AI assistant with access to external tools and knowledge.
 
 
276
  {formatted_history}
277
  USER: {input}
278
- SYS: Please reply last user message directly or invoking a valid action from the following list:
279
- {self.tools_prompt()}
280
-
281
  AI:
282
  """
283
  observations = []
@@ -335,11 +334,11 @@ AI:
335
 
336
  print(f"Action Output: {res}")
337
  observations.append(f"Action Output: {res}")
338
- prompt = prompt + f"Action: {tool.name}({action_input})\nSYS:{res}"
339
  if (i+1 == self.max_iterations):
340
  print(f"MAX ITERATIONS REACHED. PLEASE PROVIDE A FINAL RESPONSE!")
341
  prompt = prompt + "\nMAX ITERATIONS REACHED. PLEASE PROVIDE A FINAL RESPONSE!\nAI:"
342
- output = str(self.llm(prompt,stop=["USER:","AI:","SYS:","[INST]","[/INST]"])).strip()
343
  final_response = "\n*Reasoning: ".join(observations) + f"\n{output}" if len(observations) > 0 else f"\n{output}"
344
  return { "output": final_response }
345
  else:
 
69
  def create_llm(model_id=f"{MODELS_DIR}/mistral-7b-instruct-v0.1.Q4_K_M.gguf", load_4bit=False, load_8bit=False, ctx_len = 8192, temperature=0.5, top_p=0.95):
70
  if (model_id.startswith("http")):
71
  print(f"Creating TextGen LLM base_url:{model_id}")
72
+ return TextGen(model_url=model_id, seed=79, callbacks=[StreamingStdOutCallbackHandler()])
73
  if (os.path.exists(model_id)):
74
  try:
75
  print(f"Creating LlamaCpp LLM model_id:{model_id}")
76
+ return LlamaCpp(model_path=model_id, verbose=True, n_batch=521, seed=79, alpha_value=1,rope_freq_base=10000,compress_pos_emb=ctx_len / 4096, n_ctx=ctx_len, load_in_4bit=load_4bit, load_in_8bit=load_8bit, temperature=temperature,top_p=top_p)
77
  except Exception as ex:
78
  try:
79
  print(f"Creating CTransformers LLM model_id:{model_id}")
 
84
  "top_p":top_p,
85
  "temperature":temperature
86
  }
87
+ return CTransformers(model=model_id, model_type='llama', seed=79, config=config)
88
 
89
  except Exception as ex:
90
  print(f"Load Error {str(ex)}")
 
269
  USER: Can you calculate the factorial of 5?
270
  AI: Calculator("factorial(5)")
271
 
272
+ ### REAL CONVERSATION:
273
+ [INST]
274
+ SYSTEM: You are {AI_NAME} a smart and helpful AI assistant with access to external tools and knowledge.
275
+ Today is {str(datetime.now().date())}, please reply last user message directly or invoking a valid action from the following list:
276
+ {self.tools_prompt()}
277
+ [/INST]
278
  {formatted_history}
279
  USER: {input}
 
 
 
280
  AI:
281
  """
282
  observations = []
 
334
 
335
  print(f"Action Output: {res}")
336
  observations.append(f"Action Output: {res}")
337
+ prompt = prompt + f"Action: {tool.name}({action_input})\SYSTEM:{res}"
338
  if (i+1 == self.max_iterations):
339
  print(f"MAX ITERATIONS REACHED. PLEASE PROVIDE A FINAL RESPONSE!")
340
  prompt = prompt + "\nMAX ITERATIONS REACHED. PLEASE PROVIDE A FINAL RESPONSE!\nAI:"
341
+ output = str(self.llm(prompt,stop=["USER:","AI:","SYS:","SYSTEM:","[INST]","[/INST]"])).strip()
342
  final_response = "\n*Reasoning: ".join(observations) + f"\n{output}" if len(observations) > 0 else f"\n{output}"
343
  return { "output": final_response }
344
  else: