抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

如今AI 大语言模型内卷严重,各种大语言模型层出不穷,今天 gpt 的生图模型很强大,明天 Gemini-pro-2.5 又突破天际,后天 Claude 4.0 又横空出世。用户可能需要不断的去开通各个大模型的服务,极度浪费金钱。那么最简单的方法或许就是使用 API 服务商提供的服务了,一个 API 可以用到所有的模型,而且按量付费,不用不花钱。

总结一下 API的优点如下:

按量付费,避免无效浪费

一个API访问所有大模型

国内直接访问,没有网络问题

还可以调用API到vscode实现代码自动补充的功能,例如使用continue 插件

前面的文章已经详细的介绍了我用过的几家服务商,点击查看:

好了,回顾完了开始正题,调用API 我们是需要一个云端的对话界面的,云端的好处就是部署好了之后,你可以在任意的设备(手机,电脑)都可以使用。

我推荐使用librechat, 搭建好的界面如下:

image

可以看到整个界面和ChatGPT高度相似,沉浸式体验!!下面介绍如何免费云端搭建:

数据持久化

我们需要让我们的聊天记录永久保存,所以需要一个数据库来存放它们。我推荐使用MongoDB,因为MongoDB官方有提供免费的云端数据库服务,而且随意注册账号即可以使用(无身份验证),接下来我们首先前往这里注册一个账号。

新建一个 Project

设置帐户后,单击左上角项目那里的“新建项目”按钮并为其命名(例如“LibreChat”)。

建立数据库

点击“Create cluster” 按钮新建一个数据库,然后选择“Shared Clusters”选项,即免费的数据库。为您的cluster 命名(例如“LibreChat-Cluster”),然后单击“Create deployment”。

设置数据库凭证

  1. 单击侧栏中的“Database Access”选项。
  2. 单击“Add New Database User”按钮。
  3. 输入用户名和安全密码,然后单击“Add User”。

配置网络访问

  1. 点击侧栏中的“Network Access”选项。
  2. 点击“Add IP Address”按钮。
  3. 选择“Allow Access from Anywhere”,然后点击“确认”。

image

获取连接字符串

点击左侧的“Cluster”按钮,点击中间的“Connect”按钮,再点击“Drivers”, 随便选一个,例如 Python,你将会看到一段类似与这样的字符串:

mongodb+srv://xiaohanys:<db_password>@librechat-cluster.pazwvgb.mongodb.net/?retryWrites=true&w=majority&appName=LibreChat-Cluster

将这个字符串修改成下面的类型:

mongodb+srv://username:password@librechat-cluster.pazwvgb.mongodb.net/LibreChat?retryWrites=true

注意,你需要在根链接后添加你需要的数据库名称,例如LibreChat, 否则会使用系统默认的test数据库来保存你的数据

正式部署

注册 Hugging face 并复制应用

Hugging face 提供了免费的 Space 服务,拥有免费的2核心16G内存的服务器,性能非常好,虽然hugging face 国内无法访问,但是 Space 服务却可以流畅访问

  1. 登录或创建 Hugging Face 账户
  2. 访问 https://huggingface.co/spaces/LibreChat/template 并单击 Duplicate this Space 将 LibreChat 模板复制到您的个人空间中。

注意:此模板出现运行时错误是正常的,您必须使用以下指南对其进行配置才能使其正常运行。

image

  1. 命名你的空间并填写 Secrets 和 Variables

image

你需要填写以下Secrets值:

Secrets Values
CREDS_IV 手动创建,见下文
CREDS_KEY 手动创建,见下文
JWT_REFRESH_SECRET 手动创建,见下文
JWT_SECRET 手动创建,见下文
MONGO_URI 上一步获取的数据库链接字符串

使用这个页面来生成需要手动创建的四个变量,依次填入即可

另外,你还需要填写 Variables 的值

Variables Values
APP_TITLE 你得标题
ALLOW_REGISTRATION 建议为false
ALLOW_SOCIAL_LOGIN true/false
ALLOW_SOCIAL_REGISTRATION true/false
ALLOW_UNVERIFIED_EMAIL_LOGIN 务必为true
ALLOW_PASSWORD_RESET 务必为false
CONFIG_PATH 手动填写见下文

如果你得ALLOW_UNVERIFIED_EMAIL_LOGIN为false, 那么你需要验证邮箱才可以登录,需要额外配置邮箱服务,这里我们设置true 后避免了这一个复杂的操作,而且就我们个人使用,所以创建一个自己的账户即可,ALLOW_PASSWORD_RESET必须设置为false, 因为搭配上ALLOW_UNVERIFIED_EMAIL_LOGIN会被人绕过修改密码。

Config 文件可以帮助我们设定好需要的 API 提供商和需要哪些模型,我们下一个小节来说。

配置API服务商和模型服务

配置例子:

version: 1.0.8

cache: true

interface:
# Privacy policy settings
privacyPolicy:
externalUrl: 'https://librechat.ai/privacy-policy'
openNewTab: true

# Terms of service
termsOfService:
externalUrl: 'https://librechat.ai/tos'
openNewTab: true

endpoints:
custom:

# Anyscale
- name: "Anyscale"
apiKey: "${ANYSCALE_API_KEY}"
baseURL: "https://api.endpoints.anyscale.com/v1"
models:
default: [
"meta-llama/Llama-2-7b-chat-hf",
]
fetch: true
titleConvo: true
titleModel: "meta-llama/Llama-2-7b-chat-hf"
summarize: false
summaryModel: "meta-llama/Llama-2-7b-chat-hf"
forcePrompt: false
modelDisplayLabel: "Anyscale"

# APIpie
- name: "APIpie"
apiKey: "${APIPIE_API_KEY}"
baseURL: "https://apipie.ai/v1/"
models:
default: [
"gpt-4",
"gpt-4-turbo",
"gpt-3.5-turbo",
"claude-3-opus",
"claude-3-sonnet",
"claude-3-haiku",
"llama-3-70b-instruct",
"llama-3-8b-instruct",
"gemini-pro-1.5",
"gemini-pro",
"mistral-large",
"mistral-medium",
"mistral-small",
"mistral-tiny",
"mixtral-8x22b",
]
fetch: false
titleConvo: true
titleModel: "gpt-3.5-turbo"
dropParams: ["stream"]

#cohere
- name: "cohere"
apiKey: "${COHERE_API_KEY}"
baseURL: "https://api.cohere.ai/v1"
models:
default: ["command-r","command-r-plus","command-light","command-light-nightly","command","command-nightly"]
fetch: false
modelDisplayLabel: "cohere"
titleModel: "command"
dropParams: ["stop", "user", "frequency_penalty", "presence_penalty", "temperature", "top_p"]

# Fireworks
- name: "Fireworks"
apiKey: "${FIREWORKS_API_KEY}"
baseURL: "https://api.fireworks.ai/inference/v1"
models:
default: [
"accounts/fireworks/models/mixtral-8x7b-instruct",
]
fetch: true
titleConvo: true
titleModel: "accounts/fireworks/models/llama-v2-7b-chat"
summarize: false
summaryModel: "accounts/fireworks/models/llama-v2-7b-chat"
forcePrompt: false
modelDisplayLabel: "Fireworks"
dropParams: ["user"]

# groq
- name: "groq"
apiKey: "${GROQ_API_KEY}"
baseURL: "https://api.groq.com/openai/v1/"
models:
default: [
"llama2-70b-4096",
"llama3-70b-8192",
"llama3-8b-8192",
"mixtral-8x7b-32768",
"gemma-7b-it",
]
fetch: false
titleConvo: true
titleModel: "mixtral-8x7b-32768"
modelDisplayLabel: "groq"

模型的提供商主要在endpoints里面提供,LibreChat 支持大量的模型供应商,例如OpenAI, Google, XAI, Openrouter 等等,这些厂商一般都是通过 OpenAI 兼容的端点来实现的,所以我们只需要按照例子中把name修改为我们自己的供应商名称,然后修改apiKeybaseURL 即可。

你可以把apiKey 设置为“user_provided”,这允许你在网页端手动设置并保存在你的浏览器内,防止泄露

然后models填写你需要对话的模型ID,这个一般模型供应商都会在后台提供。想要设置更多的参数,请参考官方文档

最后,把你写好的配置文件放到任意的仓库中,复制这个文件的链接,填入CONFIG_PATH即可。

部署

填写完 secretsvariables 后,单击窗口底部的 Duplicate Space

image

项目现在将构建,这将需要几分钟

image

准备就绪后, Building 将变为 Running 状态

image

你将能够访问 LibreChat!

image

最后

您现在可以通过当前 URL 访问它。如果您不想使用 Hugging Face 访问它,可以点击右上角的三个点,选择Embed this Space, 系统将会弹出一个模态框,里面有个src的一串链接,这个链接就是你部署好的地址,通过这个地址,你就可以脱离hugging face 直接访问了。通常,这个链接类似于

https://username-projectname.hf.space/

🎉 恭喜,您已成功在 Hugging Face 上部署 LibreChat!🤗

评论