chatui工具使用记录与比较

news/2024/7/20 18:46:55 标签: chatui, ai, 大模型
aidu_pl">

概述

cahtui相关工具可谓是层出不穷,方便了我们使用各个大模型。这里我把我知道的整理下列出来,顺便做一比较。

简单比较

openWebUI,star 11.1k,仿chatgpt风格,支持openapi、可以对接Ollama进行对话,功能相对单一,界面比较简洁

chatgpt-next-chat,star 65.9k,支持openai、azure openai,google,预设的面具功能不错,功能相对简单,界面也比较显旧

lobe-chat,star 25.6k,支持主流大模型,如openai、Claude、google、groq、aws、mistral、月之暗面、智谱,也支持Ollama。发现功能内置的助手数量不少,而且质量不错(使用了专门的system提示词),界面也比较好看。

模型接入

chat应用,依赖于大模型,而且一般都会支持openai,只要支持openai,那么类openai的都可以接入。目前也有提供输入输出统一转换为openai的工具,比如one-api。

我可以在one-api中统一管理我要用到的大模型,在chatui中需要用的时候,我只需要配置openai大模型即可,不过地址是我one-api的地址、key是one-api的key,具体要用哪个模型,设置model参数即可。

具体操作

具体每个工具的操作,后面有时间再细写。

openWebUI

模型支持

支持openapi、可以对接Ollama进行对话,可自动识别Ollama下模型,并且可以添加多个openai、ollama地址

可以直接通过web界面上传、下载、删除等管理ollama模型,和ollama的结合做的是不错

管理功能

可以预设提示词,通过输入/调用,不过感觉不如GPTs助手方式好,相对简单

有个游乐场功能(playGround),不过还是测试阶段,可以定义system prompt,不过数据都没做保存

文档上传,但是不确定什么情况会用到

可以导出、导入聊天记录

对话

可以上传文件,实现RAG功能

输入可以语音转文字

可以选择多个模型,实现群聊,这个是个特色

可以通过语音阅读推理结果

可以对推理结果进行标注,可以修改推理结果,这些数据作为数据集,提供微调

实践真知

将openai模型调整为one-api也是没问题的,会通过/models接口将所有模型加载出来提供选择

部署

可以通过docker方便的部署,以便本地使用

问题

1)偶然发现,配置了ollama,如果ollama没启动,导致系统也无法打开

2)开启对话后,页面滚动较多会遮挡住修改模型下拉框,必须滚到页面最上方才可以再修改模型

3)算one-api的问题,手动新增的模型,加载不出来,应该都是每个模型默认的模型类型

chatgpt-next-chat

模型支持

支持openai、azure openai,google,openai就可以设置为one-api地址(这样多数模型基本支持了),由于零一万物的webapi完全兼容openai,openai也可以直接设置为零一万物的。

接下来设置自定义模型名称,在对话界面模型列表中就可以选择到了

管理功能

可以自定义提示词、面具,通过输入/调用,不过感觉不如GPTs助手方式好,相对简单。和open webui的功能差不多。这个功能有个问题是,这个prompt信息是user聊天发出的,实际上应该是system prompt。

提示词就是一个prompt,面具可以是多条对话记录,还可以设置头像、对话参数、模型等,可以直接以某个面具开始对话

通过分享面具,可以直接开始一个类似助手的对话

可以导入导出所有记录(对话、消息、提示词、面具)

对话

预设的面具功能不错,类似system prompt,功能相对简单,界面也比较显旧

新建对话后才可以选择预设的面具,没有将应用一开始就创建好

对话界面文本框上方可以直接进行对手设置模型、面具等信息,这一点比openai webui好

部署

可以通过docker方便的部署,以便本地使用

也可以快捷的通过Vercel 一键部署,配置个域名就可以很方面的外网访问使用了

问题

不能对话上传文档

没有文档功能,没有RAG功能

不能对推理结果进行标记、编辑

lobe-chat

支持主流大模型,如openai、Claude、google、groq、aws、mistral、月之暗面、智谱,也支持Ollama。发现功能内置的助手数量不少,而且质量不错(使用了专门的system提示词),界面也比较好看。

模型支持

支持主流大模型,如openai、Claude、google、groq、aws、mistral、月之暗面、智谱,也支持Ollama。

管理功能

发现功能内置的助手数量不少,而且质量不错(使用了专门的system提示词),界面也比较好看。

可以导入导出配置助手消息数据

对话

可以新建一个助手开始对话

可以语音阅读推理结果

部署

可以通过docker方便的部署,以便本地使用

问题

不能对话上传文档

没有文档功能,没有RAG功能

不能对推理结果进行标记、编辑

整体而言

比较下来,还是openWebUI在整个过程上比较全面(提示词、对话、RAG、标注),但是缺少对类助手功能的支持、某些细节上略欠缺。(目前属于测试功能的提示词功能完善了,整体就更完整了)

chatgpt-next-chat和lobe-chat功能比较接近,lobe-chat在助手的丰富性上更胜一筹

当然想要功能全面,那还得dify了,dify定位就是应用,这几个还是chat。

当然也看具体应用场景。


http://www.niftyadmin.cn/n/5464134.html

相关文章

Redis中的复制功能(一)

复制 概述 在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),如图所示…

Python实现的网页爬虫示例

当然可以。以下是一个使用Python实现的基础网页爬虫示例。这个示例将使用requests库来发送HTTP请求,并使用BeautifulSoup库来解析HTML文档。如果你还没有安装这两个库,请先使用pip进行安装: pip install requests beautifulsoup4接下来是网页…

【Java八股面试系列】Arraylist和HashMap的底层原理

文章目录 ArrayList源码总:构造方法扩容机制remove HashMap总:构造方法细节问题putVal()方法resize()方法Hash值 HashMap常见问题 ConcurrentHashMap总:putVal()方法自己的测试 为什么重写HashCode和equals ArrayList源码 总: *…

JS基本类型作用域作用域链

#### 作用域链 作用域链的用途,是保证对执行环境有权访问的所有变量和函数的有序访问。看一个例子 js var a 1 function fn () {var b a 1console.log(b) } fn() ### 从代码执行来看 首先在创建fn函数时,会创建一个预先包含全局变量对象的作用域链&am…

js录制本地摄像头下载mp4和转file文件流

前端获取本地摄像头和麦克风并录制为mp4导出其实很简单,只是可能你不太了解相关的知识点,我已经在项目中实战过。 前端获取本地摄像头麦克风,并录制视频 export class VideoRecording { // 录视频mediaRecorder: MediaRecorder | null;strea…

云计算概述报告

以下是一篇论述类文章 文章目录 I. 云计算介绍(1)云计算基本概念(2)云计算基本特征 II. 云计算发展历程(1)云计算的起源(2)云计算的发展阶段 III. 云计算特点(1&#xff…

【C++的奇迹之旅(二)】C++关键字命名空间使用的三种方式C++输入输出命名空间std的使用惯例

文章目录 📝前言🌠 C关键字(C98)🌉 命名空间🌠命名空间定义🌉命名空间使用 🌠命名空间的使用有三种方式:🌉加命名空间名称及作用域限定符🌠使用using将命名空间中某个成员…

【SpringCloud】一文详谈Nacos

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …