update gpt-4-ChatgptAi provider (#42)

* reworked base models priority

* add model gpt-4-ChatgptAi
This commit is contained in:
Dmitry Afanasyev
2023-10-20 23:40:31 +03:00
committed by GitHub
parent 0b53ddbca8
commit 162c3359e8
6 changed files with 349 additions and 258 deletions

View File

@@ -1,5 +1,6 @@
from datetime import timezone
from enum import StrEnum, unique
from typing import Any
from dateutil import tz
@@ -61,6 +62,22 @@ class ChatGptModelsEnum(StrEnum):
def values(cls) -> set[str]:
return set(map(str, filter(lambda m: m not in ChatGptModelsEnum._deprecated(), cls)))
@staticmethod
def base_models_priority() -> list[dict[str, Any]]:
models = []
for model in ChatGptModelsEnum.values():
priority = 0
match model:
case "gpt-3.5-turbo-stream-gptalk":
priority = 2
case "gpt-3.5-turbo-stream-GeekGpt":
priority = 1
case "llama2":
priority = 1
fields = {"model": model, "priority": priority}
models.append(fields)
return models
@staticmethod
def _deprecated() -> set[str]:
return {

View File

@@ -32,10 +32,8 @@ def upgrade() -> None:
if models:
return
models = []
for model in ChatGptModelsEnum.values():
priority = 0 if model != "gpt-3.5-turbo-stream-FreeGpt" else 1
fields = {"model": model, "priority": priority}
models.append(ChatGpt(**fields))
for data in ChatGptModelsEnum.base_models_priority():
models.append(ChatGpt(**data))
session.add_all(models)
session.commit()