抱脸部署LibreChat教程


简介

LibreChat 是一个免费的开源AI聊天平台,让你在一个界面中使用多个提供商的最先进语言模型。LibreChat提供丰富的定制选项、创新的增强功能和无缝的AI服务集成,带来无与伦比的对话体验。

特点

  • :unlock: 开源且免费
    LibreChat是完全开源的项目,你可以自由使用、修改和分发软件,无需任何费用或订阅。

  • :robot: 多提供商AI支持
    LibreChat支持OpenAI、Azure、Anthropic、Google等多种AI提供商。你可以无缝切换不同的模型并利用它们的独特功能。

  • :computer: 可定制且可扩展
    LibreChat的模块化设计和丰富的定制选项,可以根据你的需求进行个性化配置。你可以创建和共享自定义预设、集成插件,甚至参与项目开发。

  • :globe_with_meridians: 多语言支持
    LibreChat的界面支持多种语言,确保全球用户的可访问性和易用性。

功能

  • :desktop_computer: 界面匹配ChatGPT,包括暗模式、流式传输和最新更新
  • :speech_balloon: 多模态聊天:上传和分析图像、与文件聊天,并利用工具和API操作的高级代理
  • :earth_americas: 多语言界面:支持多种语言
  • :robot: AI模型选择:OpenAI、Azure、Anthropic、Google等
  • :floppy_disk: 创建、保存和共享自定义预设
  • :arrows_counterclockwise: 编辑、重新提交和继续消息与对话分支
  • :outbox_tray: 以多种格式导出对话(截图、markdown、文本、JSON)
  • :mag: 搜索所有消息和对话
  • :electric_plug: 插件支持扩展功能(网页访问、图像生成等)
  • :busts_in_silhouette: 多用户支持,具有安全身份验证和管理工具
  • :gear: 灵活的部署选项(代理、反向代理、Docker等)
  • :open_book: 完全开源和社区驱动开发

入门教程

MongoDB配置

注册账号

访问 注册页 注册账号并去邮箱 verify


填写问卷

弹出的问卷调查随便填,填完 finish


选择套餐

选择免费计划,Region 建议选择 Virginia,然后点击 CreateDeployment


创建用户

创建用户,copy 密码后复制保存备用,然后 Create Database User


访问链接

点击 Choose a connection method 选择 Drivers,然后复制 3项次 下的字符串,就是这里我用黑粗线隐藏的地方,确认用户名和密码无误并删除 &w=majority,完成后保存备用,编辑后格式如下

mongodb+srv://username:[email protected]/LibreChat?retryWrites=true&appName=LibreChat

访问权限

点击 Done 关闭弹窗,在左侧菜单栏点击 Network Access,删除原有记录并添加新记录如下设置好后点击 Confirm


HuggingFace配置

