今天给大家介绍一个开源的高性能聊天机器人框架lobe-chat,lobe-chat是一个开源的、高性能的聊天机器人框架,提供语音合成、多模态交互和可扩展的插件系统,支持一键部署私有ChatGPT/LLM Web应用。

lobe-chat有着非常活跃的社区,目前内置了数十种类型、总计400多个的“助理”,40多个插件,支持几十个模型供应商数百个模型。我们可以很轻松的利用lobe-chat打造属于个人 AI 助手和专业团队,与 AI 携手推进你的创意事业、写作项目、学习征途和职业任务。

  • 技术特点:

    • 支持OpenAI的gpt-4-vision模型,具备视觉识别能力。

    • 集成文本到语音(TTS)和语音到文本(STT)技术。

    • 拥有丰富的插件生态系统,增强ChatGPT的功能。

  • 用户体验:

    • 界面简洁友好,易于使用。

    • 支持多平台使用,包括桌面和移动设备。

    • 提供个性化对话设置和角色配置。

插件.png

助手.png

模型.png

私有化部署

利用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应用页面。

接入模型

首页.png

右上角设置这里可以接入模型,这里由于种种原因,我选择的是百度的千帆模型。(千帆这个speed 128k目前似乎是全免费的~但是有坑,后面会说)

qianfan.png

这里的access key 和 secret key 是在千帆右上角的用户安全认证这里获取到的全局key (https://console.bce.baidu.com/iam/#/iam/accesslist 这个地方获取的),而不是千帆ModelBuilder的应用部分,这点需要注意。

chat

设置完成后,回到首页的默认对话框,左下角这个大脑图片可以切换到刚才配置好的模型,对话框可以很方便的看到当前对话使用的token数。

使用.png

发现广场

随便点进一个助手,可以看到,其实就是给我们配置了很多默认的系统提示词,我们可以从中间参考发现一些灵感,也可以直接添加助手并且会话~

助手详情.png

这里针对千帆的坑就来了~

千帆的坑.png

千帆限制每次传入的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"])

error.png

同样报错(想着百度这个不要钱,结果~)

另外,Lobe-Chat还有着丰富的插件,还支持文字转语音(TTS)和语音转文字(STT)技术,使得用户可以与聊天助手进行自然的语音交流。 这些特性的结合,让Lobe-Chat在本地部署时,不仅能够提供高效的信息服务,还能带来丰富的交互体验。

下次我们使用 服务端数据库 模式部署一版体验一下lobe-chat的知识库~

到这,本篇已经完结,也欢迎大家在评论区留言,分享你对模型应用的一些经验和看法~

项目地址:https://github.com/lobehub/lobe-chat

Snipaste_2024-12-07_11-05-00.png