Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用体验优化汇总 #1037

Open
c121914yu opened this issue Mar 21, 2024 · 79 comments
Open

使用体验优化汇总 #1037

c121914yu opened this issue Mar 21, 2024 · 79 comments
Assignees
Labels
feature New feature or request

Comments

@c121914yu
Copy link
Collaborator

c121914yu commented Mar 21, 2024

4.7 版本正式版后,我们计划进行1个月的细节优化,包括使用体验、代码结构和部署优化。如果有相关的建议,可以在评论区留言,最好附上完整详细的说明和原因,不要只是一两句话~

新需求问题可以直接提 Feature,无需在此讨论。

最近由于新工作流重构的需求,这部分可能又得推迟下了😮‍💨

带有个👀评论的,代表已经记录到未来规划。

@c121914yu c121914yu added the feature New feature or request label Mar 21, 2024
@c121914yu c121914yu self-assigned this Mar 21, 2024
@c121914yu c121914yu pinned this issue Mar 21, 2024
@zhangxyv5
Copy link

更新以后如果想做一个简单的知识库搜索应用还需要去高级编排中拖拽设置,挺麻烦的。能不能恢复到以前的逻辑,选择知识库后不加载工具调用模块。

原因如下:
4.7中新增了工具调用模块,在应用编辑页面简单模式下,选择知识库后,默认的编排变成了用户提问=>工具调用=>知识库检索,保存后测试提问并没有去知识库检索,在工具调用模块直接返回了。
提问如下图:
1711011235772
调用流程:
image
选择知识库后默认编排:
image

@c121914yu
Copy link
Collaborator Author

更新以后如果想做一个简单的知识库搜索应用还需要去高级编排中拖拽设置,挺麻烦的。能不能恢复到以前的逻辑,选择知识库后不加载工具调用模块。

原因如下: 4.7中新增了工具调用模块,在应用编辑页面简单模式下,选择知识库后,默认的编排变成了用户提问=>工具调用=>知识库检索,保存后测试提问并没有去知识库检索,在工具调用模块直接返回了。 提问如下图: 1711011235772 调用流程: image 选择知识库后默认编排: image

#1043 这个pr中修改下,和之前统一上。

@emengweb
Copy link

emengweb commented Mar 21, 2024

知识库内容具体项,希望可以增加批量选择删除的功能,QA模式会生成很多无意义内容对,逐个删除太耗时了。

另外想请教下,也许是我对编排理解不到位:做了一个编写程序的机器人,分了大概3步,分析需求,生成目录树,列出目录树完整代码。这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢?求指点

@dimsky
Copy link
Contributor

dimsky commented Mar 22, 2024

希望在对话框添加类似于 chatgpt 这种选择引用的功能,利于持续对话的使用体验 。

image

@zhaobingxu19
Copy link

知识库内容具体项,希望可以增加批量选择删除的功能,QA模式会生成很多无意义内容对,逐个删除太耗时了。

另外想请教下,也许是我对编排理解不到位:做了一个编写程序的机器人,分了大概3步,分析需求,生成目录树,列出目录树完整代码。这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢?求指点

同有该问题:“这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢”。求解答

@yibohub
Copy link

yibohub commented Mar 22, 2024

导入知识库训练的时候,删除知识库内的内容,在使用时会导致出错。可否在导入知识库时禁止操作知识库的删除功能?

@LiZhouYan
Copy link

更新到新的版本后,知识库的搜索出现变化,之前知识库有单次搜索的上限条数,现在变成了tokens数量,原本的策略不好使了,不好调整,希望能兼容一下,两个场景使用不一样
image

image

@c121914yu
Copy link
Collaborator Author

导入知识库训练的时候,删除知识库内的内容,在使用时会导致出错。可否在导入知识库时禁止操作知识库的删除功能?

后面会有定时任务做补偿。禁止删除确实也是一种方法。

@c121914yu
Copy link
Collaborator Author

知识库内容具体项,希望可以增加批量选择删除的功能,QA模式会生成很多无意义内容对,逐个删除太耗时了。

