fix: correct message_role assignment and iterable check in Agent.communicate
The diff shows two changes in `src/ragent/__init__.py` within the `Agent.communicate` method: - Replaced `isinstance(message, list)` with `hasattr(message, "__iter__")` to support any iterable type for the messages parameter. - Fixed a bug where `message_role` was incorrectly assigned to `message["content"]` instead of `message["role"]` when processing dict messages, and moved the assignment before the content extraction to preserve the role value.
This commit is contained in:
parent
22bdeaa2a1
commit
c22d9eee25
@ -200,12 +200,12 @@ class Agent:
|
||||
|
||||
def communicate(self, message: str,role:str="user"):
|
||||
log.debug(f"Sending message: {message} to assistant {self.assistant.id} in thread {self.thread.id}.")
|
||||
messages = isinstance(message, list) and message or [message]
|
||||
messages = hasattr(message, "__iter__") and message or [message]
|
||||
|
||||
for message in messages:
|
||||
if isinstance(message, dict):
|
||||
message_role = message["role"]
|
||||
message = message["content"]
|
||||
message_role = message["content"]
|
||||
else:
|
||||
message_role = role
|
||||
self.client.beta.threads.messages.create(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user