cirolini / genai-code-review

MIT License
321 stars 51 forks source link

[FEATURE] Inclusão de parâmetro para continuar PR mesmo com falha na Action #4

Closed ThiagoPanini closed 1 month ago

ThiagoPanini commented 1 year ago

:rocket: Resumo da funcionalidade solicitada: Olá @cirolini, tomei a liberdade de abrir essa issue com um template que costumo usar para requisições de features. Primeiramente, parabéns pela iniciativa em criar essa action. Ao tentar utilizar a action pela primeira vez em meu repositório, me deparei com uma limitação de caracteres enviados ao ChatGPT para análise e revisão.

Traceback:

Traceback (most recent call last):
  File "/main.py", line 36, in <module>
    response = openai.Completion.create(
  File "/usr/local/lib/python3.[8](https://github.com/ThiagoPanini/terraglue/actions/runs/4038680923/jobs/6942850497#step:3:9)/site-packages/openai/api_resources/completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "/usr/local/lib/python3.8/site-packages/openai/api_requestor.py", line 227, in request
    resp, got_stream = self._interpret_response(result, stream)
  File "/usr/local/lib/python3.8/site-packages/openai/api_requestor.py", line 620, in _interpret_response
    self._interpret_response_line(
  File "/usr/local/lib/python3.8/site-packages/openai/api_requestor.py", line 680, in _interpret_response_line
    raise self.handle_error_response(
openai.error.InvalidRequestError: This model's maximum context length is 40[9](https://github.com/ThiagoPanini/terraglue/actions/runs/4038680923/jobs/6942850497#step:3:10)7 tokens, however you requested 5939 tokens (3891 in your prompt; [20](https://github.com/ThiagoPanini/terraglue/actions/runs/4038680923/jobs/6942850497#step:3:21)48 for the completion). Please reduce your prompt; or completion length.

De fato, este meu repositório em questão possui arquivos com conteúdos geralmente densos e com muitas linhas. Sabendo dessa limitação da ChatGPT em termos de caracteres, o pedido que se segue é:

Existe a possibilidade de incluir algum flag na Action para não gerar erros na esteira em caso de falhas no geral?


:trophy: Resumo sobre benefícios da nova funcionalidade: Com a implementação dessa nova funcionalidade, os usuários poderiam:

cirolini commented 1 year ago

Achei ótima a ideia, mas ainda tem duas possibilidades. Trancar o arquivo ou talvez fazer split deles. Estou trabalhando em uma nova versão agora e vou ver se consigo incluir isso.

cirolini commented 1 year ago

Dando uma lida no assunto, acho que basta usar uma função do proprio actions if: ${{ always() }}

Vou documentar isso: https://docs.github.com/en/actions/learn-github-actions/expressions#status-check-functions