pull/611/head
Sambhav Dixit 3 months ago committed by GitHub
parent a0ab6af42e
commit 486a3cf0f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -801,11 +801,13 @@ class Agent:
if self.long_term_memory is not None: if self.long_term_memory is not None:
logger.info("Querying long term memory...") logger.info("Querying long term memory...")
self.memory_query(task_prompt) self.memory_query(task_prompt)
# Generate response using LLM # Generate response using LLM
response = self.llm(task_prompt, *args, **kwargs) response_args = (
(task_prompt, *args) if img is None else (task_prompt, img, *args)
)
response = self.call_llm(*response_args, **kwargs)
# Check if response is a dictionary and has 'choices' key # Check if response is a dictionary and has 'choices' key
if isinstance(response, dict) and 'choices' in response: if isinstance(response, dict) and 'choices' in response:
response = response['choices'][0]['message']['content'] response = response['choices'][0]['message']['content']
@ -813,43 +815,45 @@ class Agent:
# If response is already a string, use it as is # If response is already a string, use it as is
pass pass
else: else:
raise ValueError(f"Unexpected response format: {type(response)}") raise ValueError(
f"Unexpected response format: {type(response)}"
)
# Check and execute tools # Check and execute tools
if self.tools is not None: if self.tools is not None:
print(f"self.tools is not None: {response}") print(f"self.tools is not None: {response}")
self.parse_and_execute_tools(response) self.parse_and_execute_tools(response)
# Log the step metadata # Log the step metadata
logged = self.log_step_metadata( logged = self.log_step_metadata(
loop_count, task_prompt, response loop_count,
) task_prompt,
logger.info(logged)
# Conver to a str if the response is not a str
response = self.llm_output_parser(
response response
) )
logger.info(logged)
# Convert to a str if the response is not a str
response = self.llm_output_parser(response)
# Print # Print
if self.streaming_on is True: if self.streaming_on is True:
self.stream_response(response) self.stream_response(response)
else: else:
print(response) print(response)
# Add the response to the memory # Add the response to the memory
self.short_memory.add( self.short_memory.add(
role=self.agent_name, content=response role=self.agent_name,
content=response
) )
# Add to all responses # Add to all responses
all_responses.append(response) all_responses.append(response)
# TODO: Implement reliablity check # TODO: Implement reliability check
if self.tools is not None: if self.tools is not None:
# self.parse_function_call_and_execute(response) # self.parse_function_call_and_execute(response)
self.parse_and_execute_tools(response) self.parse_and_execute_tools(response)
# if self.code_interpreter is True: # if self.code_interpreter is True:
# # Parse the code and execute # # Parse the code and execute
# logger.info("Parsing code and executing...") # logger.info("Parsing code and executing...")

Loading…
Cancel
Save