caarleexx commited on
Commit
6224e1e
·
verified ·
1 Parent(s): 1db2f72

Update api/models/requests.py

Browse files
Files changed (1) hide show
  1. api/models/requests.py +1 -95
api/models/requests.py CHANGED
@@ -1,5 +1,4 @@
1
  """
2
- Request models
3
  Request models para para.AI API v3.0
4
  Define estrutura de requests para todos os endpoints
5
 
@@ -89,7 +88,7 @@ class LLMGenerateRequest(BaseModel):
89
  description="Temperatura"
90
  )
91
  max_tokens: int = Field(
92
- default=1024,
93
  ge=1,
94
  le=4096,
95
  description="Máximo de tokens"
@@ -166,97 +165,4 @@ class FileListRequest(BaseModel):
166
  ge=0,
167
  description="Offset para paginação"
168
  )
169
- a API
170
- CORRIGIDO: model_config para evitar warning de namespace protegido
171
- """
172
- from pydantic import BaseModel, Field, ConfigDict
173
- from typing import Optional, List
174
- from datetime import datetime
175
-
176
-
177
- class ProcessingOptionsRequest(BaseModel):
178
- """
179
- Opções de processamento de acórdãos.
180
-
181
- CORRIGIDO: Adicionado model_config para desabilitar protected_namespaces
182
- """
183
- # ✅ Configuração para permitir campos que começam com "model_"
184
- model_config = ConfigDict(protected_namespaces=())
185
-
186
- llm_provider: str = Field(
187
- default="groq",
188
- description="Provedor LLM (groq, openai, anthropic)"
189
- )
190
-
191
- model_type: str = Field(
192
- default="balanced",
193
- description="Tipo de modelo (fast, balanced, quality)"
194
- )
195
-
196
- enable_parallel: bool = Field(
197
- default=True,
198
- description="Processar especialistas em paralelo"
199
- )
200
-
201
- max_workers: int = Field(
202
- default=3,
203
- ge=1,
204
- le=10,
205
- description="Número de workers paralelos"
206
- )
207
-
208
- save_to_db: bool = Field(
209
- default=False,
210
- description="Salvar resultados no banco de dados"
211
- )
212
-
213
- specialist_ids: Optional[List[int]] = Field(
214
- default=None,
215
- description="IDs dos especialistas a executar (1-9), None = todos"
216
- )
217
-
218
-
219
- class AcordaoUploadRequest(BaseModel):
220
- """Request para upload de acórdão individual."""
221
-
222
- acordao_id: str = Field(..., description="ID único do acórdão")
223
- tribunal: str = Field(..., description="Tribunal (ex: TJPR)")
224
- ementa: str = Field(..., description="Ementa do acórdão")
225
- integra: str = Field(..., description="Texto integral do acórdão")
226
-
227
- # Campos opcionais
228
- numero_processo: Optional[str] = Field(None, description="Número do processo")
229
- relator: Optional[str] = Field(None, description="Nome do relator")
230
- data_julgamento: Optional[datetime] = Field(None, description="Data do julgamento")
231
- classe_processual: Optional[str] = Field(None, description="Classe processual")
232
-
233
-
234
- class BatchProcessingRequest(BaseModel):
235
- """Request para processamento em batch."""
236
-
237
- acordaos: List[AcordaoUploadRequest] = Field(
238
- ...,
239
- description="Lista de acórdãos a processar"
240
- )
241
-
242
- processing_options: ProcessingOptionsRequest = Field(
243
- default_factory=ProcessingOptionsRequest,
244
- description="Opções de processamento"
245
- )
246
-
247
-
248
- class TaskStatusRequest(BaseModel):
249
- """Request para consultar status de task."""
250
-
251
- task_id: str = Field(..., description="ID da task")
252
-
253
-
254
- class DatabaseQueryRequest(BaseModel):
255
- """Request para consultas ao banco de dados."""
256
 
257
- tribunal: Optional[str] = Field(None, description="Filtrar por tribunal")
258
- relator: Optional[str] = Field(None, description="Filtrar por relator")
259
- date_from: Optional[datetime] = Field(None, description="Data inicial")
260
- date_to: Optional[datetime] = Field(None, description="Data final")
261
- limit: int = Field(default=100, ge=1, le=1000, description="Limite de resultados")
262
- offset: int = Field(default=0, ge=0, description="Offset para paginação")
 
1
  """
 
2
  Request models para para.AI API v3.0
3
  Define estrutura de requests para todos os endpoints
4
 
 
88
  description="Temperatura"
89
  )
90
  max_tokens: int = Field(
91
+ default=8024,
92
  ge=1,
93
  le=4096,
94
  description="Máximo de tokens"
 
165
  ge=0,
166
  description="Offset para paginação"
167
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168