Operit AI教程系列4:模型配置与上下文

0 阅读7分钟

04. 模型配置与上下文

从这里开始内容会稍微复杂一些。 可能会有人说:太麻烦了,为什么要设计那么多的选项?答:这纯粹是为了更高的自由度,当然也有一些历史包袱。下一个大版本会有改进,不过这个版本嘛。。暂时就这样了。

为了让配置更为方便,在1.10.0以上的版本,你可以通过直接在聊天界面要求ai,让ai帮你完成配置。 不过还是非常建议,把下面的这些东西看完的;这费不了各位多少时间,但是我相信能对这些功能有所了解。

首先是在设置界面可以找到模型与参数配置的设置项。

接着,我们就进入了模型配置界面。

API设置

云端模型

供应商和端点

为了更好地选择供应商,我们补充一些基础知识:模型的接口并非完全统一。以下几段话为补充资料,各位可以选择性阅读。

目前的接口主要有三大类:OpenAI端点、Anthropic端点、Gemini端点,而OpenAI端点下又分为completions以及responses两种格式。目前市面上最通用的是OpenAI的completions接口形式。 不同端点不可以混用。 比如,你不可以把OpenAI形式的API,在不进行任何调整的情况下,直接丢给Gemini通用供应商选项,这样会报错。

每个端点都有它独特的标志。最显而易见的是:路由不同,说白了就是链接的末尾长的不一样。以openai为例,它的端点是https://api.openai.com/v1/chat/completions,特征非常的明显,以v1/chat/completions结尾。而openai responses格式,则是https://api.openai.com/v1/responses,以v1/chat/completions结尾。

再列举一个例子,deepseek api的请求地址就是https://api.deepseek.com/v1/chat/completions

正是因为接口并非完全统一,所以我们要选择到正确的api提供商从哪个平台拿到的key,就需要用哪个平台的提供商类型。 这里分两个情况。

情况一:列表找得到供应商

在选择完供应商后,api端点会被自动填写。 如果你是glm之类的coding plan,那么需要额外点击一次端点区域,去选择对应的coding端点。

情况二:列表找不到供应商

如果在列表里面找不到,那么请选择大类:openai通用/openai response通用/authropic通用/gemini通用。一般而言前两个用的比较多。 接下来需要手动填写,具体填哪个,需要参考你拿key的那个网站文档。

密钥

这里的api密钥,也就是我们前文提到的api key。填入进去即可。

模型名称

点击模型输入框右侧的按钮,可以自动拉取模型列表,然后勾选一个或者多个模型。

如果拉取不到,也没有关系,你可以尝试手动填写。

到这里,云端模型的基本三要素齐全。

本地模型

Operit支持了两种类型的本地模型(ollama供应商属于上面的云端模型):mnn以及llama.cpp。本地模型运行基本上。。。。跑不起来,但是考虑到有这种需求,我们还是把它加上去了。

本地模型运行的时候,请在对话界面的菜单里面选择:禁用工具。如果不禁用,那么你将会享受到非常长的推理时间以及可能的死机和崩溃,因为工具提示词实在是太太太长了,手机带不动。

如果真的想要试试工具,建议把各种工具都关掉,只开一个或者两个工具。具体如何操作,我们将会在后面的工具部分详细介绍,这里不过多展开。

只要将api供应商选择为llama或者mnn即可。mnn我们提供了下载途径,llama需要自备模型。

有很多人问我能不能支持npu,没问题,但是前提是官方先得支持我才能搬过来a(

Operit将mnn的文件储存在/storage/emulated/0/Download/Operit/models/mnn里面,将llama的文件储存在/storage/emulated/0/Download/Operit/models/llama里面,各位可以使用文件管理器自行管理。

其他开关

所有的模型都有:模型支持识图、模型支持音频解析、模型支持视频解析、toolcall、严格toolcall。

一般情况下,建议开toolcall以及严格toolcall。虽然软件内说明的是非报错可不开,但是很多人遇到了如下问题:ai一直激活各种工具包倒是不调用,尤其是glm5以上以及gpt,这种就一定要开严格toolcall。为了避免麻烦,不如能toolcall的全部开严格。

模型支持识图、音频、视频,这个请根据实际情况来,这个就是纯字面意思。最简单的方法就是三个一起开,然后点一下最上面的测试,报错了,就给它关了,说明这个模型不支持报错的项目。

可能会有人想问:这几个不开会影响什么吗?会也不会。比如deepseek,不支持识图,这里把模型支持识图关了,但是模型本身依旧可以通过软件内置的ocr识别文本去读取图片,但是如果你对软件撒谎,为deepseek开启了模型支持识图,那反而会在运行的时候报错。

以及,这将会给软件一个委托的标准,简单而言就是,不支持多模态识别的模型,去找另外一个你设定的支持多模态的配置,让这个模型配置帮帮忙识别一下内容再转达回来。通过这种方法也是可以完成多模态的。这将会在下一个章节讲。

上下文设置与总结设置

什么是上下文?上下文就是,把聊天记录以及你发的话喂给ai,喂的这一部分就是上下文。

上下文设置,也是需要根据模型的能力,诚实地填写,因为这样才能确保软件发挥模型的最大能力。第一个空上下文长度,表示你在日常使用的时候希望用到的上下文长度,而第二个空,则表示api最大能够承担的上下文,好比glm 200k,deepseek 128k。

上下文设置是为总结服务的。软件会自动评估当前使用的上下文长度,然后去对照这里填写的值:当发现满足了下面的总结条件的时候,就会自动触发一次压缩,确保上下文长度在给定的窗口之内。

填一个日常使用,以及一个最大,用途是动态决定使用量。而这个切换的开关就是在聊天界面-模型选择里面的 max 模式。当 max 关闭的时候,软件就会以第一个空的大小为标准,去帮你控制上下文,开启则是以最大为标准。

总结设置就很一目了然了,一个按照消息总结,一个按照阈值总结。当然这个都是自动总结,如果想要手动,可以参考上一篇界面介绍里面的,长按消息,有个插入总结的选项能用。可以插入到聊天的任意位置。

然后就是要特别说明,软件会以选中聊天模型配置里面上下文以及总结的量作为当前使用量。

如果发现总结卡住,可以参考下一节的内容去寻找原因。因为总结和那个识图一样,也是委托别的模型配置完成的。

上下文与总结以及max模式后面不会再单独设置文章详解,差不多就上面说的这些了。

模型参数设置

模型参数没啥需要特殊说明的。 特别关注一下这个模型输出量的 max_tokens 参数。这个参数并不是上下文,而是指模型输出的最大长度。对于 DeepSeek,可以打开它,并设置 8192,对于其他模型,可以关闭或者打开并自行调整。

自定义请求头

这一部分在1.10.0部分是独立出来而并非跟随模型的。 一般情况下,用不到,对于一些对请求头有特殊要求的,可以更改此项目。

高级设置

这里主要是控制模型的请求速率限制,以及维护一个密钥池。

密钥池会对所有池子里面的密钥进行测试,然后在请求的时候覆盖前面的密钥,并依次轮着用。