LLM 配置与使用

1. 如何在国内环境中使用 OpenAI 代理服务器进行访问?

Dify 支持 OpenAI 的自定义 API 域名能力,支持任何兼容 OpenAI 的大模型 API 服务器。社区版中,通过 设置 --> 模型供应商 --> OpenAI --> 编辑 API 入口处填写目标服务器地址即可。

2. 如何选择基础模型?

3. 为什么建议 max_tokens 设置小一点?

因为在自然语言处理中,较长的文本输出通常需要更长的计算时间和更多的计算资源。因此,限制输出文本的长度可以在一定程度上降低计算成本和计算时间。例如设置:max_tokens=500 ,表示最多只考虑输出文本的前 500 个 token,而超过这个长度的部分将会被丢弃。这样做的目的是保证输出文本的长度不会超过 LLM 的接受范围,同时还可以充分利用计算资源,提高模型的运行效率。另一方面,更多的情况是,限制 max_tokens 能够增加 prompt 的长度,如 gpt-3.5-turbo 的限制为 4097 tokens,如果设置 max_tokens=4000,那么 prompt 就只剩下 97 tokens 可用,如果超过就会报错。

4. 数据集长文本如何切分比较合理?

在一些自然语言处理应用中,通常会将文本按照段落或者句子进行切分,以便更好地处理和理解文本中的语义和结构信息。最小切分单位取决于具体的任务和技术实现。例如:

最后,还需要进行实验和评估来确定最合适的 embedding 技术和切分单位。可以在测试集上 / 命中测试比较不同技术和切分单位的性能表现,并选择最优的方案。

5. 我们在获取数据集分段时用的什么距离函数?

我们使用余弦相似度。距离函数的选择通常无关紧要。OpenAI 嵌入被归一化为长度 1,这意味着:

仅使用点积可以稍微更快地计算余弦相似度

余弦相似度和欧几里德距离将导致相同的排名

当嵌入向量被归一化为长度 1 后,计算两个向量之间的余弦相似度可以简化为它们的点积。因为归一化后的向量长度都为 1,点积的结果就等同于余弦相似度的结果。由于点积运算相对于其他相似度度量(如欧几里德距离)的计算速度更快,因此使用归一化的向量进行点积计算可以稍微提高计算效率。

6. 如何免费申领智谱·AI、讯飞星火、MiniMax 模型的体验额度?

我们联合大模型厂商向中国用户提供一定的 token 体验额度。通过 Dify **设置 --> 模型供应商 --> 显示更多模型供应商。**在智谱·AI、讯飞星火或 MiniMax 图标处点击【免费获取】,如果你在英文界面看不到领取入口,请将产品语言切换成为中文: