Package: askai
askaiis a CLI integration with OpenAI's GPT3, enabling you to ask questions and
receive the answers straight in your terminal.❗Other model integrations❗Currently,askaionly supports integration with OpenAI. But as soon as other NLP API-endpoints start popping up, I will work on integrating them as well.InstallationYou can either install it through pippipinstallaskaior directly from the repogit clone git@github.com:maxvfischer/askai.git
cd askai
pip install .Initialize askaiaskaineeds to be initialized to set up the default config and to connect your
OpenAI API key. Note that the key is only stored locally in~/.askai/key.askaiinitCreate OpenAI API-keyForaskaito work, you need to add an OpenAI API-key. When creating an OpenAI account,
they give you $18 to use for free. After that you need to set up a paid account to
continue using their service.During the development and testing of this CLI, I used $0.67.An OpenAI API-key can be created by:Creating an account on OpenAI:https://openai.com/api/Logging in and click onNew API keysClickCreate new secret keyHow to useSimple questionAsk a question using your saved config.askai "<QUESTION>"Override configIt's possible to override the default config by using arguments:askai "<QUESTION>" --num-answers <INT> --model <MODEL_STRING> --temperature <FLOAT> --top_p <FLOAT> --max-tokens <INT> --frequency-penalty <FLOAT> --presence_penalty <FLOAT>ArgumentAllowed valuesDescription--num-answers or -n>0Number of answers to generate. Note that more answers consume more tokens--model or -mSee list belowWhich model to use. See list of available models below.--temperature or -t0.0 <= t <= 1.0What sampling temperature to use. Higher value makes the model more  "creative". Do not use at the same time astop-p.--top-p0.0 <= top_p <= 1.0What sampling nucleus to use. The model considers the results of the  tokens with top_p probability mass. Do not use at the same time astemperature.--max-tokens>0Maximum number of tokens used per question (incl. question + answer)--frequency-penalty-2.0 <= frequency_penalty <= 2.0Positive values penalize new tokens based on whether they appear in the text so  far, increasing the model's likelihood to talk about new topics.--presence-penalty-2.0 <= presence_penalty <= 2.0Positive values penalize new tokens based on their existing frequency in the text  so far, decreasing the model's likelihood to repeat the same line verbatim.Update configIf you find yourself overriding the config a lot when asking questions, you can update the default config instead.Update all config valuesaskaiconfigupdateallUpdate individual config valuesaskaiconfigupdatenum-answers
askaiconfigupdatemodel
askaiconfigupdatetemperature
askaiconfigupdatetop-p
askaiconfigupdatemax-tokens
askaiconfigupdatefrequency-penalty
askaiconfigupdatepresence-penaltyReset to default configaskaiconfigresetSee current configaskai config showUpdate API-keyIt's possible to update the API-key without re-initializing the CLI.Overwrite current API-keyaskai key addRemove current API-keyaskai key removeAvailable modelsThis list was updated from OpenAI's website on 2022-12-20 and might go out of date at any time. Please
checkhereto see an accurate list.Text-generating models--modelDescriptionMax tokenstext-davinci-003The most capable GPT3 model4000text-curie-001Worse than davinci. Still capable and faster2048text-babbage-001Can do straight forward tasks. Very fast2048text-ada-001Capable of very simple tasks. Very fast2048Code-generating models--modelDescriptionMax tokenscode-davinci-002Most capable code-generating model.8000code-cushman-001Almost as capable as davinci, but faster.2048Important notesNote that the answers generated by OpenAI and shown byaskaiis by no means a "truth".
You always need to be skeptical. And of course, don't execute generated commands or code
without verifying that it does what you asked for.