Spaces:
Runtime error
Runtime error
File size: 4,364 Bytes
8373106 b706710 8ae5da0 f8634b0 b706710 8373106 b706710 8373106 f8634b0 8373106 9232844 f8634b0 aa722ee 9232844 8373106 9232844 ffec921 9232844 8373106 ff25fba f8634b0 9232844 cdd1777 9232844 f8634b0 9232844 8373106 9232844 203e2ae 1c39100 8373106 f8634b0 5676d16 f8634b0 cdd1777 f8634b0 203e2ae 1c39100 f8634b0 8373106 cdd1777 b706710 cdd1777 8373106 cdd1777 8373106 c7ace55 8373106 cdd1777 8373106 f4875a1 8373106 b706710 0dc9765 cdd1777 0dc9765 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | # Code Interpreter API
A LangChain implementation of the ChatGPT Code Interpreter.
Using CodeBoxes as backend for sandboxed python code execution.
[CodeBox](https://github.com/shroominic/codebox-api/tree/main) is the simplest cloud infrastructure for your LLM Apps.
You can run everything local except the LLM using your own OpenAI API Key.
## Features
- Dataset Analysis, Stock Charting, Image Manipulation, ....
- Internet access and auto Python package installation
- Input `text + files` -> Receive `text + files`
- Conversation Memory: respond based on previous inputs
- Run everything local except the OpenAI API (OpenOrca or others maybe soon)
- Use CodeBox API for easy scaling in production (coming soon)
## Installation
Get your OpenAI API Key [here](https://platform.openai.com/account/api-keys) and install the package.
```bash
pip install codeinterpreterapi
```
## Usage
Make sure to set the `OPENAI_API_KEY` environment variable (or use a `.env` file)
```python
from codeinterpreterapi import CodeInterpreterSession
async def main():
# create a session
session = CodeInterpreterSession()
await session.astart()
# generate a response based on user input
response = await session.generate_response(
"Plot the bitcoin chart of 2023 YTD"
)
# output the response (text + image)
print("AI: ", response.content)
for file in response.files:
file.show_image()
# terminate the session
await session.astop()
if __name__ == "__main__":
import asyncio
# run the async function
asyncio.run(main())
```

Bitcoin YTD Chart Output
## Dataset Analysis
```python
from codeinterpreterapi import CodeInterpreterSession, File
async def main():
# context manager for auto start/stop of the session
async with CodeInterpreterSession() as session:
# define the user request
user_request = "Analyze this dataset and plot something interesting about it."
files = [
File.from_path("examples/assets/iris.csv"),
]
# generate the response
response = await session.generate_response(
user_request, files=files
)
# output to the user
print("AI: ", response.content)
for file in response.files:
file.show_image()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```

Iris Dataset Analysis Output
## Production
In case you want to deploy to production, you can utilize the CodeBox API for seamless scalability.
Please contact me if you are interested in this, as it is still in the early stages of development.
## Contributing
There are some remaining TODOs in the code.
So, if you want to contribute, feel free to do so.
You can also suggest new features. Code refactoring is also welcome.
Just open an issue or pull request and I will review it.
Please also submit any bugs you find as an issue with a minimal code example or screenshot.
This helps me a lot in improving the code.
Thanks!
## Streamlit WebApp
To start the web application created with streamlit:
```bash
streamlit run frontend/app.py
```
## License
[MIT](https://choosealicense.com/licenses/mit/)
## Contact
You can contact me at [contact@shroominic.com](mailto:contact@shroominic.com).
But I prefer to use [Twitter](https://twitter.com/shroominic) or [Discord](https://gptassistant.app/community) DMs.
## Support this project
If you would like to help this project with a donation, you can [click here](https://ko-fi.com/shroominic).
Thanks, this helps a lot! ❤️
## Star History
<a href="https://star-history.com/#shroominic/codeinterpreter-api&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=shroominic/codeinterpreter-api&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=shroominic/codeinterpreter-api&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=shroominic/codeinterpreter-api&type=Date" />
</picture>
</a>
|