This code causes langextract to hang
- Dominant language
- Python
- Stars
- 38.6k
- Forks
- 2.7k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 3
Description
The following code freezes langextract.
Debuging the request in the terminal I see a valid reques/response from the LLM, but langextract freezes with message:
LangExtract: model=gemini-2.5-flash-lite, current=5,022 chars, processed=5,022 chars: [00:17]
Tested on: v1.0.5
python cpu goes 99%
code:
```python
import langextract as lx
import textwrap
import os
import json
import dotenv
dotenv.load_dotenv()
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
def extract_p3(text: str):
prompt = textwrap.dedent("""\
Identify all lawyer OABs ids, mentioned in the text. Extract only the OAB number. Look for OAB identifications such as "OAB ", "Advogado", or any other indicators that suggest the person is a lawyer. Be thorough in your search, as there may be multiple lawyers mentioned.
""")
examples = [
lx.data.ExampleData(
text=(
"Publicacao Processo: 9939306-16.2024.4.05.8000 Orgao: 9ª Vara Federal AL Data de disponibilizacao: 20/07/2025 "
"Tipo de comunicacao: Intimacao Meio: Diario de Justica Eletronico Nacional Inteiro teor: "
"https://projudi.tjpr.jus.br/projudi/processo/validacaoDocumentos.do?_tj=8a6c53f8698c7ff7826b4c776d71311a670526233496c6741377fbc0805a7c188e8e8cdaec3b2f1881307a935 "
"Parte: BANCO PARTE (BRASIL) S.A. Advogado: FRANCISCO JOSE BARROS - OAB SP-223791 Advogado: PAULO JOSE DE SOUSA - OAB SP-333597"
" Conteudo: Intimacao referente ao movimento (seq. 651) LEVANTADA A"
" SUSPENSAO OU SOBRESTAMENTO DOS AUTOS (20/07/2025). Acesse o sistema Projudi do Tribunal de Justica do Parana para mais detalhes."
" |comunicacao_id: 338888888|"
),
extractions=[
lx.data.Extraction(
extraction_class="OAB_ID_NUMBER",
extraction_text="223791",
),
lx.data.Extraction(
extraction_class="OAB_ID_NUMBER",
extraction_text="333597",
)
]
),
]
# Run the extraction
result = lx.extract(
text_or_documents=text,
prompt_description=prompt,
examples=examples,
model_id="gemini-2.5-flash-lite",
temperature=0,
max_char_buffer=1000000,
api_key=GOOGLE_API_KEY,
)
print(result)
if __name__ == "__main__":
text = """
Publicacao Processo: 0000000-00.0000.0.00.0000 Orgao: 13ª Camara de Direito Publico Data de disponibilizacao: 01/01/2000 Tipo de comunicacao: Intimacao Meio: Diario de Justica Eletronico Nacional Inteiro teor: Parte: NOME_FICTICIO Parte: NOME_FICTICIO Parte: NOME_FICTICIO Parte: NOME_FICTICIO Advogado: NOME_FICTICIO - OAB 000000 Advogado: NOME_FICTICIO - OAB 000000 Advogado: NOME_FICTICIO - OAB 000000 Advogado: NOME_FICTICIO - OAB 000000 Conteudo: DESPACHO Nº 0000000-00.0000.0.00.0000 - Processo Digital. Peticoes para juntada devem ser apresentadas exclusivamente por meio eletronico, nos termos do artigo 7º da Res. 551/2011 - Agravo de Instrumento - NOME_FICTICIO - Agravante: NOME_FICTICIO - Agravado: NOME_FICTICIO - Agravado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Interessado: NOME_FICTICIO - Vistos. 1 - Trata-se de agravo de instrumento interposto por NOME_FICTICIO e outro contra a r. decisao de fls. 5271/5274, integrada as fls. 5417/5418, do processo originario, que, em cumprimento de sentenca de acao de desapropriacao direta movida pelo NOME_FICTICIO em face do NOME_FICTICIO, deliberou por ...nao assiste razao ao NOME_FICTICIO ao requerer o levantamento de sua cota parte. Foi evidenciado durante a instrucao que a area expropriada limitou-se ao patrimonio comum do NOME_FICTICIO. Ademais, a sentenca foi expressa ao determinar que o valor deve ser levantado pelo NOME_FICTICIO. Eventual decisao da Assembleia de Condominos e assunto externo que nao tem o condao de suspender o presente feito, determinando que o NOME_FICTICIO deve levantar o saldo de R$0,00 (...), para setembro de 2014, devidamente atualizado, alem disso, determinou que ...a parte expropriada para que apresente calculos das custas e honorarios processuais, considerando o valor dos depositos complementares. Alega, em resumo, que a premissa adotada tanto pelo Agravado quanto pelo MM Juizo a quo se encontra equivocada e evidentemente contraditoria ao proprio dispositivo da r. sentenca prolatada, o que ensejou em evidente equivoco quanto a interpretacao da r. sentenca ja transitada em julgado. Isso porque, quando do julgamento dos Embargos de Declaracao opostos pelo Agravante em face da r. sentenca de fls. 4.963/4.971, o MM. Juizo a quo entendeu que, de fato, havia evidente contradicao/erro material na r. sentenca, razao pela qual o aludido recurso foi acolhido para substituir o trecho de que: A honoraria nao incide sobre a complementacao da oferta, por: a base de calculo da verba sucumbencial levara em consideracao o valor complementar da oferta, porque, tivesse ela sido feita pelo valor correto, e ate seria possivel ao expropriado, satisfeito, nao constituir advogado para recusar a oferta insuficiente. (cf. fls. 4.976/4.977). (...) Portanto, Exas., considerando o entendimento apresentado pelo proprio MM. Juizo a quo no sentido de que tivesse ela sido feita pelo valor correto, e ate seria possivel ao expropriado, satisfeito, nao constituir advogado para recusar a oferta insuficiente, e evidente que a interpretacao correta a ser dada ao trecho a base de calculo da verba sucumbencial levara em consideracao o valor complementar da oferta, e justamente incidir honorarios advocaticios tambem sobre a complementacao da oferta. (...) para a elaboracao do calculo relativo ao valor dos honorarios bastava subtrair do valor da indenizacao apenas o deposito inicial, conforme planilha abaixo, pois como decidido por meio da r. sentenca transitada em julgado, o valor complementar da oferta tambem deve ser considerado como base de calculo da verba honoraria, pois realizado apos a apresentacao das contestacoes. (fls. 13/16) - sic) Postula seja conhecido e provido o presente Agravo de Instrumento para reformar a r. decisao agravada no sentido de que seja determinado que a verba honoraria incida sobre o valor da complementacao da oferta inicial, visto que como fundamentado na r. sentenca transitada em julgado, tivesse ela (oferta) sido feita pelo valor correto, e ate seria possivel ao expropriado, satisfeito, nao constituir advogado para recusar a oferta insuficiente. (fl. 17). Ausente pedido de atribuicao de efeito suspensivo/ativo, processe-se o recurso. 2- Providencie-se a intimacao da parte agravada e demais interessados para, havendo interesse, apresentar contrariedade (art. 1.019, II, CPC). Apos, tornem conclusos. Int. NOME_FICTICIO, 01/01/2000. NOME_FICTICIO Relator - Magistrado(a) NOME_FICTICIO - Advs: NOME_FICTICIO (OAB: 000000/SP) - NOME_FICTICIO (OAB: 000000/SP) - NOME_FICTICIO (OAB: 000000/SP) - NOME_FICTICIO (OAB: 000000/SP) - NOME_FICTICIO (OAB: 000000/SP) - NOME_FICTICIO (OAB: 000000/MG) - 1º andar |comunicacao_id: 000000000|
"""
extract_p3(text)
```
Contributor guide
Assessment
This issue has not been assessed yet.