Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -4,20 +4,7 @@ import torch
|
|
| 4 |
import gradio as gr
|
| 5 |
from typing import Literal
|
| 6 |
|
| 7 |
-
|
| 8 |
-
"zod": "Você é um Engenheiro de Software Sênior especialista em TypeScript. Sua tarefa é receber um objeto JSON bruto e gerar o código TypeScript correspondente utilizando a biblioteca 'zod' e estendendo com '@asteasolutions/zod-to-openapi'. Crie schemas modulares, fortemente tipados e inclua descrições e exemplos OpenAPI detalhados baseados nos valores do JSON. Retorne APENAS o código TypeScript, sem formatação markdown (```typescript) e sem explicações textuais.",
|
| 9 |
-
"yaml": "Você é um Arquiteto de Software especialista em documentação de APIs. Converta o JSON de entrada em uma especificação OpenAPI 3.0 em formato YAML. Estruture corretamente os componentes (schemas) e garanta a tipagem rigorosa. Retorne APENAS o código YAML válido, sem comentários adicionais.",
|
| 10 |
-
"json": "Você é um Arquiteto de Dados especialista em modelagem JSON. Sua tarefa é analisar os dados brutos de entrada e gerar um JSON Schema (Draft 2020-12) robusto e perfeitamente validado. Defina rigorosamente os tipos (string, number, boolean, array, object), especifique quais propriedades são obrigatórias e mapeie estruturas aninhadas com precisão. Retorne APENAS o JSON Schema cru, sem formatação markdown (```json) e sem conversas textuais.",
|
| 11 |
-
}
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
model_path = "edsoncarvalhointuria/merged-schema-forg-ai"
|
| 15 |
-
tokenizer = AutoTokenizer.from_pretrained(model_path)
|
| 16 |
-
model = AutoModelForCausalLM.from_pretrained(
|
| 17 |
-
model_path, dtype=torch.float16, device_map="auto"
|
| 18 |
-
)
|
| 19 |
-
|
| 20 |
-
|
| 21 |
def askToModel(user: str, type: Literal["zod", "yaml", "json"]):
|
| 22 |
messages = [
|
| 23 |
{"role": "system", "content": system_messages[type]},
|
|
@@ -40,6 +27,22 @@ def askToModel(user: str, type: Literal["zod", "yaml", "json"]):
|
|
| 40 |
|
| 41 |
return {"response": response}
|
| 42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
|
| 44 |
window = gr.Interface(fn=askToModel, inputs=["text", "text"], outputs="json")
|
| 45 |
|
|
|
|
| 4 |
import gradio as gr
|
| 5 |
from typing import Literal
|
| 6 |
|
| 7 |
+
@spaces.GPU
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
def askToModel(user: str, type: Literal["zod", "yaml", "json"]):
|
| 9 |
messages = [
|
| 10 |
{"role": "system", "content": system_messages[type]},
|
|
|
|
| 27 |
|
| 28 |
return {"response": response}
|
| 29 |
|
| 30 |
+
system_messages = {
|
| 31 |
+
"zod": "Você é um Engenheiro de Software Sênior especialista em TypeScript. Sua tarefa é receber um objeto JSON bruto e gerar o código TypeScript correspondente utilizando a biblioteca 'zod' e estendendo com '@asteasolutions/zod-to-openapi'. Crie schemas modulares, fortemente tipados e inclua descrições e exemplos OpenAPI detalhados baseados nos valores do JSON. Retorne APENAS o código TypeScript, sem formatação markdown (```typescript) e sem explicações textuais.",
|
| 32 |
+
"yaml": "Você é um Arquiteto de Software especialista em documentação de APIs. Converta o JSON de entrada em uma especificação OpenAPI 3.0 em formato YAML. Estruture corretamente os componentes (schemas) e garanta a tipagem rigorosa. Retorne APENAS o código YAML válido, sem comentários adicionais.",
|
| 33 |
+
"json": "Você é um Arquiteto de Dados especialista em modelagem JSON. Sua tarefa é analisar os dados brutos de entrada e gerar um JSON Schema (Draft 2020-12) robusto e perfeitamente validado. Defina rigorosamente os tipos (string, number, boolean, array, object), especifique quais propriedades são obrigatórias e mapeie estruturas aninhadas com precisão. Retorne APENAS o JSON Schema cru, sem formatação markdown (```json) e sem conversas textuais.",
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
model_path = "edsoncarvalhointuria/merged-schema-forg-ai"
|
| 38 |
+
tokenizer = AutoTokenizer.from_pretrained(model_path)
|
| 39 |
+
model = AutoModelForCausalLM.from_pretrained(
|
| 40 |
+
model_path, dtype=torch.float16, device_map="auto"
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
|
| 46 |
|
| 47 |
window = gr.Interface(fn=askToModel, inputs=["text", "text"], outputs="json")
|
| 48 |
|