DHEIVER commited on
Commit
d2e4aef
·
verified ·
1 Parent(s): 942d705

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -9
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 experiente.
29
- Gere documentos jurídicos formais no formato do direito brasileiro."""
30
  },
31
  {
32
  "role": "user",
33
- "content": f"""Gere um {doc_type} completo e tecnicamente preciso com:
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)