Skip to main content

GPT4-powered python interpreter / AI assistant

Project description

Pandora

Pandora is an AI-powered Python console object, resulting from the combination of the latest GPT-4 Turbo model from OpenAI and a built-in interactive Python interpreter. This console allows users to execute Python commands/scripts in real time like a conventional Python console, but also allows to interact in natural language with the assistant and offers rich interactive and multimodal capabilities based on the real-time execution of AI-generated python scripts.

Main Features

  • Implements a custom AI-powered python console using OpenAI GPT4 Turbo model.
  • Usable both as a regular python console and/or an AI assistant.
  • Capable of generating and running scripts autonomously in its own internal interpreter.
  • Can be interacted with using a mix of natural language (markdown and LaTeX support) and python code.
  • Having the whole session in context. Including user prompts/commands, stdout outputs, etc... (up to 128k tokens)
  • Highly customizable input/output redirection and display (including hooks for TTS) for an easy and user friendly integration in any kind of application.
  • Modularity with custom tools passed to the agent and loaded in the internal namespace, provided their usage is precisely described to the AI (including custom modules, classes, functions, APIs).

Powerful set of builtin tools to:

  • facilitate communication with the user,
  • enable AI access to data/file content or module/class/function documentation/inspection,
  • files management (custom work and config folder, memory file, startup script, file upload)
  • access to external data (websearch tool, webpage reading),
  • notify status,
  • generate images via DALL-e 3,
  • persistent memory storage via an external json file.

Can also be used as an AI python function capable of generating scripts autonomously and returning any kind of processed data or python object according to a query in natural language along with some kwargs passed in the call, like so:

primes=pandora("return the list of first n prime numbers greater than m", n=5, m=15)
print(primes) # output: [17,19,23,29,31]

Can use the full range of common python packages in its scripts (provided they are installed and well known to the AI)

Installation

$ pip install pandora-ai

Usage

Using it with default setting is as minimal as:

from pandora_ai import Pandora

pandora=Pandora(openai_api_key=<your_api_key>) 
# The Open API key can be ommited in the constructor if it exists as an environment variable. 

pandora.interact() # enters a loop of interaction with the console-agent

Yet the Pandora class is designed to be highly configurable and easily integrated in any interface or codebase. Please refer to the full documentation or visit the Streamlit web app here to get a sense of how it can be used in a full setup.

License

This project is licensed. Please see the LICENSE file for more details.

Contributions

Contributions are welcome. Please open an issue or a pull request to suggest changes or additions.

Contact

For any questions or support requests, please contact Baptiste Ferrand at the following address: bferrand.maths@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pandora_ai-0.0.40.tar.gz (37.1 kB view details)

Uploaded Source

Built Distribution

pandora_ai-0.0.40-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file pandora_ai-0.0.40.tar.gz.

File metadata

  • Download URL: pandora_ai-0.0.40.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pandora_ai-0.0.40.tar.gz
Algorithm Hash digest
SHA256 ebdcf1ccb3419126951e00aa29cc120f85f21f74a092f2e4f17691efb710f30a
MD5 d41b3a8efeee2a8a57c7cde48b8d430e
BLAKE2b-256 b40456f7fada4494cebc0c86c310881f1beaa125e96d0042da456d102b04a297

See more details on using hashes here.

File details

Details for the file pandora_ai-0.0.40-py3-none-any.whl.

File metadata

  • Download URL: pandora_ai-0.0.40-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pandora_ai-0.0.40-py3-none-any.whl
Algorithm Hash digest
SHA256 687b49735fecfd41ad8f841fae806adcd3064fc86acaaf082ccfb2f6b81f56f8
MD5 03dedff8d997e9cbfa669843b0e4833c
BLAKE2b-256 63d2d63a8945d81b8d2f9a2251aa87b5a5f4a1358ca41ee7eb8f8ca497cca8f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page