New version.
This commit is contained in:
parent
03110b4a80
commit
0b61e1c0cf
@ -367,45 +367,8 @@ class Agent:
|
||||
|
||||
return re.findall(image_url_pattern, text, re.IGNORECASE)
|
||||
|
||||
def communicate_images(self, message:str):
|
||||
messages = message
|
||||
if not isinstance(messages, list):
|
||||
messages = [message]
|
||||
|
||||
for message in messages:
|
||||
if isinstance(message, dict):
|
||||
message_role = message["role"]
|
||||
message = message["content"]
|
||||
else:
|
||||
message_role = "user"
|
||||
|
||||
for image_path in self.extract_image_urls(message):
|
||||
response = self.client.chat.completions.create(
|
||||
model="gpt-4o-mini",
|
||||
messages=[
|
||||
{
|
||||
"role": "user",
|
||||
"content": [
|
||||
{"type": "text", "text": "Describe the image in full detail, in a way that a human could understand."},
|
||||
{
|
||||
"type": "image_url",
|
||||
"image_url": {
|
||||
"url": image_path,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
],
|
||||
)
|
||||
response = response.choices[0].message.content
|
||||
response = f"This is the description of the image from the url {image_path} i have mentioned: " + response
|
||||
self.communicate(response,role="user",ignore_image_urls=True)
|
||||
|
||||
|
||||
def communicate(self, message: str, role: str = "user", ignore_image_urls:bool=False):
|
||||
def communicate(self, message: str, role: str = "user"):
|
||||
log.debug(f"Sending message: {message} to assistant {self.assistant.id} in thread {self.thread.id}.")
|
||||
if not ignore_image_urls:
|
||||
self.communicate_images(message)
|
||||
messages = isinstance(message, list) and message or [message]
|
||||
for message in messages:
|
||||
if isinstance(message, dict):
|
||||
@ -413,6 +376,18 @@ class Agent:
|
||||
message = message["content"]
|
||||
else:
|
||||
message_role = role
|
||||
message = [
|
||||
{"type":"text","text":message}
|
||||
]
|
||||
for image_url in self.extract_image_urls(message[0]["text"]):
|
||||
message.append(
|
||||
{
|
||||
"type": "image_url",
|
||||
"image_url": {
|
||||
"url": image_url,
|
||||
},
|
||||
}
|
||||
)
|
||||
self.client.beta.threads.messages.create(
|
||||
thread_id=self.thread.id,
|
||||
role=message_role,
|
||||
|
Loading…
Reference in New Issue
Block a user