Spaces:
Running
Running
File size: 2,809 Bytes
82a745d 716ba45 d4469c1 716ba45 d4469c1 716ba45 d4469c1 99c1a44 d4469c1 99c1a44 d4469c1 99c1a44 d4469c1 7060ba3 d4469c1 d5649b7 d4469c1 2552fb1 d4469c1 bd07d48 d4469c1 bd07d48 428cd1d d4469c1 716ba45 d4469c1 716ba45 d4469c1 716ba45 d4469c1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
import os
import gradio as gr
from huggingface_hub import InferenceClient
# Obtendo a API Key da variável de ambiente
api_key = os.getenv("HF_API_KEY")
if not api_key:
raise EnvironmentError("A variável de ambiente 'HF_API_KEY' não está configurada.")
# Criação do cliente com a API Key
client = InferenceClient(api_key=api_key)
# Função para gerar a peça jurídica em português
def gerar_peca_juridica_criminal(informacoes_caso, tipo_peca):
"""
Gera uma peça jurídica criminal em português com base no tipo e nas informações fornecidas.
Parâmetros:
informacoes_caso (str): Descrição detalhada do caso.
tipo_peca (str): Tipo de peça jurídica a ser gerada (ex: habeas corpus, petição inicial).
Retorna:
str: Peça jurídica gerada.
"""
mensagens = [
{
"role": "system",
"content": (
"Você é um especialista em direito criminal no Brasil e deve gerar peças jurídicas detalhadas. "
"Todas as respostas devem estar em português, considerando o ordenamento jurídico brasileiro."
)
},
{
"role": "user",
"content": f"Quero que você elabore um(a) {tipo_peca} com base nas seguintes informações do caso: {informacoes_caso}"
}
]
# Chamada ao modelo para gerar a resposta
resposta = client.chat.completions.create(
model="mistralai/Mistral-7B-Instruct-v0.3",
messages=mensagens,
max_tokens=1000
)
return resposta.choices[0].message["content"]
# Configuração do app Gradio
def gerar_interface_gradio():
"""
Configura a interface do Gradio para gerar peças jurídicas.
"""
with gr.Blocks() as interface:
gr.Markdown("## Gerador de Peças Jurídicas Criminais")
gr.Markdown(
"Insira as informações detalhadas do caso e escolha o tipo de peça jurídica que deseja gerar."
)
with gr.Row():
entrada_caso = gr.Textbox(
label="Informações do Caso",
placeholder="Descreva o caso detalhadamente aqui...",
lines=5
)
entrada_tipo = gr.Textbox(
label="Tipo de Peça Jurídica",
placeholder="Exemplo: habeas corpus, petição inicial..."
)
botao_gerar = gr.Button("Gerar Peça Jurídica")
saida_texto = gr.Textbox(label="Peça Jurídica Gerada", lines=15)
botao_gerar.click(
gerar_peca_juridica_criminal,
inputs=[entrada_caso, entrada_tipo],
outputs=saida_texto
)
return interface
# Executa o app
if __name__ == "__main__":
app = gerar_interface_gradio()
app.launch()
|