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:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user