from fastapi import FastAPI, Request from fastapi.responses import JSONResponse from llama_cpp import Llama import traceback app = FastAPI(title="List 2.0 Ultra Codex API") # Identidade oficial da List Enterprise SYSTEM_PROMPT = { "role": "system", "content": "Você é o List 2.0 Ultra Codex, a engine oficial de inteligência artificial da List Enterprise, integrada ao List Coder IDE. Você foi criado pela equipe da List Enterprise e pelo Legitey. Você é focado em programação, rápido e eficiente. Nunca diga que é o Claude, ChatGPT ou Qwen; você é sempre o List 2.0 Ultra Codex." } print("Carregando o motor List Enterprise...") try: llm = Llama( model_path="/model.gguf", n_ctx=2048, chat_format="chatml", n_threads=4 ) print("Motor pronto para combate!") except Exception as e: print(f"Erro ao carregar modelo: {e}") @app.post("/v1/chat/completions") async def chat(req: Request): try: body = await req.json() raw_messages = body.get("messages", []) # INJEÇÃO DE IDENTIDADE: # Se a primeira mensagem não for de sistema, nós inserimos a nossa. # Se for, nós adicionamos a nossa identidade no começo dela. if not raw_messages or raw_messages[0].get("role") != "system": messages = [SYSTEM_PROMPT] + raw_messages else: raw_messages[0]["content"] = SYSTEM_PROMPT["content"] + "\n\n" + raw_messages[0]["content"] messages = raw_messages result = llm.create_chat_completion( messages=messages, temperature=0.7, max_tokens=1024 ) # Ajuste para o nome do modelo no retorno ficar bonito result["model"] = "list-2-0-ultra-codex" return result except Exception as e: error_stack = traceback.format_exc() print(f"ERRO NA REQUISIÇÃO:\n{error_stack}") return JSONResponse( status_code=500, content={"error": str(e), "stack": error_stack} ) @app.get("/v1/models") async def list_models(): return { "object": "list", "data": [ { "id": "list-2-0-ultra-codex", "object": "model", "owned_by": "list-enterprise" } ] } @app.get("/") def home(): return {"status": "List Coder AI Online e Blindado!", "model": "list-2-0-ultra-codex"}