darkshop commited on
Commit
b5c5013
·
verified ·
1 Parent(s): 25448d7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -17
app.py CHANGED
@@ -1,23 +1,39 @@
1
- import gradio as gr
 
 
2
  from llama_cpp import Llama
 
3
 
4
- # Caminho direto para o modelo na raiz
5
- model_path = "Llama-3.2-1B-Instruct-Q6_K.gguf"
 
6
 
7
- # Inicializa o modelo
8
- llm = Llama(model_path=model_path)
9
 
10
- def gerar_texto(prompt):
11
- output = llm(prompt, max_tokens=200)
12
- return output['text']
 
13
 
14
- # Interface Gradio
15
- iface = gr.Interface(
16
- fn=gerar_texto,
17
- inputs=gr.Textbox(lines=5, placeholder="Digite seu prompt aqui..."),
18
- outputs="text",
19
- title="Llama 3.2 1B Instruct GGUF",
20
- description="Teste do Llama 3.2 1B Instruct quantizado Q6"
21
- )
22
 
23
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from fastapi import FastAPI
3
+ from pydantic import BaseModel
4
  from llama_cpp import Llama
5
+ from huggingface_hub import hf_hub_download
6
 
7
+ # Nome do modelo no Hugging Face Hub
8
+ REPO_ID = "darkshop/olama"
9
+ FILENAME = "Llama-1B-Instruct.gguf"
10
 
11
+ # Caminho local do modelo
12
+ MODEL_FILE = os.path.join(os.getcwd(), FILENAME)
13
 
14
+ # Baixa o modelo se não existir
15
+ if not os.path.exists(MODEL_FILE):
16
+ print(f"Baixando {FILENAME} do Hub...")
17
+ MODEL_FILE = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
18
 
19
+ # Inicializa o Llama
20
+ llm = Llama(model_path=MODEL_FILE)
 
 
 
 
 
 
21
 
22
+ # Cria a API FastAPI
23
+ app = FastAPI(title="Darkshop Llama API")
24
+
25
+ class Prompt(BaseModel):
26
+ text: str
27
+ max_tokens: int = 200
28
+
29
+ @app.post("/gerar")
30
+ def gerar_texto(prompt: Prompt):
31
+ result = llm(prompt.text, max_tokens=prompt.max_tokens)
32
+ return {"texto": result['text']}
33
+
34
+ @app.get("/")
35
+ def root():
36
+ return {"mensagem": "API do modelo darkshop/olama ativa!"}
37
+
38
+ # Para rodar localmente:
39
+ # uvicorn app:app --host 0.0.0.0 --port 7860