上次更新:2024-05-30

#什么是 FydeOS AI?

FydeOS AI 是专为 FydeOS 打造的系统级 AI 助手,支持接入主流 AIGC 服务,并具备运行本地模型的能力。

#FydeOS AI 设置入门

#系统要求

目前 FydeOS AI 处于实验阶段,目前仅在 openFyde 上线。 支持的机型有:

  • openFyde - amd64
  • rpi5-openfyde
  • fydetab_duo-openfyde
  • rock5b-openfyde
  • orangepi5-openfyde
  • edge2-openfyde

#设置步骤

#FydeOS AI 第三方 API

  1. 点击左下角启动器,在应用中找到 FydeOS AI,点击即可启动
  2. 在 FydeOS AI 设置页面的基础设置中选择服务提供商并填写相关信息,填写完成后便可以使用云端大模型对话功能

#FydeOS AI 本地模型

  1. 前往 ,选择你想使用的模型,并下载文件 XXX.rkllm
  2. 启动 FydeOS AI,在设置 - 基础设置页面选择本地模型
  3. 填写模型路径,如模型文件在下载文件夹内,路径为 Downloads/xxx.rkllm;若文件保存在其他位置,路径为「我的文件」下的相对路径
  4. 点击启动本地模型,稍等片刻即可启动本地模型进行对话

#如何使用?

FydeOS AI 功能对普通用户非常友好

  • 你可以在聊天框内自由的向 FydeOS AI 寻求帮助,也可以通过左侧的历史记录查看过往的对话内容
  • 你可以通过语音输入对话内容,寻求快捷的帮助
  • 你可以在选中文本时,按下快捷键 Ctrl+C+C(即按住 Ctrl,然后在两秒内按两次 C),可复制当前内容并在浮窗中询问 FydeOS AI。

#开发者选项

#配置文件

文件路径描述
config/config.yaml设定加载模型时的默认参数
config/fix_freq_rk3588.sh设置在运行模型时,CPU 和 NPU 频率提高

#参数描述

参数名称类型描述默认值
modelPathconst char*模型文件的存放路径-
target_platformconst char*模型运行的硬件平台,可选择的设置包括“rk3576”或“rk3588”-
num_npu_coreint32_t模型推理时使用的 NPU 核心数量,若 target_platform 设置为“rk3576”,可配置的范围为[1, 2];“rk3588”可配置的范围则为[1, 3]-
max_context_lenint32_t设置 prompt 的上下文大小-
max_new_tokensint32_t用于设置模型推理时生成 Token 的数量上限-
top_kint32_ttop-k 采样是一种文本生成方法,它仅从模型预测的前 k 个最可能的 Token 中选择下一个 Token。这种方法有助于减少生成低概率或无意义 Token 的风险。更高的 top-k 值(如 100)将考虑更多的 Token 选择,导致文本更加多样化;而更低的值(如 10)将聚焦于最可能的 Token,生成更加保守的文本。40
top_pfloattop-p 采样,也被称为核心采样,是另一种文本生成方法,从累计概率至少为 p 的一组 Token 中选择下一个 Token。这种方法通过考虑 Token 的概率和采样的 Token 数量来在多样性和质量之间提供平衡。更高的 top-p 值(如 0.95)会使生成的文本更加多样化;而更低的值(如 0.5)将生成更加集中和保守的文本。0.9
temperaturefloat控制生成文本随机性的超参数,它通过调整模型输出 Token 的概率分布来发挥作用;更高的温度(如 1.5)会使输出更加随机和创造性,当温度较高时,模型在选择下一个 Token 时会考虑更多可能性较低的选项,从而产生更多样和意想不到的输出;更低的温度(例 0.5)会使输出更加集中、保守,较低的温度意味着模型在生成文本时更倾向于选择概率高的 Token,从而导致更一致、更可预测的输出;温度为 0 的极端情况下,模型总是选择最有可能的下一个 Token,这会导致每次运行时输出完全相同。0.8
repeat_penaltyfloat控制生成文本中 Token 序列重复的情况,帮助防止模型生成重复或单调的文本。更高的值(例如 1.5)将更强烈地惩罚重复,而较低的值(例如 0.9)则更为宽容。1.1
frequency_penaltyfloat单词/短语重复度惩罚因子,减少总体上使用频率较高的单词/短语的概率,增加使用频率较低的单词/短语的可能性,这可能会使生成的文本更加多样化,但也可能导致生成的文本难以理解或不符合预期。设置范围为[-2.0,2.0]。0
mirostatint32_t在文本生成过程中主动维持生成文本的质量在期望的范围内的算法,它旨在在连贯性和多样性之间找到平衡,避免因过度重复(无聊陷阱)或不连贯(混乱陷阱)导致的低质量输出;取值空间为{0, 1, 2}, 0 表示不启动该算法,1 表示使用 mirostat 算法,2 则表示使用 mirostat2.0 算法。-
mirostat_taufloat选项设置 mirostat 的目标熵,代表生成文本的期望困惑度值。调整目标熵可以让你控制生成文本中连贯性与多样性的平衡。较低的值将导致文本更加集中和连贯,而较高的值将导致文本更加多样化,可能连贯性较差。5.0
mirostat_etafloat选项设置 mirostat 的学习率,学习率影响算法对生成文本反馈的响应速度。较低的学习率将导致调整速度较慢,而较高的学习率将使算法更加灵敏。0.1

引用自 Rockchip_RKLLM_SDK_CN.pdf