今天给大家介绍一个开源的高性能聊天机器人框架lobe-chat,lobe-chat是一个开源的、高性能的聊天机器人框架,提供语音合成、多模态交互和可扩展的插件系统,支持一键部署私有ChatGPT/LLM Web应用。
lobe-chat有着非常活跃的社区,目前内置了数十种类型、总计400多个的“助理”,40多个插件,支持几十个模型供应商数百个模型。我们可以很轻松的利用lobe-chat打造属于个人 AI 助手和专业团队,与 AI 携手推进你的创意事业、写作项目、学习征途和职业任务。
技术特点:
支持OpenAI的gpt-4-vision模型,具备视觉识别能力。
集成文本到语音(TTS)和语音到文本(STT)技术。
拥有丰富的插件生态系统,增强ChatGPT的功能。
用户体验:
界面简洁友好,易于使用。
支持多平台使用,包括桌面和移动设备。
提供个性化对话设置和角色配置。
私有化部署
利用docker-compose可以很轻松的在本地搭建起来。https://lobehub.com/zh/docs/self-hosting/platform/docker-compose
这里部署简单版的lobe-chat,不涉及数据库、minio这些。(缺点是不支持文件管理,无法上传文件管理知识库)
services:
lobe-chat:
image: lobehub/lobe-chat
container_name: lobe-chat
restart: always
ports:
- '3210:3210'
environment:
ACCESS_CODE: lobe66
部署成功之后访问本地3210端口就能看到lobe-chat应用页面。
接入模型
右上角设置这里可以接入模型,这里由于种种原因,我选择的是百度的千帆模型。(千帆这个speed 128k目前似乎是全免费的~但是有坑,后面会说)
这里的access key 和 secret key 是在千帆右上角的用户安全认证这里获取到的全局key (https://console.bce.baidu.com/iam/#/iam/accesslist 这个地方获取的),而不是千帆ModelBuilder的应用部分,这点需要注意。
chat
设置完成后,回到首页的默认对话框,左下角这个大脑图片可以切换到刚才配置好的模型,对话框可以很方便的看到当前对话使用的token数。
发现广场
随便点进一个助手,可以看到,其实就是给我们配置了很多默认的系统提示词,我们可以从中间参考发现一些灵感,也可以直接添加助手并且会话~
这里针对千帆的坑就来了~
千帆限制每次传入的messages必须是奇数的长度,不知道为啥这么设计,很常见的system 加 user的输入居然不行。
这边我用千帆的sdk测试之后也是这样的结果。
pip install qianfan
import os
import qianfan
# 通过环境变量初始化认证信息
# 方式一:【推荐】使用安全认证AK/SK
# 替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = ""
os.environ["QIANFAN_SECRET_KEY"] = ""
# 方式二:【不推荐】使用应用AK/SK鉴权
# 替换下列示例中参数,将应用API_Key、应用Secret key值替换为真实值
#os.environ["QIANFAN_AK"] = "应用API_Key"
#os.environ["QIANFAN_SK"] = "应用Secret_Key"
chat_comp = qianfan.ChatCompletion()
# 指定特定模型
resp = chat_comp.do(model="ernie-speed-128k", messages=[{
"role": "system",
"content": "你是一个聊天机器人,你叫小明"
},{
"role": "user",
"content": "你好"
}])
print(resp["body"])
同样报错(想着百度这个不要钱,结果~)
另外,Lobe-Chat还有着丰富的插件,还支持文字转语音(TTS)和语音转文字(STT)技术,使得用户可以与聊天助手进行自然的语音交流。 这些特性的结合,让Lobe-Chat在本地部署时,不仅能够提供高效的信息服务,还能带来丰富的交互体验。
下次我们使用 服务端数据库 模式部署一版体验一下lobe-chat的知识库~
到这,本篇已经完结,也欢迎大家在评论区留言,分享你对模型应用的一些经验和看法~