用huggingface部署Librechat,可上传pdf,图片等文件,ChatGPT网页服务

前言

  • 在服务器上用docker部署的librechat,它会自动把rag_api给部署好,rag_api是用来处理pdf等文件的,最后只需要在.env里添加一下RAG的配置就可以了。

但是我是在huggingface上部署的librechat,是没有自动把rag_api给部署好的。官方文档上没有说要怎么另外部署,找遍全网都没找到部署rag_api的教程,在两位佬的提示和帮助下成功部署rag_api服务。

部署

  • 1.先根据官方文档部署,对照 环境变量文档进行填写,请注意记下JWT_SECRET的值,后面要用到,复制下面的官方空间,复制完之后就可以正常对话了,只是不能上传文件和图片,上传文件要部署rag_api,上传图片要配置firebase的环境,

https://www.librechat.ai/docs/remote/huggingface

  • 刚刚才发现配置firebase的环境后发送照片给4o会识别不出来,所以要把firebase关掉,关掉之后图片和文件是可以正常上传和识别的。
关掉firebase详细步骤

先fork一份下面这个仓库,然后编辑里面的librechat-hf.yaml,把fileStrategy: "firebase"删掉,然后点击右上角的raw,复制链接替换Dockerfile里的链接,如果别的各种ai的话。可以大删特删,删成像下面这样
GitHub - LibreChat-AI/librechat-config-yaml: LibreChat Config Files aka librechat.yaml Collection


  • 如果只想要对话功能和上传图片功能可以用下面这个官方空间,不用配置firebase环境

– 自定义huggingface域名看这位佬的即可

  • 2.以下步骤是实现pdf等文件的功能,不用上传文件功能的话可以不看。把huggingface部署完之后开始部署rag_api
  • 首先先在 supabase建一个PostgreSQL +pgvector的数据库
详细步骤



记住数据库密码

等待部署完成,等一会然后刷新一下

点击侧边的数据库

点拓展,搜索vector,启用

然后点击左下角的设置,进去数据库设置,然后这五个值和数据库密码等会就要用在rag_api的环境变量里

  • 其次在koyeb上进行容器部署
详细步骤



填入 Package librechat-rag-api-dev-lite · GitHub

然后批量编辑环境变量

然后填入以下环境变量,根据 rag_api项目的环境变量来填写,openai地址要带/v1,这里坑了我好久,要用有text-embedding-3-small模型的中转站或者自己的key
我找了好久才找到一个有这个模型的中转站。带aff,不带aff,注册送一刀,邀请一个人送0.5刀,一刀用单用text-embedding-3-small模型可以用特别久,在环境变量地址和sk直接填中转站的就好了,要放到自己的newapi里的话会调用不了。
需要注意的是JWT_SECRET为按官方文档里部署librechat时填写的JWT_SECRET环境变量的值

DB_HOST=
DB_PORT=
DEBUG_RAG_API=
EMBEDDINGS_MODEL=text-embedding-3-small
EMBEDDINGS_PROVIDER=openai
JWT_SECRET=
PDF_EXTRACT_IMAGES=false
POSTGRES_DB=postgres
POSTGRES_PASSWORD=
POSTGRES_USER=
RAG_OPENAI_API_KEY=sk-xxxxxxxxxx
RAG_OPENAI_BASEURL=https://xxxx.com/v1
VECTOR_DB_TYPE=pgvector



等待部署完成,复制容器地址,然后在huggingface的环境变量里添加RAG_API_URL,至此rag_api部署完成,需要最后一步配置firebase的环境才能让文件上传成功


  • 附上刚找到的koyeb保活项目

https://github.com/Jasondeepny/keepalive_kyb

  • 最后配置firebase的环境,按照 官方的文档配置即可,然后在 huggingface的librechat.yaml 配置文件中设置以下内容即可
  version: 1.0.8
  cache: true
  fileStrategy: "firebase"

  • 到这里所有的部署完了,最终我目前在huggingface上的环境变量如下图
环境变量图

44 个赞

mark一下,另外请问大佬能上传word文档吗 :smiling_face_with_three_hearts:

3 个赞

这复杂的有些可怕

5 个赞

可以

4 个赞

在服务器上用docker部署特别简单,只是在huggingface上要很复杂

5 个赞

感谢分享~

4 个赞

koyeb达咩,挂个newapi都封

3 个赞

render新注册要验证银行卡,不知道怎么处理

3 个赞

:face_holding_back_tears:koyeb没几天就封了,你看看

4 个赞

这么复杂,我直接改 dockerfile 和 readme.md 配置环境变量。

4 个赞

koyeb不行的话,好像也没什么别的好的托管平台了,我试试能不能在Railway,CodeSandbox,Zeabur里托管

4 个赞

如果不要文件上传的话,koyeb能省略吗

4 个赞

可以,直接复制一份官方的huggingface空间就可以,我是用了好几天不能上传文件才想着去解决的,然后才发现有rag_api这个东西

3 个赞

huggingface屏蔽v1这个会影响吗?

4 个赞

应该没影响,我接的我serv00部署的newapi用的,目前没遇到问题

3 个赞

那我估计没问题了,我和你一样serv00的

4 个赞

可以复制这个空间

3 个赞

mark

1 个赞

针不错,好教程:+1:

1 个赞

佬,这一步里有个monogo数据库链接应该填啥呢,需要自己额外整个monogo吗

1 个赞