Erinaldorodrigues commited on
Commit
ecb6cb3
·
verified ·
1 Parent(s): 7136723

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -13
app.py CHANGED
@@ -1,23 +1,57 @@
1
- from fastapi import FastAPI
2
- from pydantic import BaseModel
 
 
3
 
4
- from agent import criar_arquivo
5
 
 
6
 
7
- app = FastAPI()
8
 
9
 
10
- class Pedido(BaseModel):
11
- tarefa:str
 
12
 
 
 
 
 
 
 
13
 
14
- @app.post("/criar")
15
- def criar(pedido:Pedido):
 
 
16
 
17
- arquivo = criar_arquivo(
18
- pedido.tarefa
 
19
  )
20
 
21
- return {
22
- "arquivo criado":arquivo
23
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import spaces
3
+ from transformers import AutoTokenizer, AutoModelForCausalLM
4
+ import torch
5
 
6
+ modelo_id = "Qwen/Qwen2.5-Coder-7B-Instruct"
7
 
8
+ tokenizer = AutoTokenizer.from_pretrained(modelo_id)
9
 
10
+ modelo = None
11
 
12
 
13
+ @spaces.GPU
14
+ def gerar_codigo(prompt):
15
+ global modelo
16
 
17
+ if modelo is None:
18
+ modelo = AutoModelForCausalLM.from_pretrained(
19
+ modelo_id,
20
+ torch_dtype=torch.float16,
21
+ device_map="auto"
22
+ )
23
 
24
+ entradas = tokenizer(
25
+ prompt,
26
+ return_tensors="pt"
27
+ ).to(modelo.device)
28
 
29
+ saida = modelo.generate(
30
+ **entradas,
31
+ max_new_tokens=512
32
  )
33
 
34
+ texto = tokenizer.decode(
35
+ saida[0],
36
+ skip_special_tokens=True
37
+ )
38
+
39
+ return texto
40
+
41
+
42
+ app = gr.Interface(
43
+ fn=gerar_codigo,
44
+ inputs=gr.Textbox(
45
+ label="Pedido"
46
+ ),
47
+ outputs=gr.Textbox(
48
+ label="Resposta"
49
+ ),
50
+ title="Qwen2.5 Coder Agente"
51
+ )
52
+
53
+
54
+ app.launch(
55
+ server_name="0.0.0.0",
56
+ server_port=7860
57
+ )