type
status
date
slug
summary
tags
category
icon
password
pandoraweb项目介绍
今天我介绍一个部署GPT的项目pandoraweb
- 两套UI任君选择,随意搭配
- 支持设置站点密码
- 支持隔离用户对话(隔离码长度不少于四位)
- 支持老Pandora式的无密码直接访问(见后文配置说明)
- API对话自动保存
- 重定向3.5/4模型
- 携带历史对话(可单独对模型设定、可设置当历史消息数量大于设定数量时,自动携带第一组历史对话)
- 模型
Auth
轮询
- 单独指定模型的网络代理
- 设定内置Prompt
- 隐藏(假删除)对话(默认,可更改)
- 仅OAI(仅支持3.5模型)/API或二者共存运行
- 文生图模型可调用其他文本模型以生成/优化你的绘图Prompt
- 对于某些以二进制文件(Blob对象)作为响应的文生图模型(比如Cloudflare AI),自动保存并转为url输出(若使用了CDN服务,请注意流量消耗)
- 文件上传(支持以Base64编码/Url携带(需公网)、支持类型/大小限制)
- (3月24日)可以本地网络环境使用
Access Token
进行3.5对话,详见后文更新日志0324
部分
如何部署
使用docker部署docker-compose.yml文件
version: '3.8' services: pandoraweb: image: ghcr.io/gavingoo/pandora-web:dev container_name: pandoraweb environment: - PANDORA_SERVER=0.0.0.0:8008 - PANDORA_SITE_PASSWORD=5201314 - PANDORA_HISTORY_COUNT=40 - PANDORA_LOCAL_OPTION=True # - PANDORA_OAI_ONLY=True - PANDORA_FILE_ACCESS=True - PANDORA_GPT35_MODEL=gpt-3.5-turbo - PANDORA_GPT4_MODEL=gpt-4 - TZ=Asia/Shanghai volumes: - ~/pandoraweb:/data ports: - "8008:8008" restart: unless-stopped
上述的环境变量的配置直接看项目地方,注:我设置的是只调用api模型,可以支持反代chatgpt,自行配置。
ps:上述的PANDORA_GPT35_MODE
默认模型可以修改api.json
的任意模型,要和api.json
中的模型对应,这个模型加上后只能对话,不能上传文件,要可以上传文件的配置可以修改PANDORA_GPT4_MODEL
模型,这个模型可以上传模型,前提api
支持上传模型,其他多余的模型会在alpha models
上显示如下图所示
运行上述上述文件后在~/pandoraweb的目录下找到那个pandoraweb文件夹,在文件夹下添加配置api.json文件
{ "glm-4v": { "slug": "glm-4v", "url": "https://open.bigmodel.cn/api/paas/v4/chat/completions", "auth": "<智谱AI Token>", "title": "ChatGLM-4V", "description": "ChatGLM-4V", "upload": true, "file_base64": true, "history_count": 10, "max_tokens": 8191 }, "kimi": { "slug": "kimi", "url": "http://172.17.0.1:8000/v1/chat/completions", "auth": "<Your Refresh Token>", "title": "Kimi", "description": "Kimi", "upload": true, "max_tokens": 8191 }, "glm-4": { "slug": "glm-4", "url": "https://open.bigmodel.cn/api/paas/v4/chat/completions", "auth": "<智谱AI Token>", "title": "ChatGLM-4", "description": "ChatGLM-4", "max_tokens": 8191 }, "gemini-pro": { "slug": "gemini-pro", "url": "https://generativelanguage.googleapis.com/v1/models/gemini-pro:streamGenerateContent?key=<Your Google AI Key>", "title": "Gemini-Pro", "description": "Gemini-Pro", "max_tokens": 8191 }, "gpt-4": { "slug": "gpt-4", "url": "<Your API Url>", "auth": ["鸡", "你", "太", "美"], "prompt": "You use the GPT-4 version of OpenAI’s GPT models.Respond in the following locale: zh-cn.", "title": "GPT-4", "description": "GPT-4", "max_tokens": 8191 } }
配置解释:
slug
: 请求时的模型名(请与键值保持一致)url
: 模型请求的urlauth
: 模型请求的验证头(智谱家的与某模型会自动处理(slug
需包含关键词比如glm
),直接填入你的Key即可)无则不写auth
这个键,比如Gemini。轮询请参照gpt-4
模型填写proxy
: 指定该模型使用的网络代理(优先级最高)(如果使用Docker且网络模式非host,指向本机时请使用172.17.0.1
或内网IP),可设置为""
意味着该模型不走代理prompt
: 你的内置Prompttitle
: 前端页面上的模型显示名称description
: 老Pandora页面上的模型描述history_count
: 设置历史消息的数量,优先级最高upload
: true
启用文件上传,如需以Url携带请配置file_access
参数/PANDORA_FILE_ACCESS
环境变量为True
file_base64
: true
文件以Base64编码max_tokens
: (不知道啥玩意,官方有我也就顺便带上了)- 作者:悟然
- 链接:https://notion.zyqn.site/article/chatgpt
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。