GPTs Works is a Third-party GPTs store.
This project consists of the following three parts👇
- Website
code located in the web
directory.
you can view a live demo at: https://gpts.works
- 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
- Browser Extension
code located in the extension
directory.
browser extension is used to show Third-party GPTs beside ChatGPT Explore page.
- Vercel: used for deploying website
- Vercel Storage Postgres: used for storing data.
- Zilliz Cloud: used for vector storing and searching
git clone https://github.com/all-in-aigc/gpts-works.git path-to-project
- 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
);
- insert your own GPTs data into your postgres database
- 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"
- install dependencies
pnpm install
- start web server
make dev
- preview website
open http://localhost:8067
- 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
- install dependencies
pip install -r requirements.txt
- start api server
make dev
- build index for gpts data
curl -X POST -H "Authorization: Bearer gsk-xxx" http://127.0.0.1:8068/gpts/index
- 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
goto path-to-project/extension
- install dependencies
pnpm install
- start server
make dev
- debug extension
open chrome://extensions/
, click Load unpacked
- GPTs Hunter for sharing gpts-data
- next.js for web deployment
- fastapi for building index system
- plasmo for browser extension development
if this project is helpful to you, buy me a coffee😄