-
Notifications
You must be signed in to change notification settings - Fork 86
[RFC] Code Agent in CodeTrans #331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: letonghan <[email protected]>
Signed-off-by: letonghan <[email protected]>
Signed-off-by: letonghan <[email protected]>
…o letong/rfc_codetrans
[Remind] @ftian1 please help to review the RFC, thank you! |
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO this RFC skips too many significant details:
- If translation is to compiled language, suitable build tools need to available for all of them
- What languages this is targeted at; just Java?
- If resulting program relies on external components, those need to be identified & installed, before program can be successfully build or executed
- Some dependencies can be GB sized
- There's no mention of how the execution is sandboxed
- E.g. allowing network connectivity for malicious code would be rather serious (it could trivially do DOS attacks etc), but also innocent programs could be intended for network access
- Many programs do not run without input, but there's no mention of how input data provision is managed
- Code translation may be also asked for individual functions, not whole programs
PS. Even if agent would do only code linting instead of execution, that would also need code dependencies to be installed/present (at least their API files).
Hi @eero-t , thanks for your detailed comments! I will update this RFC later, here's some responses of your questions:
Please let me know if you have other suggestions. |
@letonghan RFC needs to answer also following questions:
I'm also wondering whether each supported language would need its own additional RFC, as that that's rather complex, language specific topic (language versions, their upgrades, access to their module repositories, security etc). |
Will same agents be used also for CodeGen? |
Then there's also the performance aspect. Users expect responses in seconds, but fetching code dependencies for building (or linting) the code could take minutes, maybe even tens of minutes. Building the code also takes extra time, especially if agents need to do several rounds of builds to get translated code into fully buildable state. Meaning that:
|
I think using lint/bandit is also a great option for code checking. |
Yes, building code sandbox, install dependencies, and execute it would take a lot of time. |
there is code execution tool https://github.com/QwenLM/Qwen-Agent/blob/main/qwen_agent/tools/code_interpreter.py |
Do we have customer requests for such code translation capabilities in OPEA? Is there a compelling need to invest engineering efforts in this? Shall we think about coding agent as a whole instead of just code translation or code generation? @letonghan @ftian1 @lkk12014402 |
Considering it for both makes more sense to me. At least I cannot quickly think of any difference between verifying / improving result for code translation, vs code generation. |
Signed-off-by: letonghan <[email protected]>
Hi @eero-t @minmin-intel , the RFC is updated. |
Signed-off-by: letonghan <[email protected]>
Signed-off-by: letonghan <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is much better now, but I still have few comments.
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
Ok. (I do not see an overlap between #272 and this RFC, except both being RAG, but "before translation" phase is indeed specific just to code translation.) |
Co-authored-by: Eero Tamminen <[email protected]>
Signed-off-by: letonghan <[email protected]>
…o letong/rfc_codetrans
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still not fan of code execution, but RFC itself looks OK now. There are just a few inconsistencies that would be good to fix before merging.
(Doc updates have resulted with some things being repeated in multiple sections. It would help if details of each step are described only once, and removed from more generic sections.)
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Eero Tamminen <[email protected]>
Co-authored-by: Eero Tamminen <[email protected]>
Co-authored-by: Eero Tamminen <[email protected]>
* Add CodeTrans with Agents RFC Signed-off-by: letonghan <[email protected]> * update diagram Signed-off-by: letonghan <[email protected]> * refine pre-llm agent design Signed-off-by: letonghan <[email protected]> * refine rfc according to comments Signed-off-by: letonghan <[email protected]> * revert file name change Signed-off-by: letonghan <[email protected]> * fix typo Signed-off-by: letonghan <[email protected]> * refine descriptions of retry limits in use case Co-authored-by: Eero Tamminen <[email protected]> * refine rfc according to comments Signed-off-by: letonghan <[email protected]> * refine descriptions Co-authored-by: Eero Tamminen <[email protected]> * Update community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md Co-authored-by: Eero Tamminen <[email protected]> * Update community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md Co-authored-by: Eero Tamminen <[email protected]> --------- Signed-off-by: letonghan <[email protected]> Co-authored-by: Eero Tamminen <[email protected]> Signed-off-by: Tsai, Louie <[email protected]>
* Getting Started Guide: ITAC steps update (#343) * ITAC steps update Signed-off-by: alexsin368 <[email protected]> * remove FaqGen reference since it is merged into ChatQnA Signed-off-by: alexsin368 <[email protected]> * remove 1st and 2nd person words, NGINX notes Signed-off-by: alexsin368 <[email protected]> * ITAC steps update Signed-off-by: alexsin368 <[email protected]> * remove FaqGen reference since it is merged into ChatQnA Signed-off-by: alexsin368 <[email protected]> * remove 1st and 2nd person words, NGINX notes Signed-off-by: alexsin368 <[email protected]> * update docker install script and path to docs repo Signed-off-by: alexsin368 <[email protected]> --------- Signed-off-by: alexsin368 <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> * [RFC] Code Agent in CodeTrans (#331) * Add CodeTrans with Agents RFC Signed-off-by: letonghan <[email protected]> * update diagram Signed-off-by: letonghan <[email protected]> * refine pre-llm agent design Signed-off-by: letonghan <[email protected]> * refine rfc according to comments Signed-off-by: letonghan <[email protected]> * revert file name change Signed-off-by: letonghan <[email protected]> * fix typo Signed-off-by: letonghan <[email protected]> * refine descriptions of retry limits in use case Co-authored-by: Eero Tamminen <[email protected]> * refine rfc according to comments Signed-off-by: letonghan <[email protected]> * refine descriptions Co-authored-by: Eero Tamminen <[email protected]> * Update community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md Co-authored-by: Eero Tamminen <[email protected]> * Update community/rfcs/25-03-14-GenAIExample-001-CodeTrans-with-Agents.md Co-authored-by: Eero Tamminen <[email protected]> --------- Signed-off-by: letonghan <[email protected]> Co-authored-by: Eero Tamminen <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> * [RFC] unified benchmark script for all examples under GenAIExamples (#276) * add GenAIExamples benchmark design doc * Update GenAIExamples Benchmark RFC * Fix typo in benchmark RFC and revise deploy section * Fix typos in the benchmark RFC --------- Co-authored-by: Ying Hu <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> * RFC: Haystack OPEA Integration (#222) * Haystack integration rfc Signed-off-by: Gad Markovits <[email protected]> * Removed extraneous item from components list Signed-off-by: Gad Markovits <[email protected]> --------- Signed-off-by: Gad Markovits <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> * add OpenTelemetry_OPEA_Guide.rst and ChatQnA.md for telemetry support Signed-off-by: Tsai, Louie <[email protected]> * Adding AgentQnA.md for Telemetry on AgentQnA Signed-off-by: Tsai, Louie <[email protected]> * Update tutorial/OpenTelemetry/deploy/AgentQnA.md Co-authored-by: Copilot <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> * Update index.rst Signed-off-by: Tsai, Louie <[email protected]> * Update tutorial/OpenTelemetry/OpenTelemetry_OPEA_Guide.rst and ChatQnA.md Co-authored-by: Malini Bhandaru <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> * removing redundant empty lines Signed-off-by: Tsai, Louie <[email protected]> * addressed comments Signed-off-by: Tsai, Louie <[email protected]> * Update tutorial/OpenTelemetry/OpenTelemetry_OPEA_Guide.rst Co-authored-by: Malini Bhandaru <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> --------- Signed-off-by: alexsin368 <[email protected]> Signed-off-by: Tsai, Louie <[email protected]> Signed-off-by: letonghan <[email protected]> Signed-off-by: Gad Markovits <[email protected]> Co-authored-by: alexsin368 <[email protected]> Co-authored-by: Letong Han <[email protected]> Co-authored-by: Eero Tamminen <[email protected]> Co-authored-by: Tian, Feng <[email protected]> Co-authored-by: Ying Hu <[email protected]> Co-authored-by: gadmarkovits <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Malini Bhandaru <[email protected]>
This RFC proposes the integration of two Agent mechanisms into the CodeTrans Example to enhance the reliability, user experience, and code quality.
The goal is to minimize the propagation of erroneous code and improve the feasibility of automated code translation.