Metadata-Version: 2.1
Name: askGPT
Version: 0.3.4
Summary: askGPT is a simple command line tool for interacting with OpenAI's API.
Home-page: https://www.github.com/meirm/askGPT.git
Author: Meir Michanie
Author-email: Meir Michanie <meirm@riunx.com>
License: MIT
Project-URL: Homepage, https://github.com/meirm/askGPT
Project-URL: Bug Tracker, https://github.com/meirm/askGPT/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

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.
