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部分
notion image

如何部署

使用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上显示如下图所示
notion image
运行上述上述文件后在~/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: 模型请求的url
auth: 模型请求的验证头(智谱家的与某模型会自动处理(slug需包含关键词比如glm),直接填入你的Key即可)无则不写auth这个键,比如Gemini。轮询请参照gpt-4模型填写
proxy: 指定该模型使用的网络代理(优先级最高)(如果使用Docker且网络模式非host,指向本机时请使用172.17.0.1或内网IP),可设置为""意味着该模型不走代理
prompt: 你的内置Prompt
title: 前端页面上的模型显示名称
description: 老Pandora页面上的模型描述
history_count: 设置历史消息的数量,优先级最高
uploadtrue 启用文件上传,如需以Url携带请配置file_access参数/PANDORA_FILE_ACCESS环境变量为True
file_base64true 文件以Base64编码
max_tokens: (不知道啥玩意,官方有我也就顺便带上了)
 
 
 
GitHub action打包推送镜仓库白嫖 perplexity pro
悟然
悟然
一个普通的机器人专业本科生🍚
公告
type
status
date
slug
summary
tags
category
icon
password
🎉悟然blog
此博客由notion支持,要购买chatgpt的可以通过上方的悟然百货,低价购买