GPTs Works
GPTs Works 是一个第三方 GPTs 商店。
简介
该项目由以下三个部分组成👇
- 网站
代码位于 web
目录中。
你可以在这里查看在线演示:https://gpts.works
- 索引系统
代码位于 index
目录中。
索引系统用于使用向量搜索 GPTs。
这里有一个使用索引系统构建的 GPTs:https://chat.openai.com/g/g-EBKM6RsBl-gpts-works
- 浏览器扩展
代码位于 extension
目录中。
浏览器扩展用于在 ChatGPT 探索页面旁边显示第三方 GPTs。
依赖
- Vercel:用于部署网站
- Vercel Storage Postgres:用于存储数据
- Zilliz Cloud:用于向量存储和搜索
使用 Vercel 部署
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fall-in-aigc%2Fgpts-works&env=POSTGRES_URL,INDEX_API_BASE_URI,INDEX_API_KEY&envDescription=在设置 POSTGRES_URL 值之前,请先创建你的 Vercel Postgres 数据库。&envLink=https%3A%2F%2Fgithub.com%2Fall-in-aigc%2Fgpts-works%3Ftab%3Dreadme-ov-file%23dependencies&project-name=my-gpts-works&repository-name=my-gpts-works&redirect-url=https%3A%2F%2Fgpts.works&demo-title=GPTs%20Works&demo-description=一个第三方 GPTs 商店。&demo-url=https%3A%2F%2Fgpts.works&demo-image=https%3A%2F%2Fgpts.works%2Flogo.png)
本地开发
克隆项目
git clone https://github.com/all-in-aigc/gpts-works.git path-to-project
准备数据
- 使用以下 SQL 在你的 postgres 数据库中创建表:
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
);
- 将你自己的 GPTs 数据插入到 postgres 数据库中
启动网站
- 在
path-to-project/web
目录中创建一个 .env 文件,内容如下:
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"
- 安装依赖
pnpm install
- 启动 web 服务器
make dev
- 预览网站
打开 http://localhost:8067
启动索引系统
- 在
path-to-project/index
中创建一个 .env 文件,内容如下:
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
- 安装依赖
pip install -r requirements.txt
- 启动 API 服务器
make dev
- 为 gpts 数据构建索引
curl -X POST -H "Authorization: Bearer gsk-xxx" http://127.0.0.1:8068/gpts/index
- 从索引中搜索 gpts
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
启动扩展
进入 path-to-project/extension
- 安装依赖
pnpm install
- 启动服务器
make dev
- 调试扩展
打开 chrome://extensions/
,点击 加载已解压的扩展程序
感谢
- GPTs Hunter 提供 gpts 数据
- next.js 用于 web 部署
- fastapi 用于构建索引系统
- plasmo 用于浏览器扩展开发
如果这个项目对你有帮助,请给我买杯咖啡😄