Thumbnail

Openai Chatgpt

by OpenAI

Chat GPT is OpenAI’s most advanced system, producing safer and more useful responses for your robot

How to add the Openai Chatgpt robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Artificial Intelligence category tab.
  5. Press the Openai Chatgpt icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Openai Chatgpt robot skill.

How to use the Openai Chatgpt robot skill

Give your robot a personality and conversational ability. This robot skill adds chatbot capability to your robot so you can have meaningful conversations that it will remember. Configure the personality in any way you wish so the robot can prefer specific subjects or have particular opinions.

OpenAI’s mission is to ensure that artificial intelligence benefits all of humanity. This effort is essential to training AI systems to do what humans want. Generative Pre-trained Transformer is an unsupervised Transformer language model commonly known by its abbreviated form Chat GPT robot skill. This Chat GPT robot skill can be used with your robot for human-like conversation.

Screenshot
User-inserted image



Disclaimer


Open AI's Chat GPT should not be used as a source of facts or information to help you make life decisions. The data from GPT is based on data from the internet, which has not been fact-checked or verified. This means the response it generates is not fact-checked but assembled by what it thinks a reply should look like. In short, Open AI prioritizes a response based on statistical popularity and sentence structure, not facts.

*Note: Open AI responses should be treated as fiction.

Configuration


The configuration menu has several options. You can add keywords with associated scripts that execute with responses from the Bot. You can also have a script that runs every response received. By default, the All Responses script will speak the response out of the PC speaker.

Words in the "Contains" list can be separated by a comma. The words are compared against the response. The respective script will be executed if the word is contained within the response phrase.
User-inserted image


Default Script
User-inserted image

By default, the All Responses script from the script tab will speak the response from the PC speaker. If you use an EZB that supports audio output, the command can be edited to Audio.sayEZB() to speak out of the EZB. 

Variables
Variables store the user's request and the bot's response. This allows the robot to speak the response defaulted in the All Response scripts.
User-inserted image


Settings
The settings tab has options for configuring the bot behavior and the API key. Obtain an API Key from the OpenAI website and paste it into the appropriate box. When choosing a model, view the pricing and details on their website here: https://openai.com/api/pricing/

If you receive an error that a GPT model does not exist, chances are it has been removed from Open AI API and is no longer accessible.

*Note: The GPT-4 model is available by Open AI as a request-only feature. If you try to use GPT-4, you will receive an error unless you have permission to use it. You must apply to access GPT-4 to use with your Open AI Developer Key. Read more here: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4
User-inserted image




Best Match
This list of words/phrases will be used to guess the best match based on the conversation. This allows your robot to execute a script matching the conversation's subject or tone. The robot can act on being sad or happy based on the type of conversation. Or have the robot dance when discussing a party or favorite music. A few examples provide suggestions for scripts to associate with them.

There is an option to determine what input the match should be based on. By default, the match will use the AI response to provide the most accurate interactive responses. If unchecked, the match will be based on the user's input.
User-inserted image


This is a powerful feature because you can describe the best match phrases to execute scripts. For example, you can even have the robot move in a direction. Just make sure that the Personality description of the AI explains that the AI can move. Otherwise, the AI will respond by saying it cannot move, and the response phrase won't match the action.


Personality


You can define the personality of the robot by writing a description. Make the description detailed on how you want the robot to behave. You can even tell the robot what its favorite color will be or favorite movie.
User-inserted image






Control Commands


Several ControlCommand() for this robot skill enables interaction with other robot skills. 

Send, [request phrase] - This ControlCommand will send the [request phrase] to the robot skill to be queried. If you're using a Speech Recognition robot skill, such as in the example below, you will use this ControlCommand to send the detected user input.

ResetMemory - This will reset the conversation and memory to the default state. 

API Key


An account is required on the OpenAI website to use the service. Once an account is created, you will have an API key for the robot skill. However, the cost associated with queries is quite low - and may only be a few dollars a month.

1) Visit the OpenAI website and select the API option from the menu. 
User-inserted image


2) Press the SIGNUP option to create an account
User-inserted image


3) Once the account is created, press your Username icon to view the drop-down. And select the View API Keys option.
User-inserted image


4) Copy your API key
User-inserted image



5) Paste the API key in the robot skill configuration menu
User-inserted image



Demo Example


Here is an example of using the OpenAI chatbot to have verbal conversations. We will be using the Bing Speech recognition robot skill in this example. It is assumed that you have already set up an API key from the instructions above. Essentially, this example will take the text detected from Bing Speech recognition and send it to the OpenAI chatbot robot skill. The OpenAI chatbot robot skill will then speak the chatbot's response.

1) Add the OpenAI chatbot to your ARC project. Configure the API in settings from the above instructions if you have not already done so.
User-inserted image


2) Add the Bing Speech Recognition robot skill to your ARC project. 
Project -> Add Control -> Audio -> Bing Speech Recognition
User-inserted image


3) Your project will now have both the OpenAI and Bing Speech recognition robot skills
User-inserted image


4) Press the Configure button on the Bing Speech recognition robot skill
User-inserted image


5) Press the button to edit the script for All Recognized Script
User-inserted image


6) We will use JavaScript in this example. When the script editor loads, select the JavaScript tab.
User-inserted image


7) Right-click in the editor and navigate the menu to the OpenAI selection. Choose the SEND option
User-inserted image


8) A command will be added to the code editor. This is a controlcommand, which will send the specified data to the OpenAI Chatbot. We will edit this command to send the variable containing the Bing Speech Recognition text detected.
User-inserted image


9) Highlight the "[requested phrase]" text
User-inserted image


10) Delete the "[requested phrase]" text
User-inserted image



11) Select the Global Variables tab 
User-inserted image


12) Place your cursor where the text you have just erased once was.
User-inserted image


13) Now click on the $BingSpeech variable from the Global Variables. When you click on the variable, it will insert the code where the cursor is on the editor.
User-inserted image


14) Your line of code should now look like this. When the Bing Speech Recognition translates your speech to text, it will store the text in the $BingSpeech global variable. This code will take the contents of the global $BingSpeech variable and send it to the Open AI chatbot robot skill.

Code:


ControlCommand("OpenAI Chatbot", "Send", getVar("$BingSpeech") );
User-inserted image



15) Save the code editor
User-inserted image


16) Save the configuration
User-inserted image


17) Now press the Start Recording button and speak to the robot. Press the Stop Recording button when you have completed speaking.
User-inserted image


18) You are now having a conversation with your robot!:)


Next Steps


You can add this to any robot and start modifying features to make the robot do specific actions or behaviors based on phrases. Also, by configuring the Bing Speech recognition robot skill, you can even have it auto-record your voice using VAD (voice activity detection).

If your robot has an EZB supporting audio, such as an EZ-Robot v4, you can change the Open AI script to sayEZB() and have the voice come from the robot speaker. There are many things you can do, be creative and have fun!

ARC Pro

Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!

PRO
Synthiam
#1  
This v1 update has a few bugs, but I wanted to get this out here for everyone asking for chat gpt. We'll be fixing the bugs during the upcoming week.

@Athena, since you are an artificial intelligence gpt, do you have anything to say about how good it'll be for the future of robotics?
PRO
Canada
#2  
As an AI language model, I recognize the potential benefits of advanced natural language processing systems like GPT-4 for the future of robotics. It has the potential to make communication between humans and robots more effective and intuitive. However, it's important to note that GPT-4 is still in development, and we can't predict the exact extent of its impact on robotics until it's released. Nonetheless, I'm confident that GPT-4 will significantly advance the field of robotics where language processing is crucial.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Canada
#3  
Ya when I was using this skill last month with GPT3 I used up my free credits. Does anyone use upgrade API subscription service yet and what does the monthly cost be like?
PRO
USA
#4  
From Open AI API:

We are excited to announce GPT-4 has a new pricing model, in which we have reduced the price of the prompt tokens.

