cirolini / genai-code-review Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Hi everyone!
I am trying to use it with a private repo . but it seems doesn't work,
is there any configuration that could help to have this working with private repos?
if not, is there any plan to add support for a private repo?
thanks
🚀 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?
🏆 Resumo sobre benefícios da nova funcionalidade:
Com a implementação dessa nova funcionalidade, os usuários poderiam:
📚 Provável complexidade:
A melhor opção que descreve a complexidade associada a esta funcionalidade é:
💡 Ideias de implementação:
Para implementação da funcionalidade, seria possível:
continue_if_fail
It would be useful to allow users to specify the prompt to add specific checks, such as "Ensure the PR contains telemetry if it's adding new UI features" and so on.
I added the prompt as optional argument in my fork here: https://github.com/panuhorsmalahti/chatgpt-github-actions - it could be quite easily polished to a PR.
See the following screenshot. I am getting error messages that read: ChatGPT was unable to process the response about XYZ
:
This action has the correct permissions to write comments to the PR. Also, it appears the OpenAI token is working as I created it with maximum permissions on the OpenAI side, and I can see it is hitting the OpenAI API on the usage page for the token.
QUESTION: Any idea why I might be getting these responses?
This Github Action looks terrific and would love to be able to use it.
The code I am using is as follows. I removed the "davinci" engine that is in the sample / readme as I was receiving warnings it was deprecated in the Github Action logs:
jobs:
review-1:
runs-on: ubuntu-latest
name: ChatGPT Cirolini Code Review
steps:
- name: ChatGPT Cirolini Code Review
uses: cirolini/[email protected]
with:
openai_api_key: ${{ secrets.openai_api_key }}
github_token: ${{ secrets.GITHUB_TOKEN }}
github_pr_id: ${{ github.event.number }}
openai_engine: "gpt-3.5-turbo-1106"
openai_temperature: 0.5
openai_max_tokens: 2048
mode: patch
Run cirolini/genai-code-review@v2
with:
openai_api_key: ***
github_token: ***
github_pr_id: 2
openai_model: gpt-3.5-turbo
mode: files
language: java
openai_temperature: 0.5
openai_max_tokens: 2048
env:
JAVA_HOME: /opt/hostedtoolcache/Java_Adopt_jdk/11.0.23-9/x64
/usr/bin/docker run --name bd3e97b8141ed9284bb43c4748769_1c749f --label 066803 --workdir /github/workspace --rm -e "JAVA_HOME" -e "INPUT_OPENAI_API_KEY" -e "INPUT_GITHUB_TOKEN" -e "INPUT_GITHUB_PR_ID" -e "INPUT_OPENAI_MODEL" -e "INPUT_MODE" -e "INPUT_LANGUAGE" -e "INPUT_OPENAI_TEMPERATURE" -e "INPUT_OPENAI_MAX_TOKENS" -e "INPUT_CUSTOM_PROMPT" -e "OPENAI_API_KEY" -e "GITHUB_TOKEN" -e "GITHUB_PR_ID" -e "OPENAI_MODEL" -e "OPENAI_TEMPERATURE" -e "OPENAI_MAX_TOKENS" -e "MODE" -e "LANGUAGE" -e "CUSTOM_PROMPT" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -
python: can't open file '/github/workspace/src/main.py': [Errno 2] No such file or directory
As far as I can tell, the last line of the yaml code example in Step 3 of the README should read
mode: files # files or patch
Instead of
mode: file # file or patch
Is it possible to use Copilot instead of ChatGPT to generate the review comments?
Possible?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.