/gpts-works

A Third-party GPTs store

Primary LanguageTypeScriptApache License 2.0Apache-2.0

GPTs Works

GPTs Works is a Third-party GPTs store.

Introduction

This project consists of the following three parts👇

  1. Website

code located in the web directory.

you can view a live demo at: https://gpts.works

Website

  1. Index System

code located in the index directory.

index system is used for searching GPTs with vector.

there is a GPTs built with index system: https://chat.openai.com/g/g-EBKM6RsBl-gpts-works

GPTs

  1. Browser Extension

code located in the extension directory.

browser extension is used to show Third-party GPTs beside ChatGPT Explore page.

Extension

Dependencies

Deploy with Vercel

Deploy with Vercel

Local development

Clone project

git clone https://github.com/all-in-aigc/gpts-works.git path-to-project

Prepare data

  1. create table in your postgres database with sql:
CREATE TABLE gpts (
    id SERIAL PRIMARY KEY,
    uuid VARCHAR(255) UNIQUE NOT NULL,
    org_id VARCHAR(255),
    name VARCHAR(255),
    description TEXT,
    avatar_url TEXT,
    short_url VARCHAR(255),
    author_id VARCHAR(255),
    author_name VARCHAR(255),
    created_at timestamptz,
    updated_at timestamptz,
    detail JSON,
    index_updated_at INT NOT NULL DEFAULT 0
);
  1. insert your own GPTs data into your postgres database

Start with Website

  1. locate a .env file in dir path-to-project/web with content:
POSTGRES_URL="postgres://default:xxx@xxx.postgres.vercel-storage.com/verceldb"

INDEX_API_BASE_URI="http://127.0.0.1:8068"
INDEX_API_KEY="gsk-xxx"
  1. install dependencies
pnpm install
  1. start web server
make dev
  1. preview website

open http://localhost:8067

Start with Index System

  1. locate a .env file in path-to-project/index with content
DATABASE_URL=postgres://default:xxx@xxx.postgres.vercel-storage.com:5432/verceldb

AZURE_API_KEY=xxx  
AZURE_API_BASE=https://xxx.openai.azure.com/
AZURE_API_VERSION=2023-07-01-preview
AZURE_LLM_MODEL=gpt-35-turbo-16k
AZURE_EMBED_MODEL=text-embedding-ada-002

STORE_TYPE=zilliz
STORE_URI=https://xxx.zillizcloud.com
STORE_TOKEN=xxx
STORE_DIM=1536
STORE_COLLECTION=gpts

INDEX_API_KEY=gsk-xxx
  1. install dependencies
pip install -r requirements.txt
  1. start api server
make dev
  1. build index for gpts data
curl -X POST -H "Authorization: Bearer gsk-xxx" http://127.0.0.1:8068/gpts/index 
  1. search gpts from index
curl -X POST -H "Authorization: Bearer gsk-xxx" -H "Content-Type: application/json" -d '{"question": "What GPTs are used for coding?"}' http://127.0.0.1:8068/gpts/index 

Start with Extension

goto path-to-project/extension

  1. install dependencies
pnpm install
  1. start server
make dev
  1. debug extension

open chrome://extensions/, click Load unpacked

Thanks to

if this project is helpful to you, buy me a coffee😄

Buy Me A Coffee