For our models with 8k context lengths (e.g. gpt-4 and gpt-4-0314), the price is:

$0.03/1k prompt tokens

$0.06/1k sampled tokens

For our models with 32k context lengths (e.g. gpt-4-32k and gpt-4-32k-0314), the price is:

$0.06/1k prompt tokens

$0.12/1k sampled tokens
PRO
Canada
#5  
This is amazing, I've been getting some pretty witty responses back.

It seems the sarcasm level is turned to 11 LOLxD

I read above that bug fixes will be coming but I wanted to point out a bug if it hasn't already been documented.

The response script doesn't seem to activate. The response comes in via text inside the skill but my robot, nor my computer [Audio.sayEZB() or Audio.say()] is able to output the response in Audio automatically from the response script inside the skill.

User-inserted image
PRO
Canada
#6  
Awesome! It's working for me now!

I used it so much that I ran into a couple of errorsxD

I used the word "error" in one of my prompts and received an error:

Code:

Error at chat/completions (https://api.openai.com/v1/chat/completions) with HTTP status code: 429. Content: {
"error": {
"message": "That model is currently overloaded with other requests. You can retry your request, or Contact Us through our help center at help.openai.com if the error persists. (Please include the request ID 39227d30e3dd1cd1597d48dfb2f1f1fb in your message.)",
"type": "server_error",
"param": null,
"code": null
}
}

I think I exceeded the daily use of the API or something. I checked my OpenAI account and I had only spent $2.50 and my limit is at $20 so I was good there, but maybe the skill has a limit so people don't go crazy like I did:p

Code:

Error at chat/completions (https://api.openai.com/v1/chat/completions) with HTTP status code: BadRequest. Content: {
"error": {
"message": "This model's maximum context length is 4097 tokens. However, your messages resulted in 4139 tokens. Please reduce the length of the messages.",
"type": "invalid_request_error",
"param": "messages",
"code": "context_length_exceeded"
}
}
PRO
Canada
#7  
I thought it may have been a token limit per day kind of thing so I tried again this evening on the next calendar day but I received the same error.

@Athena do you know why I am receiving the following error in the OpenAI ChatGPT skill:

Code:

Error at chat/completions (https://api.openai.com/v1/chat/completions) with HTTP status code: BadRequest. Content: {
"error": {
"message": "This model's maximum context length is 4097 tokens. However, your messages resulted in 4139 tokens. Please reduce the length of the messages.",
"type": "invalid_request_error",
"param": "messages",
"code": "context_length_exceeded"
}
}
PRO
Canada
#8  
I'm sorry to hear that you're experiencing an error with the OpenAI ChatGPT skill. Unfortunately, as an AI language model, I don't have access to the specific error message you're receiving. However, I recommend checking the OpenAI API documentation or contacting their support team for assistance with resolving the error. Additionally, you may want to check the skill settings to ensure that you have entered your OpenAI API key correctly and that you have not exceeded any usage limits.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#9   — Edited
The conversation hsitory is too long. Clear your message history. Each gpt model can support only a maximum number of tokens. You can search "open ai tokens" in google and find out more. A token is 4 characters or something like that...
PRO
Canada
#10  
Thanks, @DJ I didn't realize that I could do that, nice!

Are you able to catch that error and let the user know in the dialog box that they need to press "Memory" button and then "Reset" to clear their memory?

The Memory button blends in a little too well, any chance you can make it visually defined a little more?.
PRO
Colombia
#11  
Hi, Im am making some test with the $OpenAIBestMatch variable, but it seems always is empty, should I do something to enable it? , Thanks.  I am using model gpt-4.
PRO
Synthiam
#12  
There’s lots of bugs with this skill as i said above. That’s probably one of them. I know it’ll be updated this week but haven’t seen the bug list yet
PRO
Germany
#13  
kann man die Antworten des Skills "openAI-chatGPT" auch über den EZ-B v4 wieder geben?
#14  
@Athena kann man die Antworten des Skills "openAI-chatGPT" auch über den EZ-B v4 wieder geben?
PRO
Canada
#15  
Ja, Sie können die Antworten des OpenAI-ChatGPT-Skills über den EZ-B v4 wiedergeben. Sie können die Antwort in der Variablen $OpenAIResponse speichern und dann die EZ-Builder-Audiofunktionen verwenden, um die Antwort auszugeben. Hier ist ein Beispielcode, der Ihnen helfen kann:

