Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -18,19 +18,19 @@ class DocumentGenerator:
|
|
18 |
def __init__(self):
|
19 |
self.client = InferenceClient(api_key=HF_TOKEN)
|
20 |
self.model = "mistralai/Mistral-7B-Instruct-v0.2"
|
21 |
-
|
22 |
def generate(self, doc_type: str, context: Dict[str, str]) -> str:
|
23 |
"""Gera o documento usando o modelo"""
|
24 |
try:
|
25 |
messages = [
|
26 |
{
|
27 |
"role": "system",
|
28 |
-
"content": """Você é um advogado criminalista brasileiro
|
29 |
-
|
30 |
},
|
31 |
{
|
32 |
"role": "user",
|
33 |
-
"content": f"""Gere um {doc_type}
|
34 |
|
35 |
QUALIFICAÇÃO:
|
36 |
Cliente: {context.get('client_name')}
|
@@ -42,17 +42,26 @@ class DocumentGenerator:
|
|
42 |
{context.get('facts')}
|
43 |
|
44 |
FUNDAMENTOS JURÍDICOS:
|
45 |
-
{context.get('legal_basis')}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
]
|
48 |
|
49 |
-
# Gera o documento
|
50 |
completion = self.client.chat.completions.create(
|
51 |
model=self.model,
|
52 |
messages=messages,
|
53 |
-
temperature=0.3,
|
54 |
-
top_p=0.85,
|
55 |
-
max_tokens=2048
|
|
|
|
|
56 |
)
|
57 |
|
58 |
return self._format_output(completion.choices[0].message.content)
|
|
|
18 |
def __init__(self):
|
19 |
self.client = InferenceClient(api_key=HF_TOKEN)
|
20 |
self.model = "mistralai/Mistral-7B-Instruct-v0.2"
|
21 |
+
|
22 |
def generate(self, doc_type: str, context: Dict[str, str]) -> str:
|
23 |
"""Gera o documento usando o modelo"""
|
24 |
try:
|
25 |
messages = [
|
26 |
{
|
27 |
"role": "system",
|
28 |
+
"content": """Você é um advogado criminalista brasileiro. Gere documentos jurídicos concisos e objetivos,
|
29 |
+
sem repetições desnecessárias. Use linguagem técnica apropriada e citações específicas."""
|
30 |
},
|
31 |
{
|
32 |
"role": "user",
|
33 |
+
"content": f"""Gere um {doc_type} objetivo e sem repetições com:
|
34 |
|
35 |
QUALIFICAÇÃO:
|
36 |
Cliente: {context.get('client_name')}
|
|
|
42 |
{context.get('facts')}
|
43 |
|
44 |
FUNDAMENTOS JURÍDICOS:
|
45 |
+
{context.get('legal_basis')}
|
46 |
+
|
47 |
+
Regras:
|
48 |
+
1. Seja conciso e direto
|
49 |
+
2. Evite repetir informações
|
50 |
+
3. Cite apenas uma vez cada artigo/jurisprudência
|
51 |
+
4. Use formatação jurídica padrão
|
52 |
+
5. Inclua apenas informações relevantes"""
|
53 |
}
|
54 |
]
|
55 |
|
56 |
+
# Gera o documento com parâmetros ajustados
|
57 |
completion = self.client.chat.completions.create(
|
58 |
model=self.model,
|
59 |
messages=messages,
|
60 |
+
temperature=0.3, # Reduzido para maior consistência
|
61 |
+
top_p=0.85, # Mantém coerência
|
62 |
+
max_tokens=2048, # Limite de tamanho
|
63 |
+
presence_penalty=0.6, # Penaliza repetições
|
64 |
+
frequency_penalty=0.8 # Penaliza fortemente palavras repetidas
|
65 |
)
|
66 |
|
67 |
return self._format_output(completion.choices[0].message.content)
|