Skip to content

[BUG]: Integração SEI IA com SEI (Ambiente com Podman) #72

@Gabriel-A-Goncalves

Description

@Gabriel-A-Goncalves

Nome Completo

Gabriel Enrique Almeida Gonçalves

Órgão

Tribunal Regional Eleitoral do Amapá

Email de Contato

gabriel.goncalves@tre-ap.jus.br

Descrição do Bug

📄 Relatório de Erro – Integração SEI IA com SEI (Ambiente com Podman)

📌 Contexto

  • Instalação do servidor de IA e do módulo SEI-IA realizada conforme documentação
  • Ambiente do órgão utiliza Podman (não Docker)
  • Foi necessário adaptar o script deploy-externo.sh para execução via Podman
  • Containers estão sendo executados corretamente após ajustes

⚙️ Ajustes Realizados no Ambiente

🔧 Adaptação para Podman

  • Alterações no script de deploy (deploy-externo.sh) para compatibilidade com Podman
  • O container sei_ia_airflow-webserver-pd_1 foi alterado no deploy para não dar divergência de nomenclatura

🔧 Ajuste manual no container NGINX

Container afetado:

sei_ia_nginx_assistente_1

Ação realizada:

  • Alteração do resolver para o gateway da rede do Podman
  • Reinício do container:

podman restart sei_ia_nginx_assistente_1


✅ Status dos Serviços

  • Containers sobem normalmente
  • Healthcheck executa
  • Serviços aparentam estar disponíveis
  • Integração com SEI apresenta falha em tempo de execução
Image

🚨 Problema Observado

🔁 Redirecionamento inesperado (HTTP 302)

Ao realizar chamadas para os endpoints do SEI via módulo SEI-IA:

  • A resposta não retorna dados esperados
  • Ocorre redirecionamento para página de login do SEI

🌐 Endpoint Utilizado

Exemplo de requisição:

https://10.25.1.208/sei/controlador_ws.php/md_ia_consulta_processo

Parâmetros utilizados:

  • servico=md_ia_consulta_processo
  • SiglaSistema=Usuario_IA
  • IdentificacaoServico=<token válido>
  • Demais parâmetros de filtro

🔀 Comportamento Observado

A requisição retorna:

  • HTTP 302 (Found)

Redirecionando para:

https://sei-hmg.tre-ap.jus.br/sip/login.php

  • Testando no SEI, o assistente responde que houve um erro inesperado
Image

🧪 Evidências (Logs do Container)

❗ Erro ao buscar metadados de processos

HTTPStatusError: Redirect response '302 Found'


❗ Erro ao buscar metadados de documentos

HTTPStatusError: Redirect response '302 Found'


❗ Falha ao interpretar resposta da API

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Indica que a resposta não está em formato JSON.


❗ Falha na recuperação de documentos

404: Documento nao encontrado


❗ Falha geral no processamento

Todos os documentos estão sem conteúdo


🔗 Fluxo de Erro Observado

  1. Requisição enviada para endpoint md_ia_consulta_processo
  2. SEI retorna HTTP 302
  3. Redirecionamento para página de login (sip/login.php)
  4. Resposta recebida em HTML (não JSON)
  5. Erro ao fazer parse da resposta
  6. Metadados não são carregados
  7. Documentos não são encontrados
  8. Pipeline de processamento falha

Log de Erro do Container do Assistente:

2026-04-09 15:25:57.581 ERROR:    [metadata.py:302] - Erro ao buscar metadados em lote de procedimentos: Redirect response '302 Found' for url 'https://10.25.1.208/sei/controlador_ws.php/md_ia_consulta_processo?servico=md_ia_consulta_processo&SiglaSistema=Usuario_IA&IdentificacaoServico=6b1387f98be81f4c1ebb1cfc4212c1732dc11132b416bd5b8a2a55372dd8d2b3f190cfc7&SinFiltraAtivos=N&SinFiltraBloqueados=N&SinFiltraDocumentosRelevantes=N&IdProcedimentos=441064'
Redirect location: 'https://sei-hmg.tre-ap.jus.br/sip/login.php?sigla_orgao_sistema=TRE-AP&sigla_sistema=SEI&infra_url=L3NlaS9jb250cm9sYWRvcl93cy5waHAvbWRfaWFfY29uc3VsdGFfcHJvY2Vzc28/c2Vydmljbz1tZF9pYV9jb25zdWx0YV9wcm9jZXNzbyZTaWdsYVNpc3RlbWE9VXN1YXJpb19JQSZJZGVudGlmaWNhY2FvU2Vydmljbz02YjEzODdmOThiZTgxZjRjMWViYjFjZmM0MjEyYzE3MzJkYzExMTMyYjQxNmJkNWI4YTJhNTUzNzJkZDhkMmIzZjE5MGNmYzcmU2luRmlsdHJhQXRpdm9zPU4mU2luRmlsdHJhQmxvcXVlYWRvcz1OJlNpbkZpbHRyYURvY3VtZW50b3NSZWxldmFudGVzPU4mSWRQcm9jZWRpbWVudG9zPTQ0MTA2NA=='
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302
Traceback (most recent call last):
  File "/app/sei_ia/data/etl/extract/metadata.py", line 244, in fetch_procedimentos_metadata_batch
    data_frame = await SEIDBHandler.md_ia_consulta_processo_batch(id_procedimentos)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 681, in md_ia_consulta_processo_batch
    return await SEIDBHandler.md_ia_consulta_processo_async(id_proc_str)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 569, in md_ia_consulta_processo_async
    response.raise_for_status()
  File "/app/.venv/lib/python3.12/site-packages/httpx/_models.py", line 763, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Redirect response '302 Found' for url 'https://10.25.1.208/sei/controlador_ws.php/md_ia_consulta_processo?servico=md_ia_consulta_processo&SiglaSistema=Usuario_IA&IdentificacaoServico=6b1387f98be81f4c1ebb1cfc4212c1732dc11132b416bd5b8a2a55372dd8d2b3f190cfc7&SinFiltraAtivos=N&SinFiltraBloqueados=N&SinFiltraDocumentosRelevantes=N&IdProcedimentos=441064'
