bryanwills / OpenCopilot

πŸ€– πŸ”₯ AI Copilot for your own SaaS product. Open source AI sidekick for everyone.

Home Page:https://opencopilot.so

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub Contributors GitHub Last Commit GitHub Issues GitHub Pull Requests Github License Discord

image

Documentation available here


πŸ”₯ OpenCopilot [early beta]


OpenCopilot allows you to have your own product's AI copilot. It integrates with your underlying APIs and can execute API calls whenever needed. It uses LLMs to determine if the user's request requires calling an API endpoint. Then, it decides which endpoint to call and passes the appropriate payload based on the given API definition.

How does it work?

  • Provide your API/backend definition, including your public endpoints and how to call them. Currently, OpenCopilot supports Swagger OpenAPI 3.0. We're also working on a UI to allow you to dynamically add endpoints.
  • OpenCopilot validates your schema to achieve the best results.
  • We feed the API definition to an LLM.
  • Finally, you can integrate our user-friendly chat bubble into your SaaS app.
UMkb8x7Z0b8b55IW6QwYh4iRjY.mp4

(In this example, the user was able to add a new fish to the store just by text commands)

πŸš€ Getting Started

  • Make sure you have docker installed.

  • To begin, clone this Git repository:

git clone git@github.com:openchatai/OpenCopilot.git
  • Update the .env file located in the llm-server directory with your OPENAI_API_KEY. You can use the .env.example file as a reference:
OPENAI_API_KEY=YOUR_TOKEN_HERE
MYSQL_URI=mysql+pymysql://dbuser:dbpass@mysql:3306/opencopilot

make install

This will install the necessary dependencies and set up the environment for the OpenCopilot project.

Once the installation is complete, you can access the OpenCopilot console at http://localhost:8888


If needed, you can also restart the local setup using:

make restart

Also, you can see the complete list of commands using

make help

Try it out:

You can try it out on opencopilot.so

final.1.mp4

Watch this video from Shopify:

IMAGE ALT TEXT (OpenCopilot is not affiliated with Shopify, and they do not use OpenCopilot, it's just a demo of what copilots are capable of)

AI Copilot: a growing trend

Our goal is to empower every SaaS product with the ability to have their own AI copilots tailored for their unique products.

🏁 What OpenCopilot can and can't do now?

  • It is capable of calling your underlying APIs.
  • It can transform the response into meaningful text.
  • It can automatically populate certain request payload fields based on the context.
    • For instance, you can request actions like: "Initiate a new case about X problem," and the title field will be automatically filled with the appropriate name.
  • It is not suitable for handling large APIs (you will need to write JSON transofrmers to make it work, refer to the docs for more)

πŸ›£οΈ Roadmap:

  • Create unlimited copilots.
  • Embed the copilot on your SaaS product using standard JS calls.
  • TypeScript chat bubble.
  • Provide Swagger definitions for your APIs.
  • Swagger definition validator + recommender.
  • UI endpoints editor.
  • Chat memory.
  • Vector DB support for large Swagger files.
  • Plugins system to support different types of authentications.
  • Offline LLMs.
  • Ability to ingest text data, PDF files, websites, and extra data sources.

We love hearing from you! Got any cool ideas or requests? We're all ears! So, if you have something in mind, give us a shout!

Important links

This project follows the all-contributors specification. Contributions of any kind are welcome!

About

πŸ€– πŸ”₯ AI Copilot for your own SaaS product. Open source AI sidekick for everyone.

https://opencopilot.so

License:MIT License


Languages

Language:TypeScript 63.4%Language:Python 31.6%Language:CSS 2.8%Language:Makefile 0.8%Language:JavaScript 0.6%Language:Dockerfile 0.3%Language:HTML 0.2%Language:Mako 0.1%Language:Shell 0.1%Language:Rust 0.1%