Skip to main content

A simple GPT command line chat interface

Project description

AI Assistant

Test AIssist

AIssist is a simple, but capable command-line-interface (CLI) to chat with OpenAI's cutting-edge AI models.

Install me with pip install aissist. Set the OPENAI_API_KEY environment variable to be your OpenAI API key, then type ai.

Why AIssist?

This library was written to scratch a personal itch. I have found GPT 3.5 to be incredibly useful in my day-to-day coding activities, but also found that having to go to a web browser and interact there was tedious. What I really wanted was a tool that would:

  1. Be accessible from a simple command line prompt (ai)
  2. That single command should open up a shell to interact with ChatGPT, with the system already prompted to respond tersely but helpfully to coding questions
  3. Have chat history accessible with the up arrow
  4. Have syntax highlighting on ChatGPT responses
  5. Have multi-line editing capabilities on multi-line prompts

This library is precisely that.

Installation

Install using pypi with

pip install aissist

There is one required environment variable, OPENAI_API_KEY, which should contain an OpenAI API key. aissist will prompt you if the key is not set or is invalid.

Usage

Invoke the program with ai. Various pieces of configuration can be edited with command-line parameters, list these with ai --help.

Once launched, simply enter a prompt, and hit ESCAPE then ENTER to submit the prompt.

Inside of each session there is a history, and you can use the up arrow to revisit and edit previous prompts.

Here is a simple example

An example of using aissist to write Python

Configuration

On first run, aissist will write a configuration file (.aissist) to your home directory. This file contains a number of configuration options that can be edited. Each configuration option matches precisely to a command-line argument. The orde of precedence for taking an option value is

  1. Command-line argument
  2. .aissist setting
  3. Default setting

Versioning

AIssist follows semantic versioning thus you should expect that:

  • If the patch version is increased, only bugfixes have taken place
  • If the minor version is increased, only additive changes have been made to the program. Your existing workflows will work fine.
  • If the major version is increased, the user may notice backward incompatible changes, or feature deprecations.

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

aissist-0.1.0.tar.gz (109.6 kB view details)

Uploaded Source

Built Distribution

aissist-0.1.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file aissist-0.1.0.tar.gz.

File metadata

  • Download URL: aissist-0.1.0.tar.gz
  • Upload date:
  • Size: 109.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for aissist-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e301200242804aaa0e2025b5b6f89a881d3dc11d8dd190b704dc3e9b56f06fc
MD5 5040faba3514f636955d88285fd92b97
BLAKE2b-256 e3198817b22865fe5043bee09460f9be57ceca6522bf0c328edb3fbdbb4f1e11

See more details on using hashes here.

File details

Details for the file aissist-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aissist-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for aissist-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f40ea7e6f1b9b51245dd4fadb7abab2a88cbc7548bd91b2f99404df957d3931
MD5 770690ace1f39b2dce48c98d0d8ed648
BLAKE2b-256 92781de841e66c8f49ce0e57d13c5bb31ebbf5fc7ebd02dbdac4f256eaf7ef7c

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