/ChatGPTArms

Giving ChatGPT arms to connect with the world

Primary LanguageTypeScriptMIT LicenseMIT

Introduction - ChatGPT Arms

ChatGPT Arms provides an open source & standardized interface for hooking up ChatGPT with the "Real World", aka API's and third party systems, etc. The "Arms" basically means allowing ChatGPT to interact with the real world and getting data from third party systems other than the trained data. This can be useful in many ways such as looking for the weather to viewing the nearby places in your location. See video intro below to see how this works:

Introductory video on youtube.com

How is this possible?

This project uses what we are calling "Arms", which is just an npm package that anyone can create, the package must implement one method called "processConversation", as the user converses with ChatGPT every arm will get a change to process the conversation using it's own logic, if that arm detects it needs to do something (ex: check the weather) it returns a prompt rather than sending it to chatGPT.

You can see a clear example in the WeatherArm Package by clicking here.

Running on your machine

  1. To get started, install this repository and use an unzipper tool to unzip it.
  2. Locate to the directory and open command prompt or use the cd method in command prompt to locate to the directory.
  3. You need NodeJS to run this project. If you haven't installed it yet, click here to download it for your OS.
  4. Once you've done all that, run this command to install the required packages:
npm install
  1. To create a NextJS build for this project in your machine, run this command:
npm run build
  1. To start the project through localhost, run this command:
npm run start

or

npm run dev

Demo & Other info

Contributing

Fork this repository and create a branch to get started. Commit the changes in the forked repository and submit a pull request. This is still very much a work in progress, I'm looking for contributors to help develop the core package as well as adding "Arms" to the interface.