Add custom copilot with local code interpreter #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an example custom copilot that makes use of a local code interpreter to write / execute code to answer the user's query.
It supports chart and tabular artifact output (by way of the OpenBB app integration).
The code interpreter is implemented in the Python standard lib, and spins up a separate process that uses a modified
InteractiveConsole
to execute code and capture output. We need to use a modifiedInteractiveConsole
to capture both outputs fromprint
statements, and also evaluated expressions (like a normal REPL would do), since GPT-4o seems to have been fine-tuned on interacting with a REPL, where the last expression is evaluated and returned.The code interpreter was used as a workshop for the GAIN lecture that I was asked to do on the 14th of December 2024.