добавит процент крутости у модели
This commit is contained in:
1 parent
b0541faa3d
commit
8812393f9f
4 files changed
+28
-4
No files matched your search
+4
-2
@@ -10,6 +10,7 @@ from aiogram.types import (
|
||||
from commands import *
|
||||
from config import *
|
||||
from supergenerator import *
|
||||
from trust import *
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("prov%"))
|
||||
@@ -37,11 +38,12 @@ async def select_provider_callback(callback: CallbackQuery):
|
||||
shown.add(base_model)
|
||||
|
||||
i += 1
|
||||
m_trust = round(get_display_trust([provider, base_model]))
|
||||
full_model = f"{provider}*{base_model}"
|
||||
if full_model == user_model or user_model.startswith(full_model + "*"):
|
||||
text = f"{base_model} ✅"
|
||||
text = f"{base_model} ({m_trust}%) ✅"
|
||||
else:
|
||||
text = base_model
|
||||
text = f"{base_model} ({m_trust}%)"
|
||||
|
||||
if MODELS[provider][model].get("alias"):
|
||||
base_model = MODELS[provider][model].get("alias")
|
||||
|
||||
@@ -295,6 +295,8 @@ def expand_auto_models():
|
||||
result = []
|
||||
for entry in AUTO_MODELS:
|
||||
parts = entry.split("*", 2)
|
||||
if len(parts) < 2:
|
||||
continue
|
||||
provider = parts[0]
|
||||
model = parts[1]
|
||||
suffix = parts[2] if len(parts) >= 3 else None
|
||||
|
||||
+11
-2
@@ -126,7 +126,13 @@ async def generate(
|
||||
await msg.edit_text(make_graph(message, process))
|
||||
|
||||
expanded = expand_auto_models()
|
||||
expanded = sorted(expanded, key=lambda e: get_trust(e.split("*"))[1], reverse=True)
|
||||
expanded = [
|
||||
e for _, e in sorted(
|
||||
enumerate(expanded),
|
||||
key=lambda x: get_trust(x[1].split("*"))[1] + (5 if x[0] == 0 else 0),
|
||||
reverse=True
|
||||
)
|
||||
]
|
||||
last_type = ""
|
||||
for entry in expanded:
|
||||
if last_type == "da":
|
||||
@@ -393,7 +399,10 @@ async def openai_generate_text(
|
||||
if s > 0:
|
||||
text += f"*... <{s} обрезано>*"
|
||||
if text == "":
|
||||
text = "(пустой ответ)"
|
||||
return {
|
||||
"type": "error",
|
||||
"text": "модель вернула пустой ответ"
|
||||
}
|
||||
return {
|
||||
"type": "da",
|
||||
"text": text
|
||||
|
||||
@@ -32,5 +32,16 @@ def get_trust(m: list):
|
||||
return models_trust.get(m[0], 80.0), models_trust.get(trust_key(m), 60.0)
|
||||
|
||||
|
||||
def get_display_trust(m: list):
|
||||
base_key = m[0] + '*' + m[1]
|
||||
values = []
|
||||
for key, val in models_trust.items():
|
||||
if key == base_key or key.startswith(base_key + '*'):
|
||||
values.append(val)
|
||||
if not values:
|
||||
return 60.0
|
||||
return sum(values) / len(values)
|
||||
|
||||
|
||||
def set_trust(m: str, trust: float):
|
||||
models_trust[m] = trust
|
||||
Reference in new issue
Block a user