This repository contains the source code for Jobot, a general purpose, programmable & extensible AI being developed by Jovian, using state of the art machine learning models and APIs. Follow the development of Jobot here: https://howotobuildanai.com
Jobot has (or will soon have) the following abilities:
- ✅ Intelligence (powered by GPT-3.5/4)
- ✅ Skills (preconfigured prompts)
- ⬜️ Hearing (powered by Whisper)
- ⬜️ Speech (powered by Neural2)
- ⬜️ Memory (powered by Databases/Embeddings)
- ⬜️ Creativitiy (powered by DALL-E 2)
- ⬜️ Vision (powered by GPT-4)
Users will also be able to create and publish their own skills (see examples) for various use cases.
Jobot is (or will be) accessible to users in the following ways:
- ✅ Web Application
- ⬜️ REST API
- ⬜️ Discord Bot
- ⬜️ Slack Bot
- ⬜️ WhatsApp Bot
- ⬜️ iOS & Android App
- ⬜️ VS Code Extension
- ⬜️ Voice Assistant
- ⬜️ and much more...
Developers will also be able to build their own applications using Jobot's REST API. Starter templates will be provided for building various types of applications using Jobot.
Jobot uses the following technology stack:
This is not an exhaustive list, please check the source code for a full list of dependencies.
Jobot is completely open-source and we welcome all forms of contributions from the community. Here's how you can contribute to Jobot:
- Report bugs & suggest features by creating an issue
- Fix bugs & add features by opening a pull request
- To show your love for the project, star this repository
- Ask a question or provide suggestions by starting a discussion
- Blog or tweet about the project to help spread the word
Follow these steps to deploy your own copy of Jobot the Vercel:
-
Fork this repostory to get your own copy of the source code
-
Sign up on https://platform.openai.com and generate an Open API Key
-
Sign up on Supabase and set up a new project
- Change Signup & Login Email Templates for your project to the following:
Confirm Signup:
<h2>Confirm your signup</h2>
<p>Enter this code to sign up:</p>
<p>{{ .Token }}</p>
Magic Link:
<h2>Verification Code</h2>
<p>Enter this verification code:</p>
<p>{{ .Token }}</p>
- Create 2 tables
skills
andprofiles
on the Supabase Dashboard with the following columns:
profiles
table:
Name | Description | Data Type | Format |
---|---|---|---|
id | No description | uuid | uuid |
username | No description | character varying | varchar |
first_name | No description | character varying | varchar |
last_name | No description | character varying | varchar |
avatar_url | No description | character varying | varchar |
skills
table:
Name | Description | Data Type | Format |
---|---|---|---|
id | No description | bigint | int8 |
created_at | No description | timestamp with time zone | timestamptz |
updated_at | No description | timestamp with time zone | timestamptz |
user_id | References the users's ID from auth.users | uuid | uuid |
slug | No description | character varying | varchar |
title | No description | character varying | varchar |
description | No description | character varying | varchar |
system_prompt | No description | character varying | varchar |
user_prompt | No description | character varying | varchar |
inputs | No description | jsonb | jsonb |
-
Sign up on Vercel and deploy Jobot's NextJS application
-
Follow these instructions and select
jobot-web
as the root directory -
Make sure to set the following environment variables:
NEXT_PUBLIC_SUPABASE_URL
- Your Supabase Project URLNEXT_PUBLIC_SUPABASE_ANON_KEY
- Your Supabase Anon API keyOPENAI_API_KEY
- Your OpenAI API key
-
-
(Optional) Connect a custom domain (e.g. https://jobot.dev ) to your Vercel project.
After you've deployed your own copy of Jobot, follow these additional steps to develop Jobot:
-
Clone your repository to your computer or open it online using GitHub Codespaces
- If you're developing locally, make sure to install the latest versions of Node.js and Visual Studio Code
-
Open the repository on VS Code, launch the terminal, and run these commands:
cd jobot-web # enter NextJS project npm install # install dependencies npm run dev # run development server
You should now be able to open up the application in a new browser tab and interact with it.
-
Create a file
.env.local
inside thejobot-web
folder and add proper values for the following enviroment variables:NEXT_PUBLIC_SUPABASE_URL=xxx NEXT_PUBLIC_SUPABASE_ANON_KEY=xxx OPENAI_API_KEY=xxx
-
Make any desired code changes and the development server should refresh the application automatically
-
Stage, commit, and push your changes back to the GitHub repository when ready
-
If you've set up a Vercel project, any changes made to the
main
branch of your repository will get pushed automatically
NOTE: If you'd like to contribute your changes back to the original repository https://github.com/jovianhq/jobot, please create a pull request from your fork. We welcome community contributions to Jobot!
Check out our course for a deatailed walkthrough of the codebase: https://howotobuildanai.com
* Jobot can't do "everything" just yet, but it soon will. 😉