1.5 KiB
1.5 KiB
多模型并行调用功能设计
概述
支持同时配置最多3个LLM大模型,主页面同时显示3个结果框,发送时并行调用所有已配置的模型。
配置页面 (SecondActivity)
布局
垂直排列3个模型配置卡片,每组包含:
- 配置名称 (EditText)
- Base URL (EditText)
- API Key + 显示/隐藏切换 (EditText + ImageButton)
- Model (EditText)
- 测试连接按钮 + 状态文本
交互
- 每个模型独立的「测试连接」按钮
- 保存时持久化3个模型的配置到 SharedPreferences
主页面 (MainActivity)
布局
结果显示区改为水平 ScrollView,内含3个结果卡片:
- 每个卡片 300dp 宽
- 包含:模型名称、状态标签、结果文本框、复制按钮
- 未配置的模型卡片显示为空或隐藏
发送逻辑
- 获取所有已配置的模型列表
- 并行启动 coroutine 给每个模型发送请求
- 各自更新各自的结果框
- 任意模型完成后更新总状态
数据结构
data class LLMConfig(
val name: String,
val baseUrl: String,
val apiKey: String,
val model: String
)
data class SettingsData(
val llmConfigs: List<LLMConfig> // 支持1-3个
)
文件变更
activity_second.xml- 增加2组模型配置卡片SecondActivity.kt- 加载/保存3个模型配置,3个独立测试功能activity_main.xml- 结果区改为水平布局3个结果卡片MainActivity.kt- 并行调用所有模型,各自更新结果