OpenAI GPTs
OpenAI GPTs allow you to create personalized ChatGPTs by mixing special instructions, additional knowledge, and a range of skills. This is very useful for making custom AI models. However, only OpenAI Plus subscribers can use these custom GPTs through the ChatGPT app.
Runbear simplifies bringing custom GPTs into other services like Slack or Discord.
Pricing for OpenAI Assistants varies from the ChatGPT Plus Plan, as charges are based on usage. For more information, please refer to the OpenAI Pricing. To review your current usage plans and limits, visit the OpenAI Billings and OpenAI Limits pages.
Importing OpenAI GPTs to Runbear
There are two ways to import GPTs.
Using the Bookmarklet
-
Display your Bookmarks Bar. For example, you can display Google Chrome's Bookmarks Bar by selecting the menu
View > Always Show Bookmarks Bar
from the menu bar. -
Drag this link (GPTs ➜ Runbear) to your bookmarks bar.
-
Go to chatgpt.com and open the GPTs you want to convert to an Assistant.
-
Click the Import GPTs button in your bookmarks bar.
Using the Address Bar
- Copy the following code:
if("chatgpt.com"===window.location.hostname&&window.location.pathname.startsWith("/g/")){const t=window.location.pathname.split("/")[2].substring(0,11),e=Object.fromEntries(document.cookie.split("; ").map((t=>t.split("="))))._account;document.body.outerHTML='<body style="background-color: #1E1E1E; display: flex; justify-content: center; align-items: center;">\\n<article style="display: flex; flex-direction: column; align-items: center; row-gap: 0.5rem;">\\n<img src="APP_URL/apple-icon.png" width="180" height="auto" />\\n<div\\n style="display: flex; align-self: flex-start; align-items: center; column-gap: 0.25rem; padding-left: 0.25rem; padding-right: 0.25rem;">\\n <img src="APP_URL/images/slack/spinner.png" width="32" height="32" />\\n <p>\\n <span id="status" style="flex: 1 1 0%; color: rgb(255 255 255);">Initiating</span>\\n <span id="dots">.</span>\\n </p>\\n</div>\\n</article>\\n</body>';const n=document.getElementById("status"),i=document.getElementById("dots"),o=setInterval((()=>{i.textContent=i.textContent.length<3?i.textContent+".":"."}),500);void fetch("https://chatgpt.com/api/auth/session").then((t=>t.json())).then((n=>fetch(`https://chatgpt.com/backend-api/gizmos/${t}?draft=true`,{headers:{authorization:`Bearer ${n.accessToken}`,"Chatgpt-Account-Id":e}}).then((t=>{if(!t.ok)throw new Error("Unable to retrieve GPTs data. This function is limited to GPTs that you own.");return t.json()})).then((t=>({session:n,body:t}))))).then((({session:i,body:o})=>o.files.length<=0?o:(n.textContent="Loading Files",Promise.all(o.files.map((n=>fetch(`https://chatgpt.com/backend-api/files/${n.file_id}/download?gizmo_id=${t}`,{headers:{authorization:`Bearer ${i.accessToken}`,"Chatgpt-Account-Id":e}}).then((t=>t.json())).then((t=>({...n,body:t})))))).then((t=>(o.files=t,o)))))).then((t=>{n.textContent="Transferring GPT to Runbear";const e=document.createElement("form");e.setAttribute("method","post"),e.setAttribute("action","APP_URL/api/apps/import/gpts?ver=3.1");const s=document.createElement("input");s.setAttribute("type","hidden"),s.setAttribute("name","name"),s.setAttribute("value",t.gizmo.display.name);const a=document.createElement("input");a.setAttribute("type","hidden"),a.setAttribute("name","instructions"),a.setAttribute("value",t.gizmo.instructions);const r=document.createElement("input");r.setAttribute("type","hidden"),r.setAttribute("name","description"),r.setAttribute("value",t.gizmo.display.description);const l=document.createElement("input");l.setAttribute("type","hidden"),l.setAttribute("name","tools"),l.setAttribute("value",JSON.stringify(t.tools));const c=document.createElement("input");c.setAttribute("type","hidden"),c.setAttribute("name","files"),c.setAttribute("value",JSON.stringify(t.files)),e.appendChild(s),e.appendChild(a),e.appendChild(r),e.appendChild(l),e.appendChild(c),document.body.appendChild(e),e.submit(),clearInterval(o),i.textContent="",n.textContent="Redirecting to Runbear"})).catch((t=>{alert("Error fetching GPT. "+t.message),window.location.reload()})).finally((()=>clearInterval(o)))}else alert("Please open a GPTs app in chatgpt.com to import it.");
- Go to chatgpt.com and open the GPTs you want to convert to an Assistant.
- In the address bar, type
javascript:
. Then, paste the copied code next to it. - Press enter and wait to import the GPTs.
Getting OpenAI API Key
You need to get or create the OpenAI API key to integrate OpenAI Assistants.
- Visit the OpenAI API keys page and click the
Create new secret key
button. - Click the
Create secret key
button on the dialog to create one. - Copy the created key to use it later.
Selecting Models
Select the model to use. (e.g., gpt-4-1106-preview
) You can find the details about each model at the OpenAI Models page.
What's Next
Connect the app you added to communication channels. Check Connecting Channels with LLM Apps for more details. Or, continue reading to learn how to utilize Tools.