Redirect location: 'https://sei-hmg.tre-ap.jus.br/sip/login.php?sigla_orgao_sistema=TRE-AP&sigla_sistema=SEI&infra_url=L3NlaS9jb250cm9sYWRvcl93cy5waHAvbWRfaWFfY29uc3VsdGFfcHJvY2Vzc28/c2Vydmljbz1tZF9pYV9jb25zdWx0YV9wcm9jZXNzbyZTaWdsYVNpc3RlbWE9VXN1YXJpb19JQSZJZGVudGlmaWNhY2FvU2Vydmljbz02YjEzODdmOThiZTgxZjRjMWViYjFjZmM0MjEyYzE3MzJkYzExMTMyYjQxNmJkNWI4YTJhNTUzNzJkZDhkMmIzZjE5MGNmYzcmU2luRmlsdHJhQXRpdm9zPU4mU2luRmlsdHJhQmxvcXVlYWRvcz1OJlNpbkZpbHRyYURvY3VtZW50b3NSZWxldmFudGVzPU4mSWRQcm9jZWRpbWVudG9zPTQ0MTA2NA=='
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302
2026-04-09 15:25:57.588 WARNING:  [concatenate_documents.py:465] - Metadado não encontrado para procedimento 441064
2026-04-09 15:25:57.682 ERROR:    [metadata.py:377] - Erro ao buscar metadados em lote de documentos: Redirect response '302 Found' for url 'https://10.25.1.208/sei/controlador_ws.php/md_ia_consulta_documento?servico=md_ia_consulta_documento&SiglaSistema=Usuario_IA&IdentificacaoServico=6b1387f98be81f4c1ebb1cfc4212c1732dc11132b416bd5b8a2a55372dd8d2b3f190cfc7&SinFiltraDocumentosRelevantes=N&SinFiltraBloqueados=N&SinFiltraAtivos=N&IdDocumentos=1103016'
Redirect location: 'https://sei-hmg.tre-ap.jus.br/sip/login.php?sigla_orgao_sistema=TRE-AP&sigla_sistema=SEI&infra_url=L3NlaS9jb250cm9sYWRvcl93cy5waHAvbWRfaWFfY29uc3VsdGFfZG9jdW1lbnRvP3NlcnZpY289bWRfaWFfY29uc3VsdGFfZG9jdW1lbnRvJlNpZ2xhU2lzdGVtYT1Vc3VhcmlvX0lBJklkZW50aWZpY2FjYW9TZXJ2aWNvPTZiMTM4N2Y5OGJlODFmNGMxZWJiMWNmYzQyMTJjMTczMmRjMTExMzJiNDE2YmQ1YjhhMmE1NTM3MmRkOGQyYjNmMTkwY2ZjNyZTaW5GaWx0cmFEb2N1bWVudG9zUmVsZXZhbnRlcz1OJlNpbkZpbHRyYUJsb3F1ZWFkb3M9TiZTaW5GaWx0cmFBdGl2b3M9TiZJZERvY3VtZW50b3M9MTEwMzAxNg=='
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302
Traceback (most recent call last):
  File "/app/sei_ia/data/etl/extract/metadata.py", line 323, in fetch_documentos_metadata_batch
    data_frame = await SEIDBHandler.md_ia_consulta_documento_batch(id_documentos)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 931, in md_ia_consulta_documento_batch
    return await SEIDBHandler.md_ia_consulta_documento_async(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 889, in md_ia_consulta_documento_async
    response.raise_for_status()
  File "/app/.venv/lib/python3.12/site-packages/httpx/_models.py", line 763, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Redirect response '302 Found' for url 'https://10.25.1.208/sei/controlador_ws.php/md_ia_consulta_documento?servico=md_ia_consulta_documento&SiglaSistema=Usuario_IA&IdentificacaoServico=6b1387f98be81f4c1ebb1cfc4212c1732dc11132b416bd5b8a2a55372dd8d2b3f190cfc7&SinFiltraDocumentosRelevantes=N&SinFiltraBloqueados=N&SinFiltraAtivos=N&IdDocumentos=1103016'
Redirect location: 'https://sei-hmg.tre-ap.jus.br/sip/login.php?sigla_orgao_sistema=TRE-AP&sigla_sistema=SEI&infra_url=L3NlaS9jb250cm9sYWRvcl93cy5waHAvbWRfaWFfY29uc3VsdGFfZG9jdW1lbnRvP3NlcnZpY289bWRfaWFfY29uc3VsdGFfZG9jdW1lbnRvJlNpZ2xhU2lzdGVtYT1Vc3VhcmlvX0lBJklkZW50aWZpY2FjYW9TZXJ2aWNvPTZiMTM4N2Y5OGJlODFmNGMxZWJiMWNmYzQyMTJjMTczMmRjMTExMzJiNDE2YmQ1YjhhMmE1NTM3MmRkOGQyYjNmMTkwY2ZjNyZTaW5GaWx0cmFEb2N1bWVudG9zUmVsZXZhbnRlcz1OJlNpbkZpbHRyYUJsb3F1ZWFkb3M9TiZTaW5GaWx0cmFBdGl2b3M9TiZJZERvY3VtZW50b3M9MTEwMzAxNg=='
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302
2026-04-09 15:25:57.999 ERROR:    [sei_db_handlers.py:179] - Falha na requisição à API SEI DB: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/requests/models.py", line 976, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 148, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 1032, in md_ia_consulta_documento
    return SEIDBHandler._parse_api_response(response, columns, parse)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 263, in _parse_api_response
    api_response = response.json()  # Tenta decodificar a resposta JSON
                   ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/models.py", line 980, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2026-04-09 15:25:58.005 ERROR:    [sei_db_handlers.py:1059] - documentos internos não encontrados
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/requests/models.py", line 976, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 148, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 1032, in md_ia_consulta_documento
    return SEIDBHandler._parse_api_response(response, columns, parse)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 263, in _parse_api_response
    api_response = response.json()  # Tenta decodificar a resposta JSON
                   ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/models.py", line 980, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 1055, in internal_docs_from_process_api
    df_documentos = SEIDBHandler.md_ia_consulta_documento(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/database/sei_db_handlers.py", line 180, in wrapper
    raise SeiDBAPIError(
sei_ia.data.database.sei_db_handlers.SeiDBAPIError: [500] Falha na requisição à API SEI DB: Expecting value: line 1 column 1 (char 0)
2026-04-09 15:25:58.018 ERROR:    [concatenate_documents.py:205] - Erro ao recuperar documento 1103016: 404: Documento 1103016 nao encontrado!
Traceback (most recent call last):
  File "/app/sei_ia/data/etl/concatenate_documents.py", line 149, in get_doc_from_id_async
    ) = await get_type_doc_from_id(id_documento)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/sei_ia/data/etl/extract/metadata.py", line 152, in get_type_doc_from_id
    raise HTTPException404(detail=msg)
sei_ia.services.exceptions.http_exceptions.HTTPException404: 404: Documento 1103016 nao encontrado!
2026-04-09 15:25:58.020 ERROR:    [concatenate_documents.py:746] - Erro inesperado ao processar documento 1103016: 404: Documento 1103016 nao encontrado!
NoneType: None
2026-04-09 15:25:58.020 ERROR:    [concatenate_documents.py:775] - Todos os 1 documentos estão sem conteúdo
2026-04-09 15:25:58.022 ERROR:    [gpt_4o_128k.py:199] - HTTPException204 capturado no streaming: Todos os documentos estão sem conteúdo
2026-04-09 15:26:00.311 ERROR:    [__init__.py:364] - Exception while exporting Span batch.
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/opentelemetry/sdk/trace/export/__init__.py", line 362, in _export_batch
    self.span_exporter.export(self.spans_list[:idx])  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py", line 204, in export
    return self._export_serialized_spans(serialized_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py", line 174, in _export_serialized_spans
    resp = self._export(serialized_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py", line 139, in _export
    resp = self._session.post(
           ^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/sessions.py", line 637, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/sessions.py", line 575, in request
    prep = self.prepare_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/sessions.py", line 484, in prepare_request
    p.prepare(
  File "/app/.venv/lib/python3.12/site-packages/requests/models.py", line 367, in prepare
    self.prepare_url(url, params)
  File "/app/.venv/lib/python3.12/site-packages/requests/models.py", line 438, in prepare_url
    raise MissingSchema(
requests.exceptions.MissingSchema: Invalid URL '""/api/public/otel/v1/traces': No scheme supplied. Perhaps you meant https://""/api/public/otel/v1/traces?

Confirmação

  • Verifiquei que não existe uma issue similar já aberta

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions