aboutsummaryrefslogtreecommitdiff
path: root/supergenerator.py
diff options
context:
space:
mode:
authorhuker667 <huker@tuta.io>2026-08-13 18:26:46 +0300
committerhuker667 <huker@tuta.io>2026-08-13 18:26:46 +0300
commit5be8fcce19a8e9a742ae556f3730092825c4b1e4 (patch)
tree9529e9c3ef956dabe1014572f07ec5764c9303f3 /supergenerator.py
parent53afac9852330e2b46a46010e269e99998b725e5 (diff)
downloaduzbekgpt-main.tar.gz
uzbekgpt-main.tar.bz2
uzbekgpt-main.zip
фикс имагеHEADmain
Diffstat (limited to 'supergenerator.py')
-rw-r--r--supergenerator.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/supergenerator.py b/supergenerator.py
index fda127e..36d9929 100644
--- a/supergenerator.py
+++ b/supergenerator.py
@@ -3,8 +3,6 @@ import re
import shelve
import time
import ai
-import json
-import traceback
from configparser import DEFAULTSECT
@@ -71,7 +69,7 @@ async def generate(
if images:
if settings.get("vision"):
for image in images:
- content += [{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image}"}}]
+ content += [{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image['data']}"}}]
else:
for image in images:
try:
@@ -95,9 +93,13 @@ async def generate(
user_contexts[user_id].append({"role": "user", "content": content})
user_contexts[user_id] = user_contexts[user_id][-MAX_CONTEXT:]
- messages = [{"role": "system", "content": system_prompt}] + user_contexts[
- user_id
- ]
+ context = []
+ for i, m in enumerate(user_contexts[user_id]):
+ if m.get("role") == "user" and i < len(user_contexts[user_id]) - 1:
+ m = {**m, "content": [p for p in m["content"] if p.get("type") != "image_url"]}
+ context.append(m)
+
+ messages = [{"role": "system", "content": system_prompt}] + context
else:
model = DEFAULT_MODEL.split("*", 2)
settings = MODELS.get(model[0]).get(model[1])
@@ -166,22 +168,20 @@ async def image2text(image) -> str:
return ""
model = IMAGE_MODEL.split("*", 1)
api = PROVIDERS[model[0]]
- text = ""
messages = [
{
"role": "user",
"content": [
- {"type": "input_text", "text": IMAGE_PROMPT},
- {"type": "input_image", "image_url": f"data:image/jpeg;base64,{image}"},
+ {"type": "text", "text": IMAGE_PROMPT},
+ {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image}"}},
],
}
]
- async for response in ai.responses(
- url=api["url"], api_key=api["key"], model=model[1], input=messages, stream=False
+ async for completion in ai.completions(
+ url=api["url"], api_key=api["key"], model=model[1], messages=messages, stream=False
):
pass
- text = response.output_text
- return text
+ return completion["choices"][0]["message"]["content"]
async def openai_generate_text(