/skill-ovos-fallback-chatgpt

Primary LanguagePythonApache License 2.0Apache-2.0

ChatGPT Fallback Skill

When in doubt, ask ChatGPT, powered by OpenAI Solver.

You need to configure a key, get it at https://platform.openai.com/api-keys

Or use a LocalAI (see example below)

About

Capabilities:

  • Remembers what user said earlier in the conversation
  • Trained to decline inappropriate requests

Limitations:

  • May occasionally generate incorrect information
  • May occasionally produce harmful instructions or biased content
  • Limited knowledge of world and events after 2021

Configuration

Under skill settings (.config/mycroft/skills/skill-ovos-fallback-chatgpt.openvoiceos/settings.json) you can tweak some parameters for chatGPT.

Option Value Description
key sk-XXXYYYZZZAAABBB123 Your api_key to access OpenAI API
persona You are a helpful assistant who gives very short but factual answers. Give a personality to chatGPT
model gpt-3.5-turbo LLM model to use, see all the options here
api_url https://llama.smartgic.io/v1 Optional and only required with a local AI server
enable_memory true Remember the last generated outputs
memory_size 15 How many memories to keep
name Chat G.P.T. Name to give to the AI assistant
confirmation true Spoken confirmation will be triggered when a request is sent to the AI

When using a local AI server instead of OpenAI, the api_urlhas to redirect to an alternative/local server compatible with OpenAI API. When using local AI, the key can be anything, but it has to exist. Read more about it in the OVOS technical manual, page persona server

The default persona is You are a helpful voice assistant with a friendly tone and fun sense of humor. You respond in 40 words or fewer.

Configurations

The skill utilizes the ~/.config/mycroft/skills/skill-ovos-fallback-chatgpt.openvoiceos/settings.json file which allows you to configure it.

Configuration for use with OpenAI (ChatGPT)

{
  "key": "sk-XXXYYYZZZAAABBB123",
  "model": "gpt-3.5-turbo",
  "persona": "You are a helpful voice assistant with a friendly tone and fun sense of humor",
  "enable_memory": true,
  "memory_size": 15,
  "__mycroft_skill_firstrun": false
}

Configuration for use with Local AI

{
  "api_url": "https://llama.smartgic.io/v1",
  "key": "sk-xxx",
  "persona": "You are a helpful voice assistant with a friendly tone and fun sense of humor",
  "enable_memory": true,
  "memory_size": 15,
  "name": "A.I.",
  "confirmation": false,
  "__mycroft_skill_firstrun": false
}

Examples

  • "Explain quantum computing in simple terms"
  • "Got any creative ideas for a 10 year old’s birthday?"