feat(portal): add logical group guidance config
This commit is contained in:
@@ -531,6 +531,20 @@
|
||||
description
|
||||
<textarea id="group-description" placeholder="例如:对用户只暴露一个 GPT Shared 分组,内部按 route 转到不同 shadow group"></textarea>
|
||||
</label>
|
||||
<label style="margin-top:12px;">
|
||||
usage_scenario
|
||||
<textarea id="group-usage-scenario" placeholder="例如:适合高质量推理、复杂编排、统一 GPT 产品入口。"></textarea>
|
||||
</label>
|
||||
<div class="field-grid two" style="margin-top:12px;">
|
||||
<label>
|
||||
recommendation
|
||||
<textarea id="group-recommendation" placeholder="例如:优先使用 gpt-5.4 做主模型。"></textarea>
|
||||
</label>
|
||||
<label>
|
||||
next_step_hint
|
||||
<textarea id="group-next-step-hint" placeholder="例如:先创建测试 Key,再按推荐模型发起第一次请求。"></textarea>
|
||||
</label>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<button class="primary" id="create-group-btn" type="button">创建分组</button>
|
||||
<button class="secondary" id="update-group-btn" type="button">更新分组</button>
|
||||
@@ -691,6 +705,9 @@
|
||||
const groupDisplayNameInput = document.getElementById("group-display-name");
|
||||
const groupStatusInput = document.getElementById("group-status-input");
|
||||
const groupDescriptionInput = document.getElementById("group-description");
|
||||
const groupUsageScenarioInput = document.getElementById("group-usage-scenario");
|
||||
const groupRecommendationInput = document.getElementById("group-recommendation");
|
||||
const groupNextStepHintInput = document.getElementById("group-next-step-hint");
|
||||
const groupRoutePolicyInput = document.getElementById("group-route-policy");
|
||||
const groupStickyModeInput = document.getElementById("group-sticky-mode");
|
||||
const groupConversationTTLInput = document.getElementById("group-conversation-ttl");
|
||||
@@ -868,6 +885,9 @@
|
||||
display_name: groupDisplayNameInput.value.trim(),
|
||||
status: groupStatusInput.value,
|
||||
description: groupDescriptionInput.value.trim(),
|
||||
usage_scenario: groupUsageScenarioInput.value.trim(),
|
||||
recommendation: groupRecommendationInput.value.trim(),
|
||||
next_step_hint: groupNextStepHintInput.value.trim(),
|
||||
route_policy: groupRoutePolicyInput.value,
|
||||
sticky_mode: groupStickyModeInput.value,
|
||||
conversation_ttl_seconds: Number(groupConversationTTLInput.value || "0"),
|
||||
@@ -896,6 +916,9 @@
|
||||
groupDisplayNameInput.value = group?.display_name || "";
|
||||
groupStatusInput.value = group?.status || "active";
|
||||
groupDescriptionInput.value = group?.description || "";
|
||||
groupUsageScenarioInput.value = group?.usage_scenario || "";
|
||||
groupRecommendationInput.value = group?.recommendation || "";
|
||||
groupNextStepHintInput.value = group?.next_step_hint || "";
|
||||
groupRoutePolicyInput.value = group?.route_policy || "priority";
|
||||
groupStickyModeInput.value = group?.sticky_mode || "conversation_preferred";
|
||||
groupConversationTTLInput.value = String(group?.conversation_ttl_seconds || 7200);
|
||||
|
||||
@@ -823,7 +823,7 @@
|
||||
description: "适合 DeepSeek 官方 chat 路线需求。当前用户侧建议直接使用 deepseek-chat。"
|
||||
}
|
||||
};
|
||||
const MODEL_GUIDANCE = {
|
||||
const LEGACY_MODEL_GUIDANCE = {
|
||||
"kimi-k2.6": {
|
||||
scenario: "适合日常聊天、长上下文问答和轻量智能体使用。",
|
||||
recommendation: "默认先从这条模型线开始验证接入是否通畅。"
|
||||
@@ -1254,11 +1254,14 @@
|
||||
const group = row.logicalGroup;
|
||||
const models = portalLogicalGroupModels(group);
|
||||
const primaryModel = models[0] || "";
|
||||
const guidance = MODEL_GUIDANCE[primaryModel] || {
|
||||
const configuredScenario = String(group.usage_scenario || "").trim();
|
||||
const configuredRecommendation = String(group.recommendation || "").trim();
|
||||
const configuredNextStep = String(group.next_step_hint || "").trim();
|
||||
const guidance = LEGACY_MODEL_GUIDANCE[primaryModel] || {
|
||||
scenario: "适合按该逻辑分组下的公开模型集合统一接入。",
|
||||
recommendation: "建议先用列表中的第一个公开模型做连通性验证。"
|
||||
};
|
||||
const nextStep = row.stateKey === "active"
|
||||
const defaultNextStep = row.stateKey === "active"
|
||||
? "当前已具备订阅与权限,建议直接创建测试 Key 并使用推荐模型发起第一次请求。"
|
||||
: row.stateKey === "granted"
|
||||
? "当前已具备线路权限,但未发现活跃订阅;建议先确认订阅状态后再发起调用。"
|
||||
@@ -1274,9 +1277,9 @@
|
||||
models,
|
||||
stateText: row.stateText,
|
||||
stateKey: row.stateKey,
|
||||
scenario: guidance.scenario,
|
||||
recommendation: guidance.recommendation,
|
||||
nextStep,
|
||||
scenario: configuredScenario || guidance.scenario,
|
||||
recommendation: configuredRecommendation || guidance.recommendation,
|
||||
nextStep: configuredNextStep || defaultNextStep,
|
||||
compatibility,
|
||||
stickyMode: group.sticky_mode || "conversation_preferred",
|
||||
routePolicy: group.route_policy || "priority"
|
||||
|
||||
Reference in New Issue
Block a user