[RFC] 033 - 模型列表 #1686
arvinxx
started this conversation in
RFC | 特性开发
Replies: 1 comment
-
各提供商包括 Ollama, 都提供了模型列表查询的接口。
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景
设计思路
实现一个统一的模型选择器的设计方案,同时满足以下需求:
模型列表展示
UI
使用 antd 的 Select tag 模式,可以同时兼容 1 和 3 的需求。
数据流
模型列表的展示从颗粒度上应该分为三个层次:
ProviderModelList
,这个列表的数据来源可能是LobeChat 预定义,也可能是 OpenRouter/Ollama 这样有一个远程数据;models
,这个数据代表着用户希望在界面中开启的模型,比如某些用户就不希望显示claude2.1
(refs),此处可以只记录 id ;model
,这个字段代表在会话中实际使用的模型。之前的数据处理由于不存在
models
这一层概念,因此 model 展示部分是直接在modelSelectList
中完成全部处理工作:由于现在在 Settings 中多了一层 models 的控制,我们可以尝试优化一下这部分的实现了:
customModelName
应该仍然可以保留,仍然作为服务端控制 ProviderModelList 的方法;customModelName
可以直接移除,替换为models
的使用逻辑,这里就需要做一个数据迁移,并看下对齐到 customModelName 还需要的特性;modelProvider.providerModelList
代表了 lobechat + server 预定义的官方 list。modelSelectList
代表了经过加工后的,用户偏好的模型选择列表。加工所需要的第一个字段:
models
: 用于处理用户开启/关闭某个选择的模型加工所需要的第二个字段:
customModelCards
: 用于配置模型层的模型列表, 作用就是在 client 侧补充一个定义模型属性/能力的位置进展
在 #1916 实施
Beta Was this translation helpful? Give feedback.
All reactions