> ## Documentation Index
> Fetch the complete documentation index at: https://openfic.syrizelink.top/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 创建模型

<Note>
  在开始创建模型之前，请确保你已经添加了所需的供应商
</Note>

OpenFic 基于内置的[目录](https://models.dev/)为多种模型提供商内置了模型列表，大多数情况下，受支持提供商的模型都可以在列表中找到并直接选用，并包含了开箱即用的元数据。

模型元数据是基于提供商匹配的，而不会基于 Model ID 匹配元数据。因此当使用了内置目录中不存在的模型提供商时，即使所选模型在目录中存在，也不会覆盖元数据。通常情况下，这些信息需要你手动修改，例如价格、上下文长度等。

## 创建一个模型

<Steps>
  <Step title="进入模型页面">
    于左侧边栏底部打开`设置`面板，此处显示了所有可配置项。

    在左侧列表中找到`模型`后点击进入。
  </Step>

  <Step title="添加模型">
    点击`新建模型`按钮，在弹出的表单中填写相关信息。

    在`模型名称`处，可以填写易识别的名称，以便于在添加多个来自不同提供商的相同模型时做区分。

    点击`任务类型`以选择所要添加的模型类型，对于不同模型类型的解释如下：

    <AccordionGroup>
      <Accordion title="语言模型（LLM）">
        主要使用的模型类型，每个 Agent 均基于 LLM 运行，LLM 的性能决定了 Agent 的能力和任务表现。

        此外，也有部分信息提取任务依赖于 LLM 完成，如会话标题的生成、上下文过长时的压缩处理以及对内容的摘要。
      </Accordion>

      <Accordion title="向量模型（Embedding）">
        **索引**功能依赖 Embedding 模型工作，Embedding 的性能决定了文本转换为向量后的准确程度，一般而言，性能较强的模型在复杂的文本环境下会表现得更好。

        如果在索引了某些项目后更换了 Embedding 模型，那么此前的索引会失效，这是因为索引和查询均依赖于模型，不同模型无法交叉地进行索引和查询。
      </Accordion>

      <Accordion title="重排模型（Rerank）">
        如果你希望**索引**功能在复杂文本环境下有更佳的表现，那么 Rerank 模型是必不可少，Rerank 模型在通过 Embedding 模型进行一轮检索后，再进行一轮重排序，通过结合两者的排序得分给出最终结果，在大多数情况下都能较大程度的提升准确度。

        Rerank 模型只做排序，因此在索引完成后，Rerank 模型也可以按需更换而无需重建索引。通常来说，结合使用一般的 Embedding 模型和 Rerank 模型相较于只使用顶级的 Embedding 模型能得到更准确的查询。
      </Accordion>
    </AccordionGroup>

    点击`提供商`以选择所需模型对应的来源提供商，在列表中会显示所有提供商的**备注名称**，如果没有设置，则会显示为URL。

    点击`模型`以选择所需的模型型号，默认情况下，列表中会从内置目录中抓取并显示完整的模型列表。

    对于某些较新的模型无法在内置目录中找到，或是不在目录中的提供商，可以点击搜索框右侧的**刷新**按钮以拉取提供商的模型列表。

    少数情况下，某些提供商可能并不提供模型列表接口，此时你可以手动输入**模型ID**。为此，在打开下拉列表后，在搜索框内输入所需的**模型ID**（通常因提供商而异），并点击"指定为选用模型"以确认。
  </Step>

  <Step title="配置元数据（可选）">
    <Note>
      元数据仅对 \*\*语言模型（LLM）\*\*有效。
    </Note>

    元数据是模型的基本信息，包含以下几个部分：

    * **上下文长度**（Tokens）：控制模型能够使用的上下文大小，会话中的上下文占用率据此显示，在超出这一阈值时，会触发自动压缩。
    * **价格**（\$ / M Tokens）：每百万 Token 的价格，以美元（\$）计，用于会话中预估计费显示。
  </Step>

  <Step title="配置高级参数（可选）">
    <Warning>
      某些提供商可能不支持或不允许使用高级参数，如果你不确定某个参数是否确实受支持，或并不理解参数的作用，请不要修改它，以免产生预期之外的行为。
    </Warning>

    <Note>
      高级参数仅对 \*\*语言模型（LLM）\*\*有效。
    </Note>

    高级参数时用于控制模型的 Token 生成过程，包含以下参数：

    * **Temperature**：控制回复的多样性。值越低，回复越稳定、可预测；值越高，回复越多样。设为`0`时，对于相同输入通常会得到相同回复。
    * **Top P**：将候选限制为累计概率达到`P`的高概率 Token。值越低，回复越可预测。
    * **Top K**：限制每一步生成时可选择的 Token 数量。设为`1`时始终选择概率最高的 Token。`0`表示禁用限制，考虑所有候选。
    * **Min P**：设置 Token 被考虑的最低概率，此概率相对于最高概率的 Token 计算。比如 `0.1` 表示只允许概率至少为最佳候选十分之一的 Tokens。
    * **Top A**：只考虑相对于最高概率的 Token 下，具有足够高概率的候选 Tokens。值越低，候选范围越窄；较高的值不一定会提高创造性，而是会基于最高概率调整筛选范围。
    * **Frequency Penalty**：根据 Token 在输入中出现的频率控制重复。出现次数越多，模型越倾向于减少使用；惩罚会随出现次数增加。负值会鼓励重复使用 Token。
    * **Presence Penalty**：调整模型重复输入已经出现过的 Token 的可能性。值越高，越不容易重复；负值则相反。惩罚不会随着出现次数增加，负值会鼓励重复使用 Token。
    * **Repetition Penalty**：降低模型重复输入 Token 的概率。值越高，越不容易重复；但过高可能导致回复不连贯，例如生成过长、缺少连接词的句子。惩罚会根据原始 Token 概率进行缩放。

    参考 [API Parameters](https://openrouter.ai/docs/api_reference/parameters)
  </Step>

  <Step title="验证模型连接">
    <Warning>
      注意，为了验证连接有效，此处产生真实的模型请求，系统将发送一条简短的消息，以判断是否能够收到结果。
    </Warning>

    创建模型后，点击列表项右侧的`验证模型连接`按钮，系统会使用该模型发送一条消息。

    等待验证完成后，若成功，按钮会变为绿色，并弹出 Toast 提示`模型连接验证成功`。
  </Step>
</Steps>

## 配置默认模型

默认模型需要手动选择，默认情况下，即使创建了模型，此处也不会自动选择。

* **默认模型**：Agent默认使用的模型，在**会话**或**智能体设置**中可以随时更换以不使用此处的默认值。
* **轻量模型**：用于标题生成、摘要生成等轻量任务使用的模型，再没有配置此处的默认值时，这些功能将不可用。如果此类任务发生错误而失败时，请优先检查是否配置了轻量模型，以及轻量模型是否确实可用。

## 内置模型

系统基于 [FastEmbed](https://qdrant.github.io/fastembed/) 分别内置了一个小尺寸的 Embedding 和 Rerank 模型，它们在你的设备上本地运行，仅占用非常少的资源即可提供最基本的索引服务。

* **bge-small-zh-v1.5**（Embedding 模型 / 512 维度 / \~90MB）
* **ms-marco-MiniLM-L-6-v2**（Rerank 模型 / \~80MB）

这些模型并非直接内嵌在包中的，因此在选用内置模型后，在初次使用时，需要从远端下载，通常 FastEmbed 会选择 Google 或 HuggingFace 的源进行下载，请确保你的网络能够正常访问。在下载完成之前，索引将被阻塞，且这些模型不可用。

内置模型受限于尺寸，通常在较长的文本或复杂语境中难以清晰的理解语义，从而降低检索的准确度，因此推荐更换性能更强的模型。

出于成本考虑，你可以在 [OpenRouter](https://openrouter.ai/models) 找到一些**免费**的 [Embedding 模型](https://openrouter.ai/models?output_modalities=embeddings\&max_price=0)和[ Rerank 模型](https://openrouter.ai/models?output_modalities=rerank\&max_price=0)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.