Davizig12jojo commited on
Commit
fa1e16c
·
verified ·
1 Parent(s): 00a143d

Upload 4 files

Browse files
Files changed (4) hide show
  1. Dockerfile.txt +27 -0
  2. README.md +10 -0
  3. app.py +78 -0
  4. requirements (1).txt +5 -0
Dockerfile.txt ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ==============================================================================
2
+ # DOCKERFILE: BLAZERRHINO 3B API (FASTAPI)
3
+ # ==============================================================================
4
+ # Ambiente Linux configurado para rodar o modelo na CPU gratuita de forma otimizada
5
+ # ==============================================================================
6
+ FROM python:3.10-slim
7
+
8
+ # Instala ferramentas do sistema necessárias para compilar o llama-cpp
9
+ RUN apt-get update && apt-get install -y \
10
+ build-essential \
11
+ python3-dev \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ WORKDIR /code
15
+
16
+ # Copia e instala as dependências Python
17
+ COPY ./requirements.txt /code/requirements.txt
18
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
19
+
20
+ # Copia os arquivos do projeto para o contêiner
21
+ COPY . .
22
+
23
+ # Expõe a porta de rede que o Hugging Face usa por padrão
24
+ EXPOSE 7860
25
+
26
+ # Inicia o servidor da sua API
27
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
README.md ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: BlazerRhino 3B Chat
3
+ emoji: 🐠
4
+ colorFrom: pink
5
+ colorTo: yellow
6
+ sdk: docker
7
+ pinned: false
8
+ ---
9
+
10
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ==============================================================================
2
+ # API DO BLAZERRHINO 3B: FASTAPI + LLAMA.CPP (DOCKER)
3
+ # ==============================================================================
4
+ # Autor: Davi Rediske / BlazerIA Team (2026)
5
+ # Este script baixa seu modelo GGUF automaticamente e cria uma rota de chat
6
+ # ultra rápida para integrar com o seu site ou Worker.
7
+ # ==============================================================================
8
+
9
+ import os
10
+ from fastapi import FastAPI, HTTPException
11
+ from fastapi.middleware.cors import CORSMiddleware
12
+ from pydantic import BaseModel
13
+ from huggingface_hub import hf_hub_download
14
+ from llama_cpp import Llama
15
+
16
+ app = FastAPI(title="BlazerRhino 3B API - Docker")
17
+
18
+ # Ativa o CORS para que seu site BlazerIA faça chamadas para esta API sem bloqueios
19
+ app.add_middleware(
20
+ CORSMiddleware,
21
+ allow_origins=["*"],
22
+ allow_credentials=True,
23
+ allow_methods=["*"],
24
+ allow_headers=["*"],
25
+ )
26
+
27
+ # Configurações do seu repositório onde está o arquivo GGUF compilado do BlazerRhino
28
+ REPO_ID = "Davizig10jojo/BlazerRhino-3B-GGUF"
29
+ ARQUIVO_GGUF = "BlazerRhino-3B-Instruct.Q4_K_M.gguf"
30
+
31
+ print("📥 Baixando arquivo GGUF do Hugging Face Hub...")
32
+ try:
33
+ caminho_modelo = hf_hub_download(repo_id=REPO_ID, filename=ARQUIVO_GGUF)
34
+ print(f"✅ Modelo carregado com sucesso em: {caminho_modelo}")
35
+ except Exception as e:
36
+ print(f"⚠️ Erro ao carregar arquivo personalizado ({e}). Tentando nome original...")
37
+ # Fallback caso o nome padrão do Unsloth seja mantido no repositório
38
+ caminho_modelo = hf_hub_download(repo_id=REPO_ID, filename="Qwen2.5-3B-Instruct.Q4_K_M.gguf")
39
+
40
+ print("🧠 Carregando o modelo na CPU gratuita do Space (16GB RAM)...")
41
+ # Otimizado para usar os 2 núcleos de processamento da CPU básica sem travar o servidor
42
+ llm = Llama(
43
+ model_path=caminho_modelo,
44
+ n_ctx=2048, # Contexto confortável para conversas e estudos
45
+ n_threads=2, # Usa os 2 núcleos da CPU grátis do Space no limite máximo
46
+ n_batch=512,
47
+ )
48
+ print("🚀 BlazerRhino 3B está online e pronto para receber requisições!")
49
+
50
+ class ChatRequest(BaseModel):
51
+ prompt: str
52
+ temperature: float = 0.7
53
+ max_tokens: int = 1024
54
+
55
+ @app.get("/")
56
+ def home():
57
+ return {
58
+ "status": "online",
59
+ "model": "BlazerRhino-3B-GGUF",
60
+ "bypass": "Docker ativo via README.md Exploit!",
61
+ "author": "Davi Rediske / BlazerIA"
62
+ }
63
+
64
+ @app.post("/v1/chat")
65
+ async def chat(request: ChatRequest):
66
+ try:
67
+ # Executa a geração do texto na CPU básica do Space
68
+ resposta = llm(
69
+ request.prompt,
70
+ max_tokens=request.max_tokens,
71
+ temperature=request.temperature,
72
+ stop=["<|im_end|>"],
73
+ )
74
+
75
+ texto_resposta = resposta["choices"][0]["text"]
76
+ return {"response": texto_resposta}
77
+ except Exception as e:
78
+ raise HTTPException(status_code=500, detail=str(e))
requirements (1).txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ fastapi==0.110.0
2
+ uvicorn==0.28.0
3
+ llama-cpp-python>=0.2.70
4
+ huggingface-hub>=0.20.0
5
+ pydantic>=2.0.0