An open API service indexing awesome lists of open source software.

https://github.com/OpenVoiceOS/ovos-skill-fallback-chatgpt


https://github.com/OpenVoiceOS/ovos-skill-fallback-chatgpt

Last synced: 10 months ago
JSON representation

Awesome Lists containing this project

README

          

# ChatGPT Fallback Skill

When in doubt, ask ChatGPT, powered by [OpenAI Solver](https://github.com/OpenVoiceOS/ovos-solver-plugin-openai-persona).

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](https://platform.openai.com/docs/models) |
| `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_url`has 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](https://openvoiceos.github.io/ovos-technical-manual/persona_server/#compatible-projects)

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)**

```json
{
"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

```json
{
"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?"