ChatGPTNextWeb / ChatGPTNextWeb/NextChat

[Bug] 对于固定到预设提示词的消息,出现如下问题:①发送时遗漏固定的系统提示词有所遗漏;②无法自动删除固定的系统提示词消息,导致重复发送。

Open
#5,485 5 comments 0 reactions 0 assignees View on GitHub
bug help wanted
Dominant language
TypeScript
Stars
88.8k
Forks
59.1k
PR merge metrics
No merged PRs in 30d

Description

### 📦 部署方式

Vercel

### 📌 软件版本

v2.15.2

### 💻 系统环境

Windows

### 📌 系统版本

Windows 11 Home

### 🌐 浏览器

Chrome

### 📌 浏览器版本

128.0.6613.138 (Stable)

### 🐛 问题描述

1. 系统提示词遗漏:对于多条系统提示词,在实际请求中发现只保留了最后两条。
2. 系统提示词固定至预设提示词后,不会自动删除,并且会出现请求中,导致没有意义的token占用。

### 📷 复现步骤

# 1. 系统提示词遗漏
## 对于多条系统提示词,在实际请求中发现只保留了最后两条,示例如下:
### 【编辑消息记录界面】
system : 接下来我会要求你分析文章并回答我提出的问题。
system : 请你根据文章用中文回答我的问题。
system : 回答问题时,应当尽可能以英文原文的文本作为依据。
system : 回答问题时,应当尽可能给出英文原文的出处。
### 【请求 - messages 部分】
{'role': 'system', 'content': '回答问题时,应当尽可能以英文原文的文本作为依据。'},
{'role': 'system', 'content': '回答问题时,应当尽可能给出英文原文的出处。'},
...

# 2. 系统提示词固定后,存在没有意义的token占用
## 系统提示词固定至预设提示词后,不会自动删除,并且会出现请求中,示例:
### 【聊天界面 - 固定前】
system : 接下来我会要求你分析文章并回答我提出的问题。
system : 请你根据文章用中文回答我的问题。
system : 回答问题时,应当尽可能以英文原文的文本作为依据。
system : 回答问题时,应当尽可能给出英文原文的出处。
### 【请求 - messages 部分】
{'role': 'system', 'content': '回答问题时,应当尽可能以英文原文的文本作为依据。'},
{'role': 'system', 'content': '回答问题时,应当尽可能给出英文原文的出处。'},
...

---
### 【聊天界面 - 固定后】
system : 接下来我会要求你分析文章并回答我提出的问题。
system : 请你根据文章用中文回答我的问题。
system : 回答问题时,应当尽可能以英文原文的文本作为依据。
system : 回答问题时,应当尽可能给出英文原文的出处。
system : 接下来我会要求你分析文章并回答我提出的问题。
system : 请你根据文章用中文回答我的问题。
system : 回答问题时,应当尽可能以英文原文的文本作为依据。
system : 回答问题时,应当尽可能给出英文原文的出处。
### 【请求 - messages 部分】
{'role': 'system', 'content': '接下来我会要求你分析文章并回答我提出的问题。'},
{'role': 'system', 'content': '请你根据文章用中文回答我的问题。'},
{'role': 'system', 'content': '回答问题时,应当尽可能以英文原文的文本作为依据。'},
{'role': 'system', 'content': '回答问题时,应当尽可能给出英文原文的出处。'},
{'role': 'system', 'content': '回答问题时,应当尽可能以英文原文的文本作为依据。'},
{'role': 'system', 'content': '回答问题时,应当尽可能给出英文原文的出处。'},
...

### 🚦 期望结果

情形一、避免出现漏发情况:不论有几条系统提示词,均保证在请求中发送。
情形二、在固定系统提示词后能自动从聊天中删除,避免重复。

### 📝 补充信息

# 理由
系统提示词在实际使用中可能会被分次、不断地补充、完善,但是没有在上下文与系统提示词中反复出现的必要。
当系统提示词数目较多时,Next Chat 不会发送所有的系统提示词,尝试数次请求之后发现保留的是最末两条系统提示词。这会使得系统提示词在补充之后不够理想,尤其是当前面的提示词段落较长,不方便寻找需要修改的位置的时候。
如果发送所有的系统提示词被认为是一个可选而非必要的手段,建议实现**在固定后自动删除固定的系统提示词**,更充分地利用有限地上下文token,另外也能简化操作,避免手动删除固定后的系统提示词,尤其是当系统提示词较长或较多时。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.