add native image support
This commit is contained in:
1 parent
beb9e2a4ef
commit
f6109bb91a
2 files changed
+56
-13
No files matched your search
@@ -140,7 +140,8 @@ async def guest_middleware(handler, event, data):
|
||||
replied_text = None
|
||||
|
||||
prompt = ""
|
||||
|
||||
images = []
|
||||
|
||||
if message.document:
|
||||
if message.document.file_size > 4096:
|
||||
if event.guest_message:
|
||||
@@ -243,11 +244,9 @@ async def guest_middleware(handler, event, data):
|
||||
file_bytes = await bot.download(photo)
|
||||
image_bytes = file_bytes.read()
|
||||
b64_image = base64.b64encode(image_bytes).decode("utf-8")
|
||||
image_text = await image2text(image=b64_image)
|
||||
images += [b64_image]
|
||||
except Exception as e:
|
||||
image_text = "произошла ошибка при анализе фото"
|
||||
print(f"{RED} -- photo - {e}{RESET}")
|
||||
prompt = f"{prompt}<фото в ответе>{image_text}</фото в ответе>\n"
|
||||
|
||||
if message.photo and IMAGE_MODEL != "":
|
||||
try:
|
||||
@@ -258,11 +257,9 @@ async def guest_middleware(handler, event, data):
|
||||
file_bytes = await bot.download(photo)
|
||||
image_bytes = file_bytes.read()
|
||||
b64_image = base64.b64encode(image_bytes).decode("utf-8")
|
||||
image_text = await image2text(image=b64_image)
|
||||
images += [b64_image]
|
||||
except Exception as e:
|
||||
image_text = "произошла ошибка при анализе фото"
|
||||
print(f"{RED} -- photo - {e}{RESET}")
|
||||
prompt = f"{prompt}<фото>{image_text}</фото>\n"
|
||||
|
||||
if event.message:
|
||||
if msg:
|
||||
@@ -301,6 +298,7 @@ async def guest_middleware(handler, event, data):
|
||||
chat_id=message.chat.id,
|
||||
user_id=None,
|
||||
message_id=message_id,
|
||||
images=images,
|
||||
)
|
||||
elif event.message:
|
||||
result = await generate(
|
||||
@@ -309,6 +307,7 @@ async def guest_middleware(handler, event, data):
|
||||
chat_id=message.chat.id,
|
||||
user_id=user_id,
|
||||
message_id=message_id,
|
||||
images=images,
|
||||
)
|
||||
else:
|
||||
result = await generate(
|
||||
@@ -317,6 +316,7 @@ async def guest_middleware(handler, event, data):
|
||||
chat_id=None,
|
||||
user_id=user_id,
|
||||
message_id=None,
|
||||
images=images,
|
||||
)
|
||||
|
||||
result = parse_tools(result)
|
||||
@@ -410,7 +410,7 @@ async def chosen_inline_result_handler(chosen_result: ChosenInlineResult):
|
||||
else:
|
||||
current_time = time.time()
|
||||
alo, blocked = is_blocked(user_id)
|
||||
if not alo:
|
||||
if not alo and blocked:
|
||||
return
|
||||
if alo and blocked:
|
||||
await bot.edit_message_text(
|
||||
|
||||
Reference in new issue
Block a user