另外想请教下,也许是我对编排理解不到位:做了一个编写程序的机器人,分了大概3步,分析需求,生成目录树,列出目录树完整代码。这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢?求指点

这个就比较复杂。有状态的对话框还没仔细设计过。最复杂的问题在于,你并不确定什么时候又要生成一次目录树。有可能第一次生成的不是很好,第二次希望补充生成,第三次才是基于目录树继续对话。

@emengweb
Copy link

emengweb commented Mar 25, 2024

知识库内容具体项,希望可以增加批量选择删除的功能,QA模式会生成很多无意义内容对,逐个删除太耗时了。
另外想请教下,也许是我对编排理解不到位:做了一个编写程序的机器人,分了大概3步,分析需求,生成目录树,列出目录树完整代码。这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢?求指点

这个就比较复杂。有状态的对话框还没仔细设计过。最复杂的问题在于,你并不确定什么时候又要生成一次目录树。有可能第一次生成的不是很好,第二次希望补充生成,第三次才是基于目录树继续对话。

关于这种情况我有个建议,增加一个条件判断:是否首次对话。
在首次进行对话时一个分支,非首次对话走另外一个分支(继承对话记录即可)。
这样既可解决重复执行的问题,又可在后续对对话内容进行探索、微调 0v0

@c121914yu
Copy link
Collaborator Author

c121914yu commented Mar 25, 2024

知识库内容具体项,希望可以增加批量选择删除的功能,QA模式会生成很多无意义内容对,逐个删除太耗时了。
另外想请教下,也许是我对编排理解不到位:做了一个编写程序的机器人,分了大概3步,分析需求,生成目录树,列出目录树完整代码。这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢?求指点

这个就比较复杂。有状态的对话框还没仔细设计过。最复杂的问题在于,你并不确定什么时候又要生成一次目录树。有可能第一次生成的不是很好,第二次希望补充生成,第三次才是基于目录树继续对话。

关于这种情况我有个建议,增加一个条件判断:是否首次对话。
在首次进行对话时一个分支,非首次对话走另外一个分支(继承对话记录即可)。
这样既可解决重复执行的问题,又可在后续对对话内容进行探索、微调 0v0

这样可以是可以,但是产品设计上感觉有点奇怪。既然支持了首轮,那应该第二第三也能支持不同分支。
计划中是有一个步骤器的模块,可以预设 n 个有顺序的分支逐一进行,并且在分支结束可以选择跳转到第 n 个分支。但是具体还没设计。

对于你目前的情况,或许可以考虑外挂一个 http 模块来判断是否是首轮对话?(可以根据历史记录长度)

@emengweb
Copy link

知识库内容具体项,希望可以增加批量选择删除的功能,QA模式会生成很多无意义内容对,逐个删除太耗时了。
另外想请教下,也许是我对编排理解不到位:做了一个编写程序的机器人,分了大概3步,分析需求,生成目录树,列出目录树完整代码。这个结构初次提出问题完美实现,但当继续提问后,每次回复都会再将以上流程重新走一次,如何才能只在首次提问时执行那3步流程呢?求指点

这个就比较复杂。有状态的对话框还没仔细设计过。最复杂的问题在于,你并不确定什么时候又要生成一次目录树。有可能第一次生成的不是很好,第二次希望补充生成,第三次才是基于目录树继续对话。

关于这种情况我有个建议,增加一个条件判断:是否首次对话。
在首次进行对话时一个分支,非首次对话走另外一个分支(继承对话记录即可)。
这样既可解决重复执行的问题,又可在后续对对话内容进行探索、微调 0v0

这样可以是可以,但是产品设计上感觉有点奇怪。既然支持了首轮,那应该第二第三也能支持不同分支。 计划中是有一个步骤器的模块,可以预设 n 个有顺序的分支逐一进行,并且在分支结束可以选择跳转到第 n 个分支。但是具体还没设计。

对于你目前的情况,或许可以考虑外挂一个 http 模块来判断是否是首轮对话?(可以根据历史记录长度)

太棒了,加上步骤器之后扩展性就更强了!期待(o^^o)