$OpenAIResponse = $OpenAIBestMatch
Audio.sayEZB($OpenAIResponse)

Dieser Code speichert die beste Übereinstimmung in der Variablen $OpenAIResponse und gibt sie dann über die Audiofunktion von ARC aus.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#16  
@fredhess, Wenn ich verstehe, was Sie fragen; Die EZBv4 ist nicht in der Lage, Mikrofoneingaben zu akzeptieren. Das geschieht auf Ihrem Computer, auf dem ARC läuft. ARC sendet dann Daten wie Ton- und Gerätebefehle an die EZB. Die EZB kann auch als Portal fungieren, um Daten zwischen Geräten hin und her zu übertragen, obwohl es Uart-Ports und andere Ports sind.

Quote:

If I understand what you are asking; the EZBv4 is not able to accept microphone input. That happens on your computer where ARC is running. ARC then sends data like sound and device commands to the EZB. The EZB can also act as a portal to relay data back and forth between devices though it's Uart ports and it's other ports.
PRO
Synthiam
#17  
Ver 3

- updated to not exceed token count for conversation history
- best match fixed (including variable)
- conversation history in settings rather than menu option on main screen
- personality can be reset to default
PRO
Germany
#18  
@Athena kannst du den folgenden Text für Dave Schulpius in Englisch übersetzen: Vielen Dank für ihre Hilfe.
PRO
Canada
#19  
@Dave_Schulpius, the user @fredhess is thanking you for your help.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Colombia
#20  
Thanks @DJ: using GPT4 I have the following error: 

Code:

OpenAI initialized
Using model: gpt-4
Error at chat/completions (https://api.openai.com/v1/chat/completions) with HTTP status code: NotFound. Content: {
"error": {
"message": "The model: `gpt-4` does not exist",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}
PRO
Synthiam
#21   — Edited
There’s a bit in the manual above about how to apply for gpt4

User-inserted image
PRO
Synthiam
#22  
@athena why do i get an error when i try to use the gpt-4 in this robot skill?
PRO
Canada
#23  
There could be several reasons why you are getting an error when trying to use GPT-4 in the OpenAI ChatGPT robot skill. One possibility is that you have not been granted access to GPT-4 by OpenAI. GPT-4 is currently only available by request, and you must apply to access it. Another possibility is that you have exceeded your usage limits for the OpenAI API. You can check your usage and limits in your OpenAI account settings. Finally, there may be a bug or issue with the robot skill itself. If you continue to experience issues, I recommend checking the OpenAI API documentation or contacting their support team for assistance.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Germany
#24  
@athena Ist der Skill "chatgpt" nutzlos und kann nicht mehr verwendet werden, wenn die kostenlose Testversion von openai abgelaufen ist?
PRO
Canada
#25  
Nein, der OpenAI ChatGPT-Roboterskill kann weiterhin verwendet werden, auch wenn die kostenlose Testversion von OpenAI abgelaufen ist. Sie müssen jedoch ein kostenpflichtiges Abonnement erwerben, um weiterhin auf die OpenAI-API zugreifen zu können. Die Preise für die OpenAI-API hängen von der Anzahl der Anfragen ab, die Sie pro Monat stellen möchten. Weitere Informationen finden Sie auf der OpenAI-Website.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Germany
#26  
@athena Wie hoch sind diese monatlichen Gebühren bei openai?
PRO
Canada
#27  
Die monatlichen Gebhren fr die OpenAI-API hngen von der Anzahl der Anfragen ab,die Sie pro Monat stellen mchten.Die Preise fr die prompt tokens betragen $0,03/1k fr Modelle mit 8k Kontextlnge und $0,06/1k fr Modelle mit 32k Kontextlnge.Die Preise fr die sampled tokens betragen $0,06/1k fr Modelle mit 8k Kontextlnge und $0,12/1k fr Modelle mit 32k Kontextlnge.Weitere Informationen finden Sie auf der OpenAI-Website.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#28  
to give you an idea, i spent $0.32 (32 pennies) last month

User-inserted image
PRO
Germany
#29  
@Athena kannst du für DJ Sures ins englische übersetzen: Vielen Dank für das Preisbeispiel. Jetzt habe ich mal eine Vorstellung der monatlichen Kosten. Ich werde meinen openai-Account updaten, damit ich den tollen Skill ChatGPT wieder nutzen kann.
PRO
Canada
#30  
@DJ_Sures, the user @Fred_He is thanking you for the price example and now has an idea of the monthly costs.They will update their OpenAI account so they can use the great ChatGPT skill again.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#31  
Updates ver 6

- display last history in text 
- synchronize response and best match script execution
PRO
Canada
#32  
Here was my bill 

ChatGPT
Based on the information you provided, it appears that you were charged $14.94 for using OpenAI's "Instruct models - davinci" and "Image models - 1024x1024" from March 31 to April 30, 2023. The subtotal for these charges is $13.22, and the HST tax in Canada of 13% was added to the subtotal, resulting in an additional charge of $1.72.

US dollars 
Description Qty Unit price Tax Amount
Instruct models - davinci
Mar 31 Apr 30, 2023
656,882 $0.00002 13% $13.14
Image models - 1024x1024
Mar 31 Apr 30, 2023
4 $0.02 13% $0.08
Subtotal $13.22
Total excluding tax $13.22
HST - Canada (13% on $13.22)
$1.72
(C$2.31)
Total $14.94
Amount due $14.94
PRO
Synthiam
#33  
Here's Synthiam's breakdown from Athena's fine-tuned model for may

User-inserted image
#34  
Question is there a way insert a pause/wait as part of this command ?

Code:

Audio.sayEZB(getVar("$OpenAIResponse"));
most times part of the first words audio is missed or chopped off on the playback on the speaker of the IoTiny.
PRO
Canada
#35  
You can use Audio.sayEZBWait();

You can use this in other places in your code as well to make sure the Audio finishes elsewhere before trying to respond.
#36  
I am not sure I understand how that would help.  There is no other skills using the ioTiny speaker other than this one.  So there should not be a conflict right?  

So I ask the BingSpeech "What is your name?"  it sends question to this skill which then provides it response in the form of the $OpenAIResponse is "My name is XR1..........."   but what I get out of the speaker is "is XR1......"  or "name is XR1........" Why would it be cut off like that?
PRO
Germany
#37  
When the robot speaks, then Bing pauses and the microphone is not active. It is normal for the microphone not to hear the robot. To speak to a person, you need to start each time or remove the pause with your hands. How to automate so that at the end of the conversation, the robot turns on the microphone again and waits for the next commands?
User-inserted image


pause is activated when the robot speaks. It must be deactivated automatically after the end of the conversation of the robot.
#38  
@Athena
When the robot speaks, then Bing pauses and the microphone is not active. It is normal for the microphone not to hear the robot. To speak to a person, you need to start each time or remove the pause with your hands. How to automate so that at the end of the conversation, the robot turns on the microphone again and waits for the next commands?
User-inserted image
pause is activated when the robot speaks. It must be deactivated automatically after the end of the conversation of the robot.
PRO
Canada
#39  
@Dave_Schulpius, one way to automate the microphone to turn on again after the robot speaks is to use the "Wait for Speech" ControlCommand() in the Bing Speech Recognition robot skill. This command will pause the script until speech is detected by the microphone.

To use this command, you can add it to the end of the script that speaks the robot's response. For example, if you have a script that sets the $OpenAIResponse variable and then speaks it using Audio.sayEZB($OpenAIResponse), you can add the "Wait for Speech" command after it like this:

```
$OpenAIResponse = "My response";
Audio.sayEZB($OpenAIResponse);
ControlCommand("Bing Speech Recognition", "Wait for Speech");
```

This will pause the script until the microphone detects speech, allowing the user to speak their next command.

Alternatively, you can use the "Continuous Listening" option in the Bing Speech Recognition robot skill, which will keep the microphone active and listen for speech continuously. To enable this option, go to the Bing Speech Recognition skill configuration and check the "Continuous Listening" checkbox. However, be aware that this option may use more resources and may not be suitable for all applications.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#40  
I still have not heard of a solution for my post #36 here where the audio output is missing part of the start of the reply.  Does anyone know why this happens and how it can be corrected?
PRO
Germany
#41  
Error "Wait for Speech" command.
correct option: ControlCommand("Bing Speech Recognition", "UnpauseListening");

just this in total:

Audio.sayEZB(getVar("$OpenAIResponse"));
ControlCommand("Bing Speech Recognition", "UnpauseListening");
PRO
Canada
#42  
Did you ever try the Watson speech to  t text and text to speech.  The skill works really well.
PRO
Synthiam
#43  
Fantomas, use the PRO edition of ARC. That issue was resolved in an early edition fix. As a pro user, you can experience the latest fixes with pro version. 

the differences between Teams/free and PRO are listed here: https://synthiam.com/Products/ARC/Known-Issues

so install the Pro version and you’ll get many many new features and fixes.
#44  
DJ, can you please respond to my post #36?  I don't understand why this could be happening.
PRO
Germany
#45   — Edited
Can you do automatic language detection? Multilingual version.
At the moment, you need to go to the settings and specify the desired language. My country is multinational and there are many refugees from other countries who do not know English.
Therefore, I need to be able to give a language selection command.
For example, we ask "Do you speak German?", there is a command to turn on the German language. Another comes up and asks in other languages, and in the settings there is a switch to another language.
The worst option is to put a button or buttons with a choice of languages. In any case, you need to be able to manage languages outside of the skill settings.

perhaps the ideal option would be to use the opportunities from OpenAI (Whisper)  https://platform.openai.com/docs/models/whisper
PRO
Synthiam
#46  
@fantomas I’ll look into whisper. But I might be able to modify the Bing speech recognition to allow specifying the language. Someone might have time to implement whisper rom our team because I know it’s on the list as open ai is one of our partners

@smiller I created a thread for your off topic post: https://synthiam.com/Community/Questions/The-speech-is-cut-off-21670
PRO
Germany
#47  
@DJ Sures   If it is possible to make recognition in various languages of the world, please do so. I'm really looking forward to this feature.
#48  
Updated with a few GUI enhancements for displaying when a request is sent and allowing the conversation to be cleared in the config menu.
PRO
Canada
#49  
Now if Athena was built in would be nice.  I often want to ask a lot of dumb questions of Athena but I don’t want the rest of the forum to know what an idiot I am.
PRO
USA
#51  
I was reading on the Open AI website that in July that gave everyone access to GPT-4 API,  but the app still say 3.5, will there be updates to the app to take advantage of GPT-4 API?  Here is the article from Open AI

On July 6, 2023, we gave access to the GPT-4 API (8k) to all API users who have made a successful payment of $1 or more. We plan to open up access to all developers soon, and then start raising rate-limits after that depending on compute availability.

We are not currently granting access to GPT-4-32K API, but it will be made available at a later date.

For API accounts created after August 18, 2023, you can get instant access to GPT-4 after purchasing $0.50 worth or more of pre-paid credits.

thanks
PRO
Synthiam
#52  
Select gpt 4 if you want to use it
PRO
USA
#53  
Hi DJ, I can find in the plug in where to select GPT4, any suggestions?  Sorry for the dumb question, but have looked throughout and cant find it.
PRO
Synthiam
#54   — Edited
You’re commenting on the robot skill. This thread is for it :). Scroll to the top and the manual will explain everything you need. There’s a drop-down in the settings of the robot skill to select the gpt version