refactor(config): simplify AI provider configuration with provider selector

Remove StepFun provider support and consolidate AI configuration under
DEFAULT_AI_PROVIDER variable supporting openrouter, llamacpp, and openai.
Update .env, README.md, and main.py to use the new provider-based structure.
Add "Qualidade Total na Empresa" to topics list.
This commit is contained in:
marco
2026-09-03 15:01:16 -03:00
parent 369b81a242
commit ee398ff8a0
3 changed files with 39 additions and 113 deletions
+13 -13
View File
@@ -11,16 +11,12 @@ load_dotenv()
TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
TELEGRAM_CHAT_ID = os.getenv("TELEGRAM_CHAT_ID")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
DEFAULT_AI_PROVIDER = os.getenv("DEFAULT_AI_PROVIDER", "openrouter").lower()
DEFAULT_AI_MODEL = os.getenv("DEFAULT_AI_MODEL", "")
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY")
OPENROUTER_MODEL = os.getenv("OPENROUTER_MODEL")
STEPFUN_BASE_URL = os.getenv("STEPFUN_BASE_URL")
STEPFUN_API_KEY = os.getenv("STEPFUN_API_KEY")
STEPFUN_MODEL = os.getenv("STEPFUN_MODEL")
LLAMACPP_BASE_URL = os.getenv("LLAMACPP_BASE_URL")
LLAMACPP_API_KEY = os.getenv("LLAMACPP_API_KEY")
LLAMACPP_MODEL = os.getenv("LLAMACPP_MODEL")
DEFAULT_AI_MODEL = os.getenv("DEFAULT_AI_MODEL", OPENROUTER_MODEL or STEPFUN_MODEL or LLAMACPP_MODEL or "gpt-4o-mini")
LLAMACPP_BASE_URL = os.getenv("LLAMACPP_BASE_URL", "http://localhost:8080/v1/")
LLAMACPP_API_KEY = os.getenv("LLAMACPP_API_KEY", "not-needed")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
LANGUAGE = os.getenv("LANGUAGE", "pt-BR")
MIN_LINES = int(os.getenv("MIN_LINES", "20"))
INTERVAL_MINUTES = int(os.getenv("INTERVAL_MINUTES", "60"))
@@ -34,10 +30,14 @@ if not TELEGRAM_BOT_TOKEN or TELEGRAM_BOT_TOKEN == "seu_bot_token_aqui":
if not TELEGRAM_CHAT_ID or TELEGRAM_CHAT_ID == "seu_chat_id_aqui":
raise ValueError("TELEGRAM_CHAT_ID não configurado no .env")
if OPENROUTER_API_KEY and OPENROUTER_API_KEY != "sk-or-v1-...":
if DEFAULT_AI_PROVIDER == "openrouter" and OPENROUTER_API_KEY and OPENROUTER_API_KEY != "sk-or-v1-...":
client = openai.OpenAI(base_url="https://openrouter.ai/api/v1", api_key=OPENROUTER_API_KEY)
elif DEFAULT_AI_PROVIDER == "llamacpp" and LLAMACPP_API_KEY:
client = openai.OpenAI(base_url=LLAMACPP_BASE_URL, api_key=LLAMACPP_API_KEY)
elif DEFAULT_AI_PROVIDER == "openai" and OPENAI_API_KEY:
client = openai.OpenAI(api_key=OPENAI_API_KEY)
elif OPENROUTER_API_KEY and OPENROUTER_API_KEY != "sk-or-v1-...":
client = openai.OpenAI(base_url="https://openrouter.ai/api/v1", api_key=OPENROUTER_API_KEY)
elif STEPFUN_API_KEY:
client = openai.OpenAI(base_url=STEPFUN_BASE_URL, api_key=STEPFUN_API_KEY)
elif LLAMACPP_API_KEY:
client = openai.OpenAI(base_url=LLAMACPP_BASE_URL, api_key=LLAMACPP_API_KEY)
elif OPENAI_API_KEY:
@@ -94,7 +94,6 @@ def send_telegram_message(text, topic):
f"🤖 *Syspanel Insights - by ThorAgentIA*\n"
f"🤖 *https://syspanel.com.br*\n"
f"🕒 {now.strftime('%d/%m/%Y %H:%M:%S')}\n"
# f"🧠 Modelo: `{DEFAULT_AI_MODEL}`\n"
f"📌 Assunto: {topic}\n\n"
)
message = header + text
@@ -154,6 +153,7 @@ def job():
def main():
print("=== ThorAgentIA iniciado ===")
print(f"Provedor: {DEFAULT_AI_PROVIDER} | Modelo: {DEFAULT_AI_MODEL}")
print(f"Horário permitido: {START_HOUR}h às {END_HOUR}h")
print(f"Dias permitidos: {DAYS_OF_WEEK}")
print(f"Intervalo: {INTERVAL_MINUTES} minutos")