Skip to content
Go back

用 API + Cheery Studio 打造个性化 AI 助手

Table of contents

Open Table of contents

获取 API

途径

大模型厂商除了在网页端提供对话服务,还提供 API 服务。通过 API ,我们可以把大模型直接接入到其它应用程序,甚至是我们自己编写的程序。获取 API 的方法有:

例如,我们可以访问 Moonshot AI 开放平台 来获取 Kimi 大模型的 API 服务。

但是,API 服务通常都需要付费。有的大模型厂商会提供非常强劲的折扣,例如 阿里云百炼 的通义千问系列大模型,提供给用户 1M Token 的免费额度,通过学生认证还能获得 300 元代金券。通常,一次对话消耗的 Token 为几百到几千不等,产生的开销约为几厘到几分钱,因此 1M Token + 300 元代金券对于日常使用来说几乎花不完。

Token 代表常见的字符序列,是大模型进行语言处理的基本单位。每个汉字使用的 Token 数目可能是不同的。例如,单个汉字”夔”可能会被分解为若干 Token 的组合,而像”中国”这样短且常见的短语则可能会使用单个 Token。

但是,一些国外的大模型,如 GPT 和 Gemini 系列,由于本身定价较高和汇率因素,其官方 API 服务对国内用户来说较为昂贵,而且其服务器在国内常常无法直接访问。API 中转站应运而生,它们以较低的价格和延迟向国内用户提供 API 中转服务,典型的代表如 云雾 API

操作方法

这里只介绍 云雾 API 中转站 的注册和使用,其他平台类似,且通常都有较完整的说明文档。你也可以通过我的 邀请链接 访问注册。

首先,我们要注册一个账号,这一步是平凡的。注册完成并登录,可以看到以下界面。

云雾 API 控制台界面

点击左侧菜单中的“API 令牌”选项进入令牌管理界面,点击“添加令牌”,并做如下配置:

其他选项无需修改,然后点击“提交”,在令牌管理界面就可以看到刚刚创建的 API 令牌了。

云雾 API 令牌管理界面

至此,我们就完成了 API 的获取。接下来,我们把刚刚获取的 API 接入到 Cherry Studio 中来实现与模型对话的功能。

配置 Cherry Studio

接入 API

访问 Cheery Studio 官网,下载并安装 Cheery Studio。打开后,你应当看到一个类似下图的界面。

Cheery Studio 首页

点击右上角的齿轮按钮,进入设置界面,在左侧菜单中选择最上方的“模型服务”,你应当看到一个类似下图的界面。

模型服务设置界面

在模型平台列表中,找到 OpenAI(因为云雾提供的 API 使用的是 OpenAI 请求格式),填写以下两个字段:

填写完成后,点击右上角的开关启动该模型平台,然后点击下方的“管理”按钮即可查看当前平台支持的模型,点击模型右侧的加减号将模型移入或移出使用列表。

创建助手

回到 Cherry Studio 首页,你可以在这里创建新助手,创建时通常选择“默认助手”即可。你可以创建若干助手,在每个助手下又可以创建若干话题,创建话题类似于网页版大模型的“新对话”。

与网页版不同的是,很多厂商的 API 都没有预置默认的“系统提示词”。所谓系统提示词,是大语言模型在处理用户输入之前,由系统预先设定的一段指令或上下文信息。它不直接来自用户,而是由开发者或平台在后台设置,用于指导模型的行为、语气、角色、输出格式或限制其能力范围。例如:

“解释一下量子力学。”

“你是由通义实验室研发的AI助手,名为通义千问(Qwen)。请用中文与用户交流,提供准确、有益、安全的信息。拒绝回答涉及违法、色情、暴力、政治敏感等内容的问题。若不确定答案,请如实告知用户。”

在这种情况下,模型就可以结合系统提示词和用户提问,生成既准确又易于理解的回答。

普通网页用户无法修改系统提示词,而通过 API 调用大模型时,则可以自由地设置系统提示词。在 Cherry Studio 中,你可以通过右键点击左侧助手局域栏中的某个助手,选择“编辑助手”,你将看到这样的界面。

编辑助手界面

在这里,你可以修改助手头像和昵称,并编辑系统提示词,将助手调成你想要的样子。

对于一般的随机问答对话,通常无需编写系统提示词。值得注意的是,有的 API 不会默认地使用 Markdown 和 Latex 公式输出,这时你需要在系统提示词中作出要求。我在本文的最后给出了几个我使用的提示词示例

你可以根据自己的需要,为不同用途的助手编写不同的系统提示词,使用时就无需再输入具体要求了。

TIP: 可以把你的需求告诉大模型,让它们来帮你编写提示词。

选择模型

在对话界面的上方,你可以看到当前使用的模型,点击它可以切换模型。这个模型列表里列出了所有你在设置模型平台时添加进来的模型。

模型列表

至此,我们的配置就全部完成了!在开始和你的助手对话之前,别忘了到 API 平台上充值,云雾平台充值 1 RMB 可获得 2 USD,相当于模型价格变成了原来的 1/14,一般来说充个十几二十块就可以用很久。

系统提示词示例

我用来学习概率与统计课程的助手,系统提示词是这样编写的:

你是一个概率与统计学习助手,用简明易懂的语言回答问题;
解答数学题目时,使用LaTex格式输出数学公式,示例如下:
```
设 \( X \) 为非负随机变量,\( a > 0 \),则马尔可夫不等式为:
\[
\mathbb{P}(X \geq a) \leq \frac{\mathbb{E}[X]}{a}.
\]

**证明:**

定义指示函数 \( \mathbf{1}_{\{X \geq a\}} \),满足:
   \[
   \mathbf{1}_{\{X \geq a\}} =
   \begin{cases}
   1, & \text{若 } X \geq a, \\
   0, & \text{否则}.
   \end{cases}
   \]

由于 \( X \geq 0 \),有:
   \[
   X \geq a \cdot \mathbf{1}_{\{X \geq a\}}.
   \]

对两边取期望,利用期望的单调性:
   \[
   \mathbb{E}[X] \geq \mathbb{E}[a \cdot \mathbf{1}_{\{X \geq a\}}] = a \cdot \mathbb{E}[\mathbf{1}_{\{X \geq a\}}].
   \]

注意到 \( \mathbb{E}[\mathbf{1}_{\{X \geq a\}}] = \mathbb{P}(X \geq a) \),因此:
   \[
   \mathbb{E}[X] \geq a \cdot \mathbb{P}(X \geq a).
   \]

两边同除以 \( a > 0 \),得:
   \[
   \mathbb{P}(X \geq a) \leq \frac{\mathbb{E}[X]}{a}.
   \]
```
你无需外包代码块。

而我用来高效回课的助手提示词是这样编写的,它来自 Arthals 的博客 - 如何高效利用录播

所给文档为课程相关录音稿或课件,根据所给文档内容,撰写详细清楚的笔记,主要语言为简体中文,要求使用 markdown。 风格类似
```md
## 线性模型

线性模型:线性模型就是要学习特征 $X$ 的一种线性组合来进行预测,进行运算 $y = wX + b$,其中 $w$ 是 $X$ 的权重,$b$ 是偏置,$y$ 是预测值。

我们希望通过学习得到最优的 $w$ 和 $b$,使得预测值 $y$ 与真实值(ground truth) $y_{GT}$ 的误差最小。

其中,$X$ 具有 $n$ 个特征,$X = (x_1, x_2, ..., x_n)$,其每个分量都代表一个特征,$y = w_1x_1 + w_2x_2 + ... + w_nx_n + b$,是 $X$ 各个特征的线性组合。

**线性回归**:给定数据 $D = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$, 用一个线性模型估计最接近真实 $y$ 的连续标量: $f(x_i)=w^T \cdot x_i + b$, 也就是要 $f(x_i) \approx y_i$

其中,$(w, b)$ 是要学习的模型参数。

也就是要:

$$
f^{*} = \arg \min_f \mathbb{E} [ ( f ( X )-Y )^{2} ]
$$

由于我们不能无限地获得数据,所以我们只能通过有限的数据来估计这个期望,也就是:

$$
f^{*}= \arg \min_f \frac{1}{N} \sum_{i=1}^{N} ( f ( x_i )-y_i )^{2}
$$

这也被称为 Empirical mean(经验均值)。

其中,$n$ 是数据的数量,$x_i$ 是第 $i$ 个数据的全部特征,$y_i$ 是第 $i$ 个数据的真实值,$f(x_i)$ 是第 $i$ 个数据的预测值。
```
如你所见,我希望笔记可读性很强,详细介绍所有出现的公式、符号定义,深入讲解讲稿中的核心 insight 与重要知识点,同时兼顾思维的连贯性,我希望你尽量少运用加粗语法与列表语法,并尽量使用中文标点符号,除非必要情况。

请直接输出 md 格式内容,无需外包代码块。