这里假设你已经有了一个抱脸账号(如果您还没有账号:注册

复制样板

访问 样板页,点击右上角三个点选择 Duplicate this Space


填写变量

部分变量如下,没有 KEY 留空即可,填完点击 Duplicate Space 即可发布

KEY VALUE
MONGO_URI 使用上一步中获取的字符串
OPENAI_API_KEY 自定义
BINGAI_TOKEN 自定义
CHATGPT_TOKEN 自定义
ANTHROPIC_API_KEY 自定义
GOOGLE_KEY 自定义
CREDS_KEY 见下文 获取凭据
CREDS_IV 见下文 获取凭据
JWT_SECRET 见下文 获取凭据
JWT_REFRESH_SECRET 见下文 获取凭据

详细配置文档:https://www.librechat.ai/docs/configuration/dotenv

获取凭据

访问 工具页,直接点击 Generate然后点击 Copy 复制值一一对应上面填入


访问页面

稍等几分钟部署完成后,访问地址 https://username-liebrechat.hf.space 开始使用,注意替换链接中 username 为您的用户名,若忘记可在抱脸的地址栏查看。

如果您觉得这个域名并不方便使用,希望自定义域名,可参考下方的 进阶指南:自定义访问域名

进阶指南:自定义访问域名

您需要有一个绑定了域名的 cf 账号用于创建反代worker并在抱脸空间 settings,点击 make public 公开页面

  • 新建 worker
    worker 的代码如下,您需自行替换代码中所有的 username 为您的用户名
export default {
  async fetch(request, env) {
    const _url = new URL(request.url);
    const hostname = _url.hostname;
    _url.hostname = "username-librechat.hf.space";
    const req = new Request(_url, request);
    req.headers.set('origin', 'https://username-librechat.hf.space');
    
    const res = await fetch(req);
    let newres = new Response(res.body, res);

    let location = newres.headers.get('location');
    if (location !== null && location !== "") {
      location = location.replace('://username-librechat.hf.space', '://'+hostname);
      newres.headers.set('location', location);
    }
    return newres;
  },
};
  • 添加路由
    部署完成后,在 设置 - 触发器 - 添加路由 自定义域名,注意域名应与区域对应,意即区域选择的是 chat.com,填写的域名就应该是 libre.chat.com/*

进阶教程

文本转语音(TTS)

修改 Dockerfile 27、28 行

#RUN curl -o /app/librechat.yaml https://raw.githubusercontent.com/eggacheb/lc-config-yaml/main/librechat-rw.yaml
COPY librechat.yaml /app/librechat.yaml

在根目录新建 librechat.yaml 写入以下行

version: 1.0.9

cache: true

registration:
  socialLogins: ["discord", "facebook", "github", "google", "openid"]

tts:
  openai:
    apiKey: '${TTS_API_KEY}'
    model: 'tts-1'
    voices: ['alloy','echo','fable','onyx','nova','shimmer'] # 可自定义
    url: "https://api.compatible.com/v1/audio/speech" # 请自行修改

添加环境变量

KEY Value Description
TTS_API_KEY sk-abcdefg 你的密钥

完成后在设置选择 External


语音转文本 (STT)

librechat.yml 添加以下行

stt:
  openai:
    apiKey: '${STT_API_KEY}'
    model: 'whisper-1'
    url: 'https://api.compatible.com/v1/audio/transcriptions' # 请自行修改

添加环境变量

KEY Value Description
STT_API_KEY sk-abcdefg 你的密钥

完成后同样在设置选择 External

你也可以参考这篇:Cloudflare免费模型食用指南 , 获取每天免费 50分钟 的语音

第三方登录(Oauth)

这里以 Google 为例,请参考:Google Oauth ,自行获取 Client ID 和 Client Secrect,个人使用测试版功能足够不需 Publish,测试版需要添加测试用户后才能使用,类似白名单功能

添加以下环境变量

KEY Value Description
DOMAIN_CLIENT https://your-domain.com 客户端域名,如果没有使用自定义域名,请使用 http://localhost:3080
DOMAIN_SERVER https://your-domain.com 服务器域名,如果没有使用自定义域名,请使用 http://localhost:3080
GOOGLE_CLIENT_ID your_client_id Google OAuth 客户端 ID
GOOGLE_CLIENT_SECRET your_client_secret Google OAuth 客户端密钥
GOOGLE_CALLBACK_URL /oauth/google/callback Google OAuth 回调 URL,不要修改
ALLOW_SOCIAL_LOGIN true 允许用户通过oauth登录
ALLOW_SOCIAL_REGISTRATION true 允许通过oauth注册

文件上传(RAG)

这部分较复杂,请参考: 用huggingface部署Librechat,可上传pdf,图片等文件,ChatGPT网页服务

参考链接

102 Likes

施工中?前排学习一下

1 Like

哦~这个看着就是奶妈级别的教程,从搞数据库开始

2 Likes

战略性马克

1 Like

直接docker一把梭

1 Like

太强了佬!

感谢佬的分享

mark

围观施工中

1 Like

哈哈哈 还未施工完毕

1 Like

插眼

围观施工中

助力施工:construction:

围观围观

1 Like

回复施工中…

1 Like

等待完善

1 Like

Cy

duplicate 的方式是不是改不了OpenAI 的 url

可以改,用环境变量 OPENAI_REVERSE_PROXY直接填自己newapi地址就可以了加个v1

1 Like

好诶!Mark!

1 Like