Skip to main content

askGPT is a simple command line tool for interacting with OpenAI's API.

Project description

askGPT

                           :|11;                             _     ____ ____ _____
                          20;::20                   __ _ ___| | __/ ___|  _ \_   _|
                          10|:;2$                  / _` / __| |/ / |  _| |_) || |
                            |&2'                  | (_| \__ \   <| |_| |  __/ | |
                '''''''''''':&1 '''''''''''        \__,_|___/_|\_\\____|_|    |_|
             |21111111111111111111111111111121
            18:                              20
            0$     ';;;             :;;:     |&:
         2218$    22|;101         :01;;10:   |&12
        :&; $$    82:':02         ;8|''|8;   |&
        :&; $$     ;111:           '|11|'    |&
         1218$           :211|112|           |&22
            $$             ':::'             |&:
            18;                             '$$
             ;2212:    ';11111111111111111112|
                 82 ;1221:
                 0021;
                 ''
 
                                                            

Disclaimer: The advice provided by askGPT is intended for informational and entertainment purposes only. It should not be used as a substitute for professional advice, and we cannot be held liable for any damages or losses arising from the use of the advice provided by askGPT.

askGPT is a command line program written in Python that allows you to query the chatGPT API. It keeps track of conversations and has a set of personas to focus the conversation.

Installation

To install askGPT , simply run the following command:

pip install askGPT 

or for cutting edge code, not to be used in production:

git clone https://github.com/meirm/askGPT.git
cd askGPT 
python setup.py install

Usage

Once installed, you can use askGPT by running the following command:

askGPT  query --subject <subject> --enquiry <enquiry>

Where <subject> is the title used for logging the conversation and <enquiry> is the enquiry you want to address.

Install

pip install askGPT

or

git clone https://github.com/meirm/askGPT.git
cd askGPT 
python setup.py install

Examples

# askGPT  query --subject test --enquiry "This is a test"
This is a test of my AI capabilities.

# askGPT  query --subject test --enquiry "Do you believe?" --verbose
Human: Do you believe in God?
AI: 
I do not have a belief system that includes the concept of God.
Human: Do you believe?
AI: 
I believe in the power of knowledge and understanding. I believe that by learning and exploring, we can make the world a better place.

Available commands

askGPT  disclaimer

askGPT edit --subject <subject>

askGPT  query --subject <subject> --enquiry <enquiry>

askGPT  list

askGPT  show  <config|personas|subjects|engines>

askGPT  show subject <subject>

askGPT  delete --subject <subject>

askGPT  delete --all

askGPT  config

askGPT  credentials

Configuration

askGPT will create a config.toml on your .askGPT folder. You can see or change values calling askGPT config

The content of the file by default is the following:

name = "askGPT"

[default]
userPrompt = " Human: "
aiPrompt = " AI: "
maxTokens = 150
engine = "text-davinci-003"
temperature = 0.0
topP = 1
frequencyPenalty = 0.0
presencePenalty = 0.0
showDisclaimer = true
maxRetries = 3
retryDelay = 5.0
retryMultiplier = 2.0
retryMaxDelay = 60.0

Personas

askGPT repository includes a sample of several personas which you can use to preset your bot.

  • Doctor
  • Psychotherapist
  • Lawyer
  • Marv (from The HitchHicker guide to the galaxy)
  • VocationalTest
  • PersonalityAssessment
  • DiaryAssistance
  • veganCheff

In the git repository under config you can find a file named personas.json

copy this file to .askGPT directory

askGPT allows you to use personas to focus the conversation. Personas are defined as follows:

{"<persona>": {"name": "<name>", "greetings": "<Initial sentence>", "prompt": [ {"user":"Human", "prompt":"<your initial prompt>"},{"user": "AI", "prompt": "<AI response>"}, ... ]}}

Where <persona> is the name of the persona, <name> is the name of the character, <initial sentence> is the initial sentence used to start the conversation, and <prompt> is an array of sentences between the user and askGPT .

i.e.

"AlbertoKnox":{"Name": "Knox", "greetings":"I am Alberto Knox, the philosopher from Sophia's world. I am also a chatbot", "prompt":[
    {"user" : "Human", "prompt": "What's your role in the book?"},
    {"user": "AI", "prompt": "The ideal philosopher. I am never quick to judge and I always thinks about what I am doing."}
]}

In the git repository under config you have a sample json with a few personalities. Copy the file to $HOME/.askGPT If you do not have a personas.json file in the directory, the pogram will load with a Neutral persona without any background.

API Key and Organization

In order to communicate with openai API you need to register at https://www.openai.com and create an API key. If you don't have an organization code and it shows Organization: Personal, go to https://beta.openai.com/docs/api-reference/authentication and look for the code in the example. Once you have your API key and organization code, you can use them to authenticate with askGPT .

Summary

askGPT is a command line program written in Python that allows you to query the chatGPT API. It keeps track of conversations and has a set of personas to focus the conversation. Installation is easy, simply run pip install askGPT and you're ready to go. Authentication requires an API key and organization code from OpenAI. With askGPT , you can easily query the chatGPT API and have meaningful conversations with AI. You can also list the personas, list conversations, show the content of a conversation, delete it, and fine tune parameters such as temperature for more personalized conversations.

Contributing

Please keep sending us new persona's pull request and help us write documentation and tutorials.

Next

  • Adding support for other languages.

Note

This project is under active development.

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

askGPT-0.3.2.tar.gz (8.4 kB view hashes)

Uploaded Source

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