感谢指点,我先去试试用laf整一个外挂模块看下效果

@Andy1018
Copy link

Api Key 使用与鉴权模式会放到开源版本吗?

@c121914yu
Copy link
Collaborator Author

Api Key 使用与鉴权模式会放到开源版本吗?

一直都在吧

@Andy1018
Copy link

@c121914yu 最新开源版本,只有key的名称,无法限制过期时间,自定义auth key等操作

@c121914yu
Copy link
Collaborator Author

@c121914yu 最新开源版本,只有key的名称,无法限制过期时间,自定义auth key等操作

噢这个呀。看情况吧。基本是 20%-30% 特有功能,后续新功能多了,会挪些到开源版。

@buctllx
Copy link

buctllx commented Mar 26, 2024

希望知识库-手动录入功能,支持图片上传,或者 md 语法的编辑功能
image

@dimsky
Copy link
Contributor

dimsky commented Mar 26, 2024

希望知识库-手动录入功能,支持图片上传,或者 md 语法的编辑功能 image

同意,在录入word 、 html 等文件转化成 md 预览时,也希望添加编辑功能,因为是在 md chunk 拆分时严重依赖 html 或者 word 转化后的 md 的段落格式,在拆分之前进行修改,有利于文档的段落拆分。

@AlanLee1996
Copy link

希望增加js或python组件,支持自己编写代码,处理特殊任务

@emengweb
Copy link

emengweb commented Mar 27, 2024 via email

@lijiajun1997
Copy link

应用日志是否考虑增加导出功能,以帮助用户可以整理和评价AI应用的准确性和可靠性,优化编排流程和prompt

@lijiajun1997
Copy link

可否在AI回复的每个段落句子标记对应知识的来源编号,帮助用户可以验证引用知识的准确性?类似new bing那种

@lijiajun1997
Copy link

在知识库问答拆分的选项中,增加理想分块大小,否则会默认按模型的token上限分块。例如用8k的模型,AI回答大概1k的内容,会导致知识QA完会损耗约7/8的信息量。

@lijiajun1997
Copy link

QA拆分引导词,希望可以保留上次引导词的记录。或者自定义若干条引导词,用户按照知识的类型进行选择。

@lijiajun1997
Copy link

直接分段 自定义分隔符 多给一些选项并增加解释,让用户勾选

@Riofd
Copy link

Riofd commented Mar 27, 2024

可以考虑一下在免登录窗口那里支持设置每分钟最大对话次数,以防止有人无限制使用

@emengweb
Copy link

可以考虑一下在免登录窗口那里支持设置每分钟最大对话次数,以防止有人无限制使用

建议增加单次对话每分钟对话次数及每分钟总会话的最大会话次数,超出后显示自定义错误提示

@AlanLee1996
Copy link

建议给插件增加调试功能,目前需要新建一个应用去调试插件,非常不方便

@AlanLee1996
Copy link

建议增加断点调试功能,高级编排时,应用执行到断点即可结束并查看日志。现有流程调试需要执行完所有步骤,否则只能删除部分流程才能单独调试一部分工作流

@c121914yu
Copy link
Collaborator Author

建议增加断点调试功能,高级编排时,应用执行到断点即可结束并查看日志。现有流程调试需要执行完所有步骤,否则只能删除部分流程才能单独调试一部分工作流

4.7.2 4.7.3 会实现

@Ocean22
Copy link

Ocean22 commented Apr 12, 2024

高级编排那里,如果知识库的匹配度为0.2-0.5之间,希望直接输出一些“固定的文本+知识库的问题”,作为“猜你想问”,目前看只能把它交给大模型去帮我提取问题,但是大模型有时会画蛇添足。“知识库模块”不能直接连接“文本提取模块”,这个可以改进吗

@Ocean22
Copy link

Ocean22 commented Apr 12, 2024

免登录窗口可以有权限管理吗?不然任何人拿到连接后都能去访问,我希望比如带有指定token的连接才能访问应该怎么做呢

@bincooo
Copy link

bincooo commented Apr 15, 2024

大佬你好,新做的工具调用组件挺好用的,你看能否在工具调用时给下游的执行工具组件提供上一个tool_reponse的内容?在角色扮演场景下和工具调用提示分离输出效果更好,特别是没有gpt的toolcall情况下。
虽然让ai输出上一个tool_reponse的参数也行,但过程挺耗时的,也会消耗一些token,有时会出现幻觉
Screenshot 2024-04-15 at 12 18 58

@c121914yu
Copy link
Collaborator Author

大佬你好,新做的工具调用组件挺好用的,你看能否在工具调用时给下游的执行工具组件提供上一个tool_reponse的内容?在角色扮演场景下和工具调用提示分离输出效果更好,特别是没有gpt的toolcall情况下。
虽然让ai输出上一个tool_reponse的参数也行,但过程挺耗时的,也会消耗一些token,有时会出现幻觉
Screenshot 2024-04-15 at 12 18 58

toolreaponse 是取节点的一部分输出,理论上直接把输出连接到下一步是没问题的。最后加一个工具终止,直接结束流程。

@AlanLee1996
Copy link

知识库优化建议:

1.添加知识库,遇到出错的文件时可选择跳过,最后显示一个失败列表就行。现在的问题:批量添加文件,遇到带密码的xlsx或者损坏的pdf,会直接中断报错,并且不知道是哪个文件的问题,需要自己一个个排查,非常不友好。
2.搜索知识库,建议增加上下文数量设置,例如搜出来5号文段,设置上下文为2个文段,则会在搜索结果中拼接3、4、5、6、7为一个文段,避免上下文被截断。
3.分享的链接和api,建议增加来源文档下载功能,如果作为内部系统使用,可能保密要求没那么高。

一些优先级不高的建议

1.前端增加上传文件的功能,工作流中可以接收文件的base64,并调用http接口处理。也可上传至临时知识库,实现类似于chatpdf的功能。
2.解析文档支持设置自定义接口解析,例如带公式的文档,需要调用更高级的ocr处理,现在知识库自带的文件解析不符合需求。

@dimsky
Copy link
Contributor

dimsky commented Apr 17, 2024

知识库优化建议:

1.添加知识库,遇到出错的文件时可选择跳过,最后显示一个失败列表就行。现在的问题:批量添加文件,遇到带密码的xlsx或者损坏的pdf,会直接中断报错,并且不知道是哪个文件的问题,需要自己一个个排查,非常不友好。 2.搜索知识库,建议增加上下文数量设置,例如搜出来5号文段,设置上下文为2个文段,则会在搜索结果中拼接3、4、5、6、7为一个文段,避免上下文被截断。 3.分享的链接和api,建议增加来源文档下载功能,如果作为内部系统使用,可能保密要求没那么高。

一些优先级不高的建议

1.前端增加上传文件的功能,工作流中可以接收文件的base64,并调用http接口处理。也可上传至临时知识库,实现类似于chatpdf的功能。 2.解析文档支持设置自定义接口解析,例如带公式的文档,需要调用更高级的ocr处理,现在知识库自带的文件解析不符合需求。

不错的建议,

  1. 解析文档增强的确是有优化提升的地方,通过 OCR 处理会让论文、指南这类学术文档获得更好的内容解析,除了类似于百度 pp 这类开源 ocr 框架,现在还有很多云服务商也提供了 pdf to markdown 的服务接口,可以考虑通过添加配置的方式自由接入这类第三方文档解析接口。
  2. 客户端如果支持上传文件功能,文档解析也是很关键的一步,因为这决定了大模型对文件的理解程度,解析还原度高,效果肯定就会更加理想,现在市面上很多支持文件上传的应用,仅仅只是用了单纯的文本解析,而没有使用到 OCR 。

还有在分段功能中,建议自定义分段可以支持用户选择流行的 split 模式,因为除了文件的格式,不同的文本内容也会需要相对应适合的 split 模式,可以把 langchain 或者 llamaindex 的一些标准 text splitter 引入,可以提供选择和实时预览效果。这样有利于对多样化文档的拆分。

@rookie-littleblack
Copy link

知识库数据在进行重新编辑后,默认索引都会重复出现:

image

经排查,问题应该出现在“projects/app/src/service/core/dataset/data/controller.ts”文件的updateData2Dataset函数中,

if (!formatIndexes.find((index) => index.defaultIndex)) {
const defaultIndex = mongoData.indexes.find((index) => index.defaultIndex);
formatIndexes.unshift(defaultIndex ? defaultIndex : getDefaultIndex({ q, a }));
}

上面代码改成下面代码,经测试可以解决问题:

if (!formatIndexes.find((index) => index.defaultIndex)) {
const defaultIndex = mongoData.indexes.find((index) => index.defaultIndex);

if (!formatIndexes.some(index => index.dataId === (defaultIndex ? defaultIndex.dataId : ''))) {
  formatIndexes.unshift(defaultIndex ? defaultIndex : getDefaultIndex({ q, a }));
}

}

@superlbr
Copy link

回复窗口,可以直接显示iframe吗?比如在线计算器,回复中有几个网址,可以选第一个展示出来。。。

@superlbr
Copy link

回复窗口,可以返回参数表单吗,让用户填参数得到运行结果

@c121914yu
Copy link
Collaborator Author

复窗口,可以直接显示iframe吗?比如在线计算器,回复中有几个网址,可以选第一

iframe感觉可以

@heart18z
Copy link

应用的对话日志-是否可以不限制30条,有点短
image-20240426125852794

@lijiajun1997
Copy link

在对话界面,用灰色字体显示Enter 发送,Ctrl+enter换行

@TE-Raven
Copy link

TE-Raven commented Apr 29, 2024

1.应用页面能否添加一个和知识库一样的文件夹功能,一个项目的所有应用放在一起统一管理
2.新版的知识库查询返回逻辑能否把老版本的返回个数加回来

This was referenced Apr 29, 2024
@HaishengLiang
Copy link

对话区, 除了文本, md展示外, 可否支持自定义卡片组件渲染?
比如 web components 的js外挂

@HaishengLiang
Copy link

想增加一个 知识图谱的 插件
是做到系统工具层面 还是 通过插件调用接口来实现更好?

@lijiajun1997
Copy link

在对话界面,用灰色字体显示Enter 发送,Ctrl+enter换行

4.8 版本 按ctrl+enter换行,会在对话框最末端换行,无法在光标所在处换行

@c121914yu
Copy link
Collaborator Author

在对话界面,用灰色字体显示Enter 发送,Ctrl+enter换行

4.8 版本 按ctrl+enter换行,会在对话框最末端换行,无法在光标所在处换行

一直都会吧?我是shift换行就正常,ctrl确实不行

@c121914yu
Copy link
Collaborator Author

c121914yu commented May 8, 2024

在对话界面,用灰色字体显示Enter 发送,Ctrl+enter换行

4.8 版本 按ctrl+enter换行,会在对话框最末端换行,无法在光标所在处换行

标准是按shift换行~ ctrl和alt是单独定义的,,,我找gpt优化了下。。

@Essence9999
Copy link

可以使用PyMuPDF4LLM库,对PDF文件录入优化

@jerry123cao
Copy link

可否考虑增加一下免登陆窗口引用文件的原文件允许下载。现在只允许显示不允许下载
原因:内部查找资料需要完整的原文件,大模型是能更好的进行资料的对比汇总。
微信截图_20240521135319
微信截图_20240521135250

@superlbr
Copy link

公式没有排版
image

@duskcouple
Copy link

可否考虑增加一下免登陆窗口引用文件的原文件允许下载。现在只允许显示不允许下载 原因:内部查找资料需要完整的原文件,大模型是能更好的进行资料的对比汇总。 微信截图_20240521135319 微信截图_20240521135250

确实有这个需求,可以做成可配置性的。

@c121914yu
Copy link
Collaborator Author

公式没有排版
image

需要提示词,按 katex 格式输出。印象中是$$ 包围公式

@superlbr
Copy link

还是不行
image

@lijiajun1997
Copy link

katex 格式

提示词里加上数学公式前后加上“$$” 就OK了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests