Files
EasyFlow/easyflow-ui-admin/app/src/api/ai/llm.ts
陈子默 791649c7d5 feat: 增强智能体模型调用兼容能力
- 增加模型流式开关和 HTTP 传输策略配置

- 使用 AgentScope 执行基础连接、流式与 VLM 双阶段验证

- 固定多模态校验图片并统一验证状态展示
2026-07-17 19:57:06 +08:00

105 lines
2.4 KiB
TypeScript

import { api } from '#/api/request.js';
// 获取LLM供应商
export async function getLlmProviderList() {
return api.get('/api/v1/modelProvider/list');
}
export interface ModelListQuery {
modelType?: string;
providerId?: string;
}
export async function getModelList(params: ModelListQuery = {}) {
return api.get('/api/v1/model/list', { params });
}
export async function getInvokeModelList() {
return api.get('/api/v1/model/invokeList');
}
// 保存LLM
export async function saveLlm(data: string) {
return api.post('/api/v1/model/save', data);
}
// 删除LLM
export async function deleteLlm(data: any) {
return api.post(`/api/v1/model/remove`, data);
}
// 修改LLM
export async function updateLlm(data: any) {
return api.post(`/api/v1/model/update`, data);
}
export async function verifyModelConfig(id: string) {
return api.get('/api/v1/model/verifyLlmConfig', { params: { id } });
}
export type ModelVerificationStageStatus =
| 'FAILED'
| 'PARTIAL'
| 'PASSED'
| 'SKIPPED';
export interface ModelVerificationData {
dimension?: number;
effectiveHttpVersion?: string;
message?: string;
nonStreaming?: ModelVerificationStageStatus;
status?: ModelVerificationStageStatus;
streaming?: ModelVerificationStageStatus;
}
export interface ModelInvokeConfigPayload {
id: string;
invokeCode?: string;
publishEnabled: boolean;
}
export async function updateModelInvokeConfig(data: ModelInvokeConfigPayload) {
return api.post('/api/v1/model/updateInvokeConfig', data);
}
export interface BatchModelInvokePublishPayload {
ids: string[];
publishEnabled: boolean;
}
export async function batchUpdateInvokePublishStatus(
data: BatchModelInvokePublishPayload,
) {
return api.post('/api/v1/model/batchUpdateInvokePublishStatus', data);
}
// 一键添加LLM
export async function quickAddLlm(data: any) {
return api.post(`/api/v1/model/quickAdd`, data);
}
export interface llmType {
id: string;
providerId?: string;
title: string;
modelName?: string;
modelProvider: {
icon: string;
providerName: string;
providerType: string;
};
llmModel: string;
icon: string;
description: string;
modelType: string;
groupName: string;
invokeCode?: string;
publishEnabled?: boolean;
supportTool?: boolean;
supportImage?: boolean;
supportImageB64Only?: boolean;
supportToolMessage?: boolean;
added: boolean;
aiLlmProvider: any;
}