feat:【antd/ele】【ai】优化 api 格式
This commit is contained in:
@@ -15,7 +15,6 @@ export namespace AiChatConversationApi {
|
|||||||
maxTokens: number; // 单条回复的最大 Token 数量
|
maxTokens: number; // 单条回复的最大 Token 数量
|
||||||
maxContexts: number; // 上下文的最大 Message 数量
|
maxContexts: number; // 上下文的最大 Message 数量
|
||||||
createTime?: Date; // 创建时间
|
createTime?: Date; // 创建时间
|
||||||
// 额外字段
|
|
||||||
systemMessage?: string; // 角色设定
|
systemMessage?: string; // 角色设定
|
||||||
modelName?: string; // 模型名字
|
modelName?: string; // 模型名字
|
||||||
roleAvatar?: string; // 角色头像
|
roleAvatar?: string; // 角色头像
|
||||||
@@ -24,52 +23,52 @@ export namespace AiChatConversationApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得【我的】聊天对话
|
/** 获得【我的】聊天对话 */
|
||||||
export function getChatConversationMy(id: number) {
|
export function getChatConversationMy(id: number) {
|
||||||
return requestClient.get<AiChatConversationApi.ChatConversation>(
|
return requestClient.get<AiChatConversationApi.ChatConversation>(
|
||||||
`/ai/chat/conversation/get-my?id=${id}`,
|
`/ai/chat/conversation/get-my?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增【我的】聊天对话
|
/** 新增【我的】聊天对话 */
|
||||||
export function createChatConversationMy(
|
export function createChatConversationMy(
|
||||||
data: AiChatConversationApi.ChatConversation,
|
data: AiChatConversationApi.ChatConversation,
|
||||||
) {
|
) {
|
||||||
return requestClient.post('/ai/chat/conversation/create-my', data);
|
return requestClient.post('/ai/chat/conversation/create-my', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新【我的】聊天对话
|
/** 更新【我的】聊天对话 */
|
||||||
export function updateChatConversationMy(
|
export function updateChatConversationMy(
|
||||||
data: AiChatConversationApi.ChatConversation,
|
data: AiChatConversationApi.ChatConversation,
|
||||||
) {
|
) {
|
||||||
return requestClient.put(`/ai/chat/conversation/update-my`, data);
|
return requestClient.put(`/ai/chat/conversation/update-my`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除【我的】聊天对话
|
/** 删除【我的】聊天对话 */
|
||||||
export function deleteChatConversationMy(id: number) {
|
export function deleteChatConversationMy(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`);
|
return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除【我的】所有对话,置顶除外
|
/** 删除【我的】所有对话,置顶除外 */
|
||||||
export function deleteChatConversationMyByUnpinned() {
|
export function deleteChatConversationMyByUnpinned() {
|
||||||
return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`);
|
return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得【我的】聊天对话列表
|
/** 获得【我的】聊天对话列表 */
|
||||||
export function getChatConversationMyList() {
|
export function getChatConversationMyList() {
|
||||||
return requestClient.get<AiChatConversationApi.ChatConversation[]>(
|
return requestClient.get<AiChatConversationApi.ChatConversation[]>(
|
||||||
`/ai/chat/conversation/my-list`,
|
`/ai/chat/conversation/my-list`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得【我的】聊天对话列表
|
/** 获得【我的】聊天对话列表 */
|
||||||
export function getChatConversationPage(params: any) {
|
export function getChatConversationPage(params: any) {
|
||||||
return requestClient.get<
|
return requestClient.get<
|
||||||
PageResult<AiChatConversationApi.ChatConversation[]>
|
PageResult<AiChatConversationApi.ChatConversation[]>
|
||||||
>(`/ai/chat/conversation/page`, { params });
|
>(`/ai/chat/conversation/page`, { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 管理员删除消息
|
/** 管理员删除消息 */
|
||||||
export function deleteChatConversationByAdmin(id: number) {
|
export function deleteChatConversationByAdmin(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`);
|
return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export namespace AiChatMessageApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 消息列表
|
/** 消息列表 */
|
||||||
export function getChatMessageListByConversationId(
|
export function getChatMessageListByConversationId(
|
||||||
conversationId: null | number,
|
conversationId: null | number,
|
||||||
) {
|
) {
|
||||||
@@ -55,7 +55,7 @@ export function getChatMessageListByConversationId(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送 Stream 消息
|
/** 发送 Stream 消息 */
|
||||||
export function sendChatMessageStream(
|
export function sendChatMessageStream(
|
||||||
conversationId: number,
|
conversationId: number,
|
||||||
content: string,
|
content: string,
|
||||||
@@ -89,25 +89,27 @@ export function sendChatMessageStream(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除消息
|
/** 删除消息 */
|
||||||
export function deleteChatMessage(id: number) {
|
export function deleteChatMessage(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/message/delete?id=${id}`);
|
return requestClient.delete(`/ai/chat/message/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除指定对话的消息
|
/** 删除指定对话的消息 */
|
||||||
export function deleteByConversationId(conversationId: number) {
|
export function deleteByConversationId(conversationId: number) {
|
||||||
return requestClient.delete(
|
return requestClient.delete(
|
||||||
`/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`,
|
`/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// 获得消息分页
|
|
||||||
|
/** 获得消息分页 */
|
||||||
export function getChatMessagePage(params: any) {
|
export function getChatMessagePage(params: any) {
|
||||||
return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>(
|
return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>(
|
||||||
'/ai/chat/message/page',
|
'/ai/chat/message/page',
|
||||||
{ params },
|
{ params },
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// 管理员删除消息
|
|
||||||
|
/** 管理员删除消息 */
|
||||||
export function deleteChatMessageByAdmin(id: number) {
|
export function deleteChatMessageByAdmin(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`);
|
return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,14 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
|
|||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
export namespace AiImageApi {
|
export namespace AiImageApi {
|
||||||
export interface ImageMidjourneyButtons {
|
/** 绘图 */
|
||||||
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
|
|
||||||
emoji: string; // 图标 emoji
|
|
||||||
label: string; // Make Variations 文本
|
|
||||||
style: number; // 样式: 2(Primary)、3(Green)
|
|
||||||
}
|
|
||||||
|
|
||||||
/** AI 绘图 */
|
|
||||||
export interface Image {
|
export interface Image {
|
||||||
id: number; // 编号
|
id: number; // 编号
|
||||||
userId: number;
|
userId: number;
|
||||||
@@ -30,7 +23,14 @@ export namespace AiImageApi {
|
|||||||
finishTime: Date; // 完成时间
|
finishTime: Date; // 完成时间
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ImageDrawReq {
|
export interface ImageMidjourneyButtons {
|
||||||
|
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
|
||||||
|
emoji: string; // 图标 emoji
|
||||||
|
label: string; // Make Variations 文本
|
||||||
|
style: number; // 样式: 2(Primary)、3(Green)
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ImageDrawReqVO {
|
||||||
prompt: string; // 提示词
|
prompt: string; // 提示词
|
||||||
modelId: number; // 模型
|
modelId: number; // 模型
|
||||||
style: string; // 图像生成的风格
|
style: string; // 图像生成的风格
|
||||||
@@ -39,7 +39,7 @@ export namespace AiImageApi {
|
|||||||
options: object; // 绘制参数,Map<String, String>
|
options: object; // 绘制参数,Map<String, String>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ImageMidjourneyImagineReq {
|
export interface ImageMidjourneyImagineReqVO {
|
||||||
prompt: string; // 提示词
|
prompt: string; // 提示词
|
||||||
modelId: number; // 模型
|
modelId: number; // 模型
|
||||||
base64Array?: string[]; // size不能为空
|
base64Array?: string[]; // size不能为空
|
||||||
@@ -54,60 +54,62 @@ export namespace AiImageApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取【我的】绘图分页
|
/** 获取【我的】绘图分页 */
|
||||||
export function getImagePageMy(params: PageParam) {
|
export function getImagePageMy(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', {
|
return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', {
|
||||||
params,
|
params,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取【我的】绘图记录
|
/** 获取【我的】绘图记录 */
|
||||||
export function getImageMy(id: number) {
|
export function getImageMy(id: number) {
|
||||||
return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`);
|
return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取【我的】绘图记录列表
|
/** 获取【我的】绘图记录列表 */
|
||||||
export function getImageListMyByIds(ids: number[]) {
|
export function getImageListMyByIds(ids: number[]) {
|
||||||
return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, {
|
return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, {
|
||||||
params: { ids: ids.join(',') },
|
params: { ids: ids.join(',') },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成图片
|
/** 生成图片 */
|
||||||
export function drawImage(data: AiImageApi.ImageDrawReq) {
|
export function drawImage(data: AiImageApi.ImageDrawReqVO) {
|
||||||
return requestClient.post(`/ai/image/draw`, data);
|
return requestClient.post(`/ai/image/draw`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除【我的】绘画记录
|
/** 删除【我的】绘画记录 */
|
||||||
export function deleteImageMy(id: number) {
|
export function deleteImageMy(id: number) {
|
||||||
return requestClient.delete(`/ai/image/delete-my?id=${id}`);
|
return requestClient.delete(`/ai/image/delete-my?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================ midjourney 专属 ================
|
/** ================ midjourney 专属 ================ */
|
||||||
|
|
||||||
// 【Midjourney】生成图片
|
/** 【Midjourney】生成图片 */
|
||||||
export function midjourneyImagine(data: AiImageApi.ImageMidjourneyImagineReq) {
|
export function midjourneyImagine(
|
||||||
|
data: AiImageApi.ImageMidjourneyImagineReqVO,
|
||||||
|
) {
|
||||||
return requestClient.post(`/ai/image/midjourney/imagine`, data);
|
return requestClient.post(`/ai/image/midjourney/imagine`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 【Midjourney】Action 操作(二次生成图片)
|
/** 【Midjourney】Action 操作(二次生成图片) */
|
||||||
export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) {
|
export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) {
|
||||||
return requestClient.post(`/ai/image/midjourney/action`, data);
|
return requestClient.post(`/ai/image/midjourney/action`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================ 绘图管理 ================
|
/** ================ 绘图管理 ================ */
|
||||||
|
|
||||||
// 查询绘画分页
|
/** 查询绘画分页 */
|
||||||
export function getImagePage(params: any) {
|
export function getImagePage(params: any) {
|
||||||
return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params });
|
return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新绘画发布状态
|
/** 更新绘画发布状态 */
|
||||||
export function updateImage(data: any) {
|
export function updateImage(data: any) {
|
||||||
return requestClient.put(`/ai/image/update`, data);
|
return requestClient.put(`/ai/image/update`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除绘画
|
/** 删除绘画 */
|
||||||
export function deleteImage(id: number) {
|
export function deleteImage(id: number) {
|
||||||
return requestClient.delete(`/ai/image/delete?id=${id}`);
|
return requestClient.delete(`/ai/image/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,39 +15,39 @@ export namespace AiKnowledgeDocumentApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库文档分页
|
/** 查询知识库文档分页 */
|
||||||
export function getKnowledgeDocumentPage(params: PageParam) {
|
export function getKnowledgeDocumentPage(params: PageParam) {
|
||||||
return requestClient.get<
|
return requestClient.get<
|
||||||
PageResult<AiKnowledgeDocumentApi.KnowledgeDocument>
|
PageResult<AiKnowledgeDocumentApi.KnowledgeDocument>
|
||||||
>('/ai/knowledge/document/page', { params });
|
>('/ai/knowledge/document/page', { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库文档详情
|
/** 查询知识库文档详情 */
|
||||||
export function getKnowledgeDocument(id: number) {
|
export function getKnowledgeDocument(id: number) {
|
||||||
return requestClient.get(`/ai/knowledge/document/get?id=${id}`);
|
return requestClient.get(`/ai/knowledge/document/get?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库文档(单个)
|
/** 新增知识库文档(单个) */
|
||||||
export function createKnowledge(data: any) {
|
export function createKnowledge(data: any) {
|
||||||
return requestClient.post('/ai/knowledge/document/create', data);
|
return requestClient.post('/ai/knowledge/document/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库文档(多个)
|
/** 新增知识库文档(多个) */
|
||||||
export function createKnowledgeDocumentList(data: any) {
|
export function createKnowledgeDocumentList(data: any) {
|
||||||
return requestClient.post('/ai/knowledge/document/create-list', data);
|
return requestClient.post('/ai/knowledge/document/create-list', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库文档
|
/** 修改知识库文档 */
|
||||||
export function updateKnowledgeDocument(data: any) {
|
export function updateKnowledgeDocument(data: any) {
|
||||||
return requestClient.put('/ai/knowledge/document/update', data);
|
return requestClient.put('/ai/knowledge/document/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库文档状态
|
/** 修改知识库文档状态 */
|
||||||
export function updateKnowledgeDocumentStatus(data: any) {
|
export function updateKnowledgeDocumentStatus(data: any) {
|
||||||
return requestClient.put('/ai/knowledge/document/update-status', data);
|
return requestClient.put('/ai/knowledge/document/update-status', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除知识库文档
|
/** 删除知识库文档 */
|
||||||
export function deleteKnowledgeDocument(id: number) {
|
export function deleteKnowledgeDocument(id: number) {
|
||||||
return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`);
|
return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export namespace AiKnowledgeKnowledgeApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库分页
|
/** 查询知识库分页 */
|
||||||
export function getKnowledgePage(params: PageParam) {
|
export function getKnowledgePage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>(
|
return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>(
|
||||||
'/ai/knowledge/page',
|
'/ai/knowledge/page',
|
||||||
@@ -21,29 +21,29 @@ export function getKnowledgePage(params: PageParam) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库详情
|
/** 查询知识库详情 */
|
||||||
export function getKnowledge(id: number) {
|
export function getKnowledge(id: number) {
|
||||||
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>(
|
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>(
|
||||||
`/ai/knowledge/get?id=${id}`,
|
`/ai/knowledge/get?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库
|
/** 新增知识库 */
|
||||||
export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
||||||
return requestClient.post('/ai/knowledge/create', data);
|
return requestClient.post('/ai/knowledge/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库
|
/** 修改知识库 */
|
||||||
export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
||||||
return requestClient.put('/ai/knowledge/update', data);
|
return requestClient.put('/ai/knowledge/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除知识库
|
/** 删除知识库 */
|
||||||
export function deleteKnowledge(id: number) {
|
export function deleteKnowledge(id: number) {
|
||||||
return requestClient.delete(`/ai/knowledge/delete?id=${id}`);
|
return requestClient.delete(`/ai/knowledge/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取知识库简单列表
|
/** 获取知识库简单列表 */
|
||||||
export function getSimpleKnowledgeList() {
|
export function getSimpleKnowledgeList() {
|
||||||
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>(
|
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>(
|
||||||
'/ai/knowledge/simple-list',
|
'/ai/knowledge/simple-list',
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
|
|||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
export namespace AiKnowledgeSegmentApi {
|
export namespace AiKnowledgeSegmentApi {
|
||||||
// AI 知识库分段
|
|
||||||
export interface KnowledgeSegment {
|
export interface KnowledgeSegment {
|
||||||
id: number; // 编号
|
id: number; // 编号
|
||||||
documentId: number; // 文档编号
|
documentId: number; // 文档编号
|
||||||
@@ -18,7 +17,7 @@ export namespace AiKnowledgeSegmentApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库分段分页
|
/** 查询知识库分段分页 */
|
||||||
export function getKnowledgeSegmentPage(params: PageParam) {
|
export function getKnowledgeSegmentPage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>(
|
return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>(
|
||||||
'/ai/knowledge/segment/page',
|
'/ai/knowledge/segment/page',
|
||||||
@@ -26,28 +25,28 @@ export function getKnowledgeSegmentPage(params: PageParam) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库分段详情
|
/** 查询知识库分段详情 */
|
||||||
export function getKnowledgeSegment(id: number) {
|
export function getKnowledgeSegment(id: number) {
|
||||||
return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>(
|
return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>(
|
||||||
`/ai/knowledge/segment/get?id=${id}`,
|
`/ai/knowledge/segment/get?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库分段
|
/** 新增知识库分段 */
|
||||||
export function createKnowledgeSegment(
|
export function createKnowledgeSegment(
|
||||||
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
||||||
) {
|
) {
|
||||||
return requestClient.post('/ai/knowledge/segment/create', data);
|
return requestClient.post('/ai/knowledge/segment/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库分段
|
/** 修改知识库分段 */
|
||||||
export function updateKnowledgeSegment(
|
export function updateKnowledgeSegment(
|
||||||
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
||||||
) {
|
) {
|
||||||
return requestClient.put('/ai/knowledge/segment/update', data);
|
return requestClient.put('/ai/knowledge/segment/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库分段状态
|
/** 修改知识库分段状态 */
|
||||||
export function updateKnowledgeSegmentStatus(id: number, status: number) {
|
export function updateKnowledgeSegmentStatus(id: number, status: number) {
|
||||||
return requestClient.put('/ai/knowledge/segment/update-status', {
|
return requestClient.put('/ai/knowledge/segment/update-status', {
|
||||||
id,
|
id,
|
||||||
@@ -55,26 +54,26 @@ export function updateKnowledgeSegmentStatus(id: number, status: number) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除知识库分段
|
/** 删除知识库分段 */
|
||||||
export function deleteKnowledgeSegment(id: number) {
|
export function deleteKnowledgeSegment(id: number) {
|
||||||
return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`);
|
return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 切片内容
|
/** 切片内容 */
|
||||||
export function splitContent(url: string, segmentMaxTokens: number) {
|
export function splitContent(url: string, segmentMaxTokens: number) {
|
||||||
return requestClient.get('/ai/knowledge/segment/split', {
|
return requestClient.get('/ai/knowledge/segment/split', {
|
||||||
params: { url, segmentMaxTokens },
|
params: { url, segmentMaxTokens },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取文档处理列表
|
/** 获取文档处理列表 */
|
||||||
export function getKnowledgeSegmentProcessList(documentIds: number[]) {
|
export function getKnowledgeSegmentProcessList(documentIds: number[]) {
|
||||||
return requestClient.get('/ai/knowledge/segment/get-process-list', {
|
return requestClient.get('/ai/knowledge/segment/get-process-list', {
|
||||||
params: { documentIds: documentIds.join(',') },
|
params: { documentIds: documentIds.join(',') },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 搜索知识库分段
|
/** 搜索知识库分段 */
|
||||||
export function searchKnowledgeSegment(params: any) {
|
export function searchKnowledgeSegment(params: any) {
|
||||||
return requestClient.get('/ai/knowledge/segment/search', {
|
return requestClient.get('/ai/knowledge/segment/search', {
|
||||||
params,
|
params,
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
|
|||||||
const accessStore = useAccessStore();
|
const accessStore = useAccessStore();
|
||||||
|
|
||||||
export namespace AiMindmapApi {
|
export namespace AiMindmapApi {
|
||||||
// AI 思维导图
|
|
||||||
export interface MindMap {
|
export interface MindMap {
|
||||||
id: number; // 编号
|
id: number; // 编号
|
||||||
userId: number; // 用户编号
|
userId: number; // 用户编号
|
||||||
@@ -19,12 +18,12 @@ export namespace AiMindmapApi {
|
|||||||
errorMessage: string; // 错误信息
|
errorMessage: string; // 错误信息
|
||||||
}
|
}
|
||||||
|
|
||||||
// AI 思维导图生成
|
|
||||||
export interface AiMindMapGenerateReqVO {
|
export interface AiMindMapGenerateReqVO {
|
||||||
prompt: string;
|
prompt: string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 生成思维导图 Stream */
|
||||||
export function generateMindMap({
|
export function generateMindMap({
|
||||||
data,
|
data,
|
||||||
onClose,
|
onClose,
|
||||||
|
|||||||
@@ -26,19 +26,19 @@ export namespace AiMusicApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询音乐分页
|
/** 查询音乐分页 */
|
||||||
export function getMusicPage(params: PageParam) {
|
export function getMusicPage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, {
|
return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, {
|
||||||
params,
|
params,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新音乐
|
/** 更新音乐 */
|
||||||
export function updateMusic(data: any) {
|
export function updateMusic(data: any) {
|
||||||
return requestClient.put('/ai/music/update', data);
|
return requestClient.put('/ai/music/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除音乐
|
/** 删除音乐 */
|
||||||
export function deleteMusic(id: number) {
|
export function deleteMusic(id: number) {
|
||||||
return requestClient.delete(`/ai/music/delete?id=${id}`);
|
return requestClient.delete(`/ai/music/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ export namespace AiWriteApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 写作 Stream */
|
||||||
export function writeStream({
|
export function writeStream({
|
||||||
data,
|
data,
|
||||||
onClose,
|
onClose,
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ async function handleGenerateImage() {
|
|||||||
width: width.value, // 图片宽度
|
width: width.value, // 图片宽度
|
||||||
height: height.value, // 图片高度
|
height: height.value, // 图片高度
|
||||||
options: {},
|
options: {},
|
||||||
} as unknown as AiImageApi.ImageDrawReq;
|
} as unknown as AiImageApi.ImageDrawReqVO;
|
||||||
await drawImage(form);
|
await drawImage(form);
|
||||||
} finally {
|
} finally {
|
||||||
// 回调
|
// 回调
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ async function handleGenerateImage() {
|
|||||||
options: {
|
options: {
|
||||||
style: style.value, // 图像生成的风格
|
style: style.value, // 图像生成的风格
|
||||||
},
|
},
|
||||||
} as AiImageApi.ImageDrawReq;
|
} as AiImageApi.ImageDrawReqVO;
|
||||||
// 发送请求
|
// 发送请求
|
||||||
await drawImage(form);
|
await drawImage(form);
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ async function handleGenerateImage() {
|
|||||||
height: imageSize.height,
|
height: imageSize.height,
|
||||||
version: selectVersion.value,
|
version: selectVersion.value,
|
||||||
referImageUrl: referImageUrl.value,
|
referImageUrl: referImageUrl.value,
|
||||||
} as AiImageApi.ImageMidjourneyImagineReq;
|
} as AiImageApi.ImageMidjourneyImagineReqVO;
|
||||||
await midjourneyImagine(req);
|
await midjourneyImagine(req);
|
||||||
} finally {
|
} finally {
|
||||||
// 回调
|
// 回调
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ async function handleGenerateImage() {
|
|||||||
clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP
|
clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP
|
||||||
stylePreset: stylePreset.value, // 风格
|
stylePreset: stylePreset.value, // 风格
|
||||||
},
|
},
|
||||||
} as unknown as AiImageApi.ImageDrawReq;
|
} as unknown as AiImageApi.ImageDrawReqVO;
|
||||||
await drawImage(form);
|
await drawImage(form);
|
||||||
} finally {
|
} finally {
|
||||||
// 回调
|
// 回调
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ export namespace AiChatConversationApi {
|
|||||||
maxTokens: number; // 单条回复的最大 Token 数量
|
maxTokens: number; // 单条回复的最大 Token 数量
|
||||||
maxContexts: number; // 上下文的最大 Message 数量
|
maxContexts: number; // 上下文的最大 Message 数量
|
||||||
createTime?: Date; // 创建时间
|
createTime?: Date; // 创建时间
|
||||||
// 额外字段
|
|
||||||
systemMessage?: string; // 角色设定
|
systemMessage?: string; // 角色设定
|
||||||
modelName?: string; // 模型名字
|
modelName?: string; // 模型名字
|
||||||
roleAvatar?: string; // 角色头像
|
roleAvatar?: string; // 角色头像
|
||||||
@@ -24,52 +23,52 @@ export namespace AiChatConversationApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得【我的】聊天对话
|
/** 获得【我的】聊天对话 */
|
||||||
export function getChatConversationMy(id: number) {
|
export function getChatConversationMy(id: number) {
|
||||||
return requestClient.get<AiChatConversationApi.ChatConversation>(
|
return requestClient.get<AiChatConversationApi.ChatConversation>(
|
||||||
`/ai/chat/conversation/get-my?id=${id}`,
|
`/ai/chat/conversation/get-my?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增【我的】聊天对话
|
/** 新增【我的】聊天对话 */
|
||||||
export function createChatConversationMy(
|
export function createChatConversationMy(
|
||||||
data: AiChatConversationApi.ChatConversation,
|
data: AiChatConversationApi.ChatConversation,
|
||||||
) {
|
) {
|
||||||
return requestClient.post('/ai/chat/conversation/create-my', data);
|
return requestClient.post('/ai/chat/conversation/create-my', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新【我的】聊天对话
|
/** 更新【我的】聊天对话 */
|
||||||
export function updateChatConversationMy(
|
export function updateChatConversationMy(
|
||||||
data: AiChatConversationApi.ChatConversation,
|
data: AiChatConversationApi.ChatConversation,
|
||||||
) {
|
) {
|
||||||
return requestClient.put(`/ai/chat/conversation/update-my`, data);
|
return requestClient.put(`/ai/chat/conversation/update-my`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除【我的】聊天对话
|
/** 删除【我的】聊天对话 */
|
||||||
export function deleteChatConversationMy(id: number) {
|
export function deleteChatConversationMy(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`);
|
return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除【我的】所有对话,置顶除外
|
/** 删除【我的】所有对话,置顶除外 */
|
||||||
export function deleteChatConversationMyByUnpinned() {
|
export function deleteChatConversationMyByUnpinned() {
|
||||||
return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`);
|
return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得【我的】聊天对话列表
|
/** 获得【我的】聊天对话列表 */
|
||||||
export function getChatConversationMyList() {
|
export function getChatConversationMyList() {
|
||||||
return requestClient.get<AiChatConversationApi.ChatConversation[]>(
|
return requestClient.get<AiChatConversationApi.ChatConversation[]>(
|
||||||
`/ai/chat/conversation/my-list`,
|
`/ai/chat/conversation/my-list`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得【我的】聊天对话列表
|
/** 获得【我的】聊天对话列表 */
|
||||||
export function getChatConversationPage(params: any) {
|
export function getChatConversationPage(params: any) {
|
||||||
return requestClient.get<
|
return requestClient.get<
|
||||||
PageResult<AiChatConversationApi.ChatConversation[]>
|
PageResult<AiChatConversationApi.ChatConversation[]>
|
||||||
>(`/ai/chat/conversation/page`, { params });
|
>(`/ai/chat/conversation/page`, { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 管理员删除消息
|
/** 管理员删除消息 */
|
||||||
export function deleteChatConversationByAdmin(id: number) {
|
export function deleteChatConversationByAdmin(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`);
|
return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export namespace AiChatMessageApi {
|
|||||||
model: number; // 模型标志
|
model: number; // 模型标志
|
||||||
modelId: number; // 模型编号
|
modelId: number; // 模型编号
|
||||||
content: string; // 聊天内容
|
content: string; // 聊天内容
|
||||||
|
reasoningContent?: string; // 推理内容(深度思考)
|
||||||
tokens: number; // 消耗 Token 数量
|
tokens: number; // 消耗 Token 数量
|
||||||
segmentIds?: number[]; // 段落编号
|
segmentIds?: number[]; // 段落编号
|
||||||
segments?: {
|
segments?: {
|
||||||
@@ -27,13 +28,25 @@ export namespace AiChatMessageApi {
|
|||||||
documentName: string; // 文档名称
|
documentName: string; // 文档名称
|
||||||
id: number; // 段落编号
|
id: number; // 段落编号
|
||||||
}[];
|
}[];
|
||||||
|
webSearchPages?: WebSearchPage[]; // 联网搜索结果
|
||||||
|
attachmentUrls?: string[]; // 附件 URL 数组
|
||||||
createTime: Date; // 创建时间
|
createTime: Date; // 创建时间
|
||||||
roleAvatar: string; // 角色头像
|
roleAvatar: string; // 角色头像
|
||||||
userAvatar: string; // 用户头像
|
userAvatar: string; // 用户头像
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 联网搜索页面接口 */
|
||||||
|
export interface WebSearchPage {
|
||||||
|
name: string; // 网站名称
|
||||||
|
icon: string; // 网站图标 URL
|
||||||
|
title: string; // 页面标题
|
||||||
|
url: string; // 页面 URL
|
||||||
|
snippet: string; // 简短描述
|
||||||
|
summary: string; // 内容摘要
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 消息列表
|
/** 消息列表 */
|
||||||
export function getChatMessageListByConversationId(
|
export function getChatMessageListByConversationId(
|
||||||
conversationId: null | number,
|
conversationId: null | number,
|
||||||
) {
|
) {
|
||||||
@@ -42,15 +55,17 @@ export function getChatMessageListByConversationId(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送 Stream 消息
|
/** 发送 Stream 消息 */
|
||||||
export function sendChatMessageStream(
|
export function sendChatMessageStream(
|
||||||
conversationId: number,
|
conversationId: number,
|
||||||
content: string,
|
content: string,
|
||||||
ctrl: any,
|
ctrl: any,
|
||||||
enableContext: boolean,
|
enableContext: boolean,
|
||||||
|
enableWebSearch: boolean,
|
||||||
onMessage: any,
|
onMessage: any,
|
||||||
onError: any,
|
onError: any,
|
||||||
onClose: any,
|
onClose: any,
|
||||||
|
attachmentUrls?: string[],
|
||||||
) {
|
) {
|
||||||
const token = accessStore.accessToken;
|
const token = accessStore.accessToken;
|
||||||
return fetchEventSource(`${apiURL}/ai/chat/message/send-stream`, {
|
return fetchEventSource(`${apiURL}/ai/chat/message/send-stream`, {
|
||||||
@@ -64,6 +79,8 @@ export function sendChatMessageStream(
|
|||||||
conversationId,
|
conversationId,
|
||||||
content,
|
content,
|
||||||
useContext: enableContext,
|
useContext: enableContext,
|
||||||
|
useSearch: enableWebSearch,
|
||||||
|
attachmentUrls: attachmentUrls || [],
|
||||||
}),
|
}),
|
||||||
onmessage: onMessage,
|
onmessage: onMessage,
|
||||||
onerror: onError,
|
onerror: onError,
|
||||||
@@ -72,19 +89,19 @@ export function sendChatMessageStream(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除消息
|
/** 删除消息 */
|
||||||
export function deleteChatMessage(id: number) {
|
export function deleteChatMessage(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/message/delete?id=${id}`);
|
return requestClient.delete(`/ai/chat/message/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除指定对话的消息
|
/** 删除指定对话的消息 */
|
||||||
export function deleteByConversationId(conversationId: number) {
|
export function deleteByConversationId(conversationId: number) {
|
||||||
return requestClient.delete(
|
return requestClient.delete(
|
||||||
`/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`,
|
`/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得消息分页
|
/** 获得消息分页 */
|
||||||
export function getChatMessagePage(params: any) {
|
export function getChatMessagePage(params: any) {
|
||||||
return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>(
|
return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>(
|
||||||
'/ai/chat/message/page',
|
'/ai/chat/message/page',
|
||||||
@@ -92,7 +109,7 @@ export function getChatMessagePage(params: any) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 管理员删除消息
|
/** 管理员删除消息 */
|
||||||
export function deleteChatMessageByAdmin(id: number) {
|
export function deleteChatMessageByAdmin(id: number) {
|
||||||
return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`);
|
return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,14 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
|
|||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
export namespace AiImageApi {
|
export namespace AiImageApi {
|
||||||
export interface ImageMidjourneyButtons {
|
/** 绘图 */
|
||||||
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
|
|
||||||
emoji: string; // 图标 emoji
|
|
||||||
label: string; // Make Variations 文本
|
|
||||||
style: number; // 样式: 2(Primary)、3(Green)
|
|
||||||
}
|
|
||||||
|
|
||||||
/** AI 绘图 */
|
|
||||||
export interface Image {
|
export interface Image {
|
||||||
id: number; // 编号
|
id: number; // 编号
|
||||||
userId: number;
|
userId: number;
|
||||||
@@ -30,7 +23,14 @@ export namespace AiImageApi {
|
|||||||
finishTime: Date; // 完成时间
|
finishTime: Date; // 完成时间
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ImageDrawReq {
|
export interface ImageMidjourneyButtons {
|
||||||
|
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
|
||||||
|
emoji: string; // 图标 emoji
|
||||||
|
label: string; // Make Variations 文本
|
||||||
|
style: number; // 样式: 2(Primary)、3(Green)
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ImageDrawReqVO {
|
||||||
prompt: string; // 提示词
|
prompt: string; // 提示词
|
||||||
modelId: number; // 模型
|
modelId: number; // 模型
|
||||||
style: string; // 图像生成的风格
|
style: string; // 图像生成的风格
|
||||||
@@ -39,7 +39,7 @@ export namespace AiImageApi {
|
|||||||
options: object; // 绘制参数,Map<String, String>
|
options: object; // 绘制参数,Map<String, String>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ImageMidjourneyImagineReq {
|
export interface ImageMidjourneyImagineReqVO {
|
||||||
prompt: string; // 提示词
|
prompt: string; // 提示词
|
||||||
modelId: number; // 模型
|
modelId: number; // 模型
|
||||||
base64Array?: string[]; // size不能为空
|
base64Array?: string[]; // size不能为空
|
||||||
@@ -54,60 +54,62 @@ export namespace AiImageApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取【我的】绘图分页
|
/** 获取【我的】绘图分页 */
|
||||||
export function getImagePageMy(params: PageParam) {
|
export function getImagePageMy(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', {
|
return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', {
|
||||||
params,
|
params,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取【我的】绘图记录
|
/** 获取【我的】绘图记录 */
|
||||||
export function getImageMy(id: number) {
|
export function getImageMy(id: number) {
|
||||||
return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`);
|
return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取【我的】绘图记录列表
|
/** 获取【我的】绘图记录列表 */
|
||||||
export function getImageListMyByIds(ids: number[]) {
|
export function getImageListMyByIds(ids: number[]) {
|
||||||
return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, {
|
return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, {
|
||||||
params: { ids: ids.join(',') },
|
params: { ids: ids.join(',') },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成图片
|
/** 生成图片 */
|
||||||
export function drawImage(data: AiImageApi.ImageDrawReq) {
|
export function drawImage(data: AiImageApi.ImageDrawReqVO) {
|
||||||
return requestClient.post(`/ai/image/draw`, data);
|
return requestClient.post(`/ai/image/draw`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除【我的】绘画记录
|
/** 删除【我的】绘画记录 */
|
||||||
export function deleteImageMy(id: number) {
|
export function deleteImageMy(id: number) {
|
||||||
return requestClient.delete(`/ai/image/delete-my?id=${id}`);
|
return requestClient.delete(`/ai/image/delete-my?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================ midjourney 专属 ================
|
/** ================ midjourney 专属 ================ */
|
||||||
|
|
||||||
// 【Midjourney】生成图片
|
/** 【Midjourney】生成图片 */
|
||||||
export function midjourneyImagine(data: AiImageApi.ImageMidjourneyImagineReq) {
|
export function midjourneyImagine(
|
||||||
|
data: AiImageApi.ImageMidjourneyImagineReqVO,
|
||||||
|
) {
|
||||||
return requestClient.post(`/ai/image/midjourney/imagine`, data);
|
return requestClient.post(`/ai/image/midjourney/imagine`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 【Midjourney】Action 操作(二次生成图片)
|
/** 【Midjourney】Action 操作(二次生成图片) */
|
||||||
export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) {
|
export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) {
|
||||||
return requestClient.post(`/ai/image/midjourney/action`, data);
|
return requestClient.post(`/ai/image/midjourney/action`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================ 绘图管理 ================
|
/** ================ 绘图管理 ================ */
|
||||||
|
|
||||||
// 查询绘画分页
|
/** 查询绘画分页 */
|
||||||
export function getImagePage(params: any) {
|
export function getImagePage(params: any) {
|
||||||
return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params });
|
return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新绘画发布状态
|
/** 更新绘画发布状态 */
|
||||||
export function updateImage(data: any) {
|
export function updateImage(data: any) {
|
||||||
return requestClient.put(`/ai/image/update`, data);
|
return requestClient.put(`/ai/image/update`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除绘画
|
/** 删除绘画 */
|
||||||
export function deleteImage(id: number) {
|
export function deleteImage(id: number) {
|
||||||
return requestClient.delete(`/ai/image/delete?id=${id}`);
|
return requestClient.delete(`/ai/image/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,39 +15,39 @@ export namespace AiKnowledgeDocumentApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库文档分页
|
/** 查询知识库文档分页 */
|
||||||
export function getKnowledgeDocumentPage(params: PageParam) {
|
export function getKnowledgeDocumentPage(params: PageParam) {
|
||||||
return requestClient.get<
|
return requestClient.get<
|
||||||
PageResult<AiKnowledgeDocumentApi.KnowledgeDocument>
|
PageResult<AiKnowledgeDocumentApi.KnowledgeDocument>
|
||||||
>('/ai/knowledge/document/page', { params });
|
>('/ai/knowledge/document/page', { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库文档详情
|
/** 查询知识库文档详情 */
|
||||||
export function getKnowledgeDocument(id: number) {
|
export function getKnowledgeDocument(id: number) {
|
||||||
return requestClient.get(`/ai/knowledge/document/get?id=${id}`);
|
return requestClient.get(`/ai/knowledge/document/get?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库文档(单个)
|
/** 新增知识库文档(单个) */
|
||||||
export function createKnowledge(data: any) {
|
export function createKnowledge(data: any) {
|
||||||
return requestClient.post('/ai/knowledge/document/create', data);
|
return requestClient.post('/ai/knowledge/document/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库文档(多个)
|
/** 新增知识库文档(多个) */
|
||||||
export function createKnowledgeDocumentList(data: any) {
|
export function createKnowledgeDocumentList(data: any) {
|
||||||
return requestClient.post('/ai/knowledge/document/create-list', data);
|
return requestClient.post('/ai/knowledge/document/create-list', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库文档
|
/** 修改知识库文档 */
|
||||||
export function updateKnowledgeDocument(data: any) {
|
export function updateKnowledgeDocument(data: any) {
|
||||||
return requestClient.put('/ai/knowledge/document/update', data);
|
return requestClient.put('/ai/knowledge/document/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库文档状态
|
/** 修改知识库文档状态 */
|
||||||
export function updateKnowledgeDocumentStatus(data: any) {
|
export function updateKnowledgeDocumentStatus(data: any) {
|
||||||
return requestClient.put('/ai/knowledge/document/update-status', data);
|
return requestClient.put('/ai/knowledge/document/update-status', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除知识库文档
|
/** 删除知识库文档 */
|
||||||
export function deleteKnowledgeDocument(id: number) {
|
export function deleteKnowledgeDocument(id: number) {
|
||||||
return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`);
|
return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export namespace AiKnowledgeKnowledgeApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库分页
|
/** 查询知识库分页 */
|
||||||
export function getKnowledgePage(params: PageParam) {
|
export function getKnowledgePage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>(
|
return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>(
|
||||||
'/ai/knowledge/page',
|
'/ai/knowledge/page',
|
||||||
@@ -21,29 +21,29 @@ export function getKnowledgePage(params: PageParam) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库详情
|
/** 查询知识库详情 */
|
||||||
export function getKnowledge(id: number) {
|
export function getKnowledge(id: number) {
|
||||||
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>(
|
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>(
|
||||||
`/ai/knowledge/get?id=${id}`,
|
`/ai/knowledge/get?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库
|
/** 新增知识库 */
|
||||||
export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
||||||
return requestClient.post('/ai/knowledge/create', data);
|
return requestClient.post('/ai/knowledge/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库
|
/** 修改知识库 */
|
||||||
export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
|
||||||
return requestClient.put('/ai/knowledge/update', data);
|
return requestClient.put('/ai/knowledge/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除知识库
|
/** 删除知识库 */
|
||||||
export function deleteKnowledge(id: number) {
|
export function deleteKnowledge(id: number) {
|
||||||
return requestClient.delete(`/ai/knowledge/delete?id=${id}`);
|
return requestClient.delete(`/ai/knowledge/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取知识库简单列表
|
/** 获取知识库简单列表 */
|
||||||
export function getSimpleKnowledgeList() {
|
export function getSimpleKnowledgeList() {
|
||||||
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>(
|
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>(
|
||||||
'/ai/knowledge/simple-list',
|
'/ai/knowledge/simple-list',
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
|
|||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
export namespace AiKnowledgeSegmentApi {
|
export namespace AiKnowledgeSegmentApi {
|
||||||
// AI 知识库分段
|
|
||||||
export interface KnowledgeSegment {
|
export interface KnowledgeSegment {
|
||||||
id: number; // 编号
|
id: number; // 编号
|
||||||
documentId: number; // 文档编号
|
documentId: number; // 文档编号
|
||||||
@@ -18,7 +17,7 @@ export namespace AiKnowledgeSegmentApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库分段分页
|
/** 查询知识库分段分页 */
|
||||||
export function getKnowledgeSegmentPage(params: PageParam) {
|
export function getKnowledgeSegmentPage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>(
|
return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>(
|
||||||
'/ai/knowledge/segment/page',
|
'/ai/knowledge/segment/page',
|
||||||
@@ -26,28 +25,28 @@ export function getKnowledgeSegmentPage(params: PageParam) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询知识库分段详情
|
/** 查询知识库分段详情 */
|
||||||
export function getKnowledgeSegment(id: number) {
|
export function getKnowledgeSegment(id: number) {
|
||||||
return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>(
|
return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>(
|
||||||
`/ai/knowledge/segment/get?id=${id}`,
|
`/ai/knowledge/segment/get?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增知识库分段
|
/** 新增知识库分段 */
|
||||||
export function createKnowledgeSegment(
|
export function createKnowledgeSegment(
|
||||||
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
||||||
) {
|
) {
|
||||||
return requestClient.post('/ai/knowledge/segment/create', data);
|
return requestClient.post('/ai/knowledge/segment/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库分段
|
/** 修改知识库分段 */
|
||||||
export function updateKnowledgeSegment(
|
export function updateKnowledgeSegment(
|
||||||
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
data: AiKnowledgeSegmentApi.KnowledgeSegment,
|
||||||
) {
|
) {
|
||||||
return requestClient.put('/ai/knowledge/segment/update', data);
|
return requestClient.put('/ai/knowledge/segment/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改知识库分段状态
|
/** 修改知识库分段状态 */
|
||||||
export function updateKnowledgeSegmentStatus(id: number, status: number) {
|
export function updateKnowledgeSegmentStatus(id: number, status: number) {
|
||||||
return requestClient.put('/ai/knowledge/segment/update-status', {
|
return requestClient.put('/ai/knowledge/segment/update-status', {
|
||||||
id,
|
id,
|
||||||
@@ -55,26 +54,26 @@ export function updateKnowledgeSegmentStatus(id: number, status: number) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除知识库分段
|
/** 删除知识库分段 */
|
||||||
export function deleteKnowledgeSegment(id: number) {
|
export function deleteKnowledgeSegment(id: number) {
|
||||||
return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`);
|
return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 切片内容
|
/** 切片内容 */
|
||||||
export function splitContent(url: string, segmentMaxTokens: number) {
|
export function splitContent(url: string, segmentMaxTokens: number) {
|
||||||
return requestClient.get('/ai/knowledge/segment/split', {
|
return requestClient.get('/ai/knowledge/segment/split', {
|
||||||
params: { url, segmentMaxTokens },
|
params: { url, segmentMaxTokens },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取文档处理列表
|
/** 获取文档处理列表 */
|
||||||
export function getKnowledgeSegmentProcessList(documentIds: number[]) {
|
export function getKnowledgeSegmentProcessList(documentIds: number[]) {
|
||||||
return requestClient.get('/ai/knowledge/segment/get-process-list', {
|
return requestClient.get('/ai/knowledge/segment/get-process-list', {
|
||||||
params: { documentIds: documentIds.join(',') },
|
params: { documentIds: documentIds.join(',') },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 搜索知识库分段
|
/** 搜索知识库分段 */
|
||||||
export function searchKnowledgeSegment(params: any) {
|
export function searchKnowledgeSegment(params: any) {
|
||||||
return requestClient.get('/ai/knowledge/segment/search', {
|
return requestClient.get('/ai/knowledge/segment/search', {
|
||||||
params,
|
params,
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
|
|||||||
const accessStore = useAccessStore();
|
const accessStore = useAccessStore();
|
||||||
|
|
||||||
export namespace AiMindmapApi {
|
export namespace AiMindmapApi {
|
||||||
// AI 思维导图
|
|
||||||
export interface MindMap {
|
export interface MindMap {
|
||||||
id: number; // 编号
|
id: number; // 编号
|
||||||
userId: number; // 用户编号
|
userId: number; // 用户编号
|
||||||
@@ -19,12 +18,12 @@ export namespace AiMindmapApi {
|
|||||||
errorMessage: string; // 错误信息
|
errorMessage: string; // 错误信息
|
||||||
}
|
}
|
||||||
|
|
||||||
// AI 思维导图生成
|
|
||||||
export interface AiMindMapGenerateReqVO {
|
export interface AiMindMapGenerateReqVO {
|
||||||
prompt: string;
|
prompt: string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 生成思维导图 Stream */
|
||||||
export function generateMindMap({
|
export function generateMindMap({
|
||||||
data,
|
data,
|
||||||
onClose,
|
onClose,
|
||||||
|
|||||||
@@ -26,19 +26,19 @@ export namespace AiMusicApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询音乐分页
|
/** 查询音乐分页 */
|
||||||
export function getMusicPage(params: PageParam) {
|
export function getMusicPage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, {
|
return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, {
|
||||||
params,
|
params,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新音乐
|
/** 更新音乐 */
|
||||||
export function updateMusic(data: any) {
|
export function updateMusic(data: any) {
|
||||||
return requestClient.put('/ai/music/update', data);
|
return requestClient.put('/ai/music/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除音乐
|
/** 删除音乐 */
|
||||||
export function deleteMusic(id: number) {
|
export function deleteMusic(id: number) {
|
||||||
return requestClient.delete(`/ai/music/delete?id=${id}`);
|
return requestClient.delete(`/ai/music/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ export namespace AiWriteApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 写作 Stream */
|
||||||
export function writeStream({
|
export function writeStream({
|
||||||
data,
|
data,
|
||||||
onClose,
|
onClose,
|
||||||
|
|||||||
@@ -547,7 +547,10 @@ onMounted(async () => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Page auto-content-height>
|
<Page auto-content-height>
|
||||||
<ElContainer class="absolute left-0 top-0 m-4 h-full w-full flex-1">
|
<ElContainer
|
||||||
|
direction="horizontal"
|
||||||
|
class="absolute left-0 top-0 m-4 h-[calc(100%-2rem)] w-[calc(100%-2rem)]"
|
||||||
|
>
|
||||||
<!-- 左侧:对话列表 -->
|
<!-- 左侧:对话列表 -->
|
||||||
<ConversationList
|
<ConversationList
|
||||||
class="!bg-card"
|
class="!bg-card"
|
||||||
@@ -560,7 +563,7 @@ onMounted(async () => {
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 右侧:详情部分 -->
|
<!-- 右侧:详情部分 -->
|
||||||
<ElContainer class="bg-card mx-4">
|
<ElContainer direction="vertical" class="bg-card mx-4 flex-1">
|
||||||
<ElHeader
|
<ElHeader
|
||||||
class="!bg-card border-border flex !h-12 items-center justify-between border-b !px-4"
|
class="!bg-card border-border flex !h-12 items-center justify-between border-b !px-4"
|
||||||
>
|
>
|
||||||
@@ -629,9 +632,9 @@ onMounted(async () => {
|
|||||||
</div>
|
</div>
|
||||||
</ElMain>
|
</ElMain>
|
||||||
|
|
||||||
<ElFooter class="!bg-card flex flex-col !p-0">
|
<ElFooter height="auto" class="!bg-card flex flex-col !p-0">
|
||||||
<form
|
<form
|
||||||
class="border-border mx-4 mb-8 mt-2 flex flex-col rounded-xl border p-2"
|
class="border-border mx-4 mb-4 mt-2 flex flex-col rounded-xl border p-2"
|
||||||
>
|
>
|
||||||
<textarea
|
<textarea
|
||||||
class="box-border h-24 resize-none overflow-auto rounded-md p-2 focus:outline-none"
|
class="box-border h-24 resize-none overflow-auto rounded-md p-2 focus:outline-none"
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ async function handleGenerateImage() {
|
|||||||
width: width.value, // 图片宽度
|
width: width.value, // 图片宽度
|
||||||
height: height.value, // 图片高度
|
height: height.value, // 图片高度
|
||||||
options: {},
|
options: {},
|
||||||
} as unknown as AiImageApi.ImageDrawReq;
|
} as unknown as AiImageApi.ImageDrawReqVO;
|
||||||
await drawImage(form);
|
await drawImage(form);
|
||||||
} finally {
|
} finally {
|
||||||
// 回调
|
// 回调
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ async function handleGenerateImage() {
|
|||||||
options: {
|
options: {
|
||||||
style: style.value, // 图像生成的风格
|
style: style.value, // 图像生成的风格
|
||||||
},
|
},
|
||||||
} as AiImageApi.ImageDrawReq;
|
} as AiImageApi.ImageDrawReqVO;
|
||||||
// 发送请求
|
// 发送请求
|
||||||
await drawImage(form);
|
await drawImage(form);
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ async function handleImageMidjourneyButtonClick(
|
|||||||
const data = {
|
const data = {
|
||||||
id: imageDetail.id,
|
id: imageDetail.id,
|
||||||
customId: button.customId,
|
customId: button.customId,
|
||||||
} as AiImageApi.ImageMidjourneyAction;
|
} as AiImageApi.ImageMidjourneyActionVO;
|
||||||
// 2. 发送 action
|
// 2. 发送 action
|
||||||
await midjourneyAction(data);
|
await midjourneyAction(data);
|
||||||
// 3. 刷新列表
|
// 3. 刷新列表
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ async function handleGenerateImage() {
|
|||||||
height: imageSize.height,
|
height: imageSize.height,
|
||||||
version: selectVersion.value,
|
version: selectVersion.value,
|
||||||
referImageUrl: referImageUrl.value,
|
referImageUrl: referImageUrl.value,
|
||||||
} as AiImageApi.ImageMidjourneyImagineReq;
|
} as AiImageApi.ImageMidjourneyImagineReqVO;
|
||||||
await midjourneyImagine(req);
|
await midjourneyImagine(req);
|
||||||
} finally {
|
} finally {
|
||||||
// 回调
|
// 回调
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ async function handleGenerateImage() {
|
|||||||
clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP
|
clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP
|
||||||
stylePreset: stylePreset.value, // 风格
|
stylePreset: stylePreset.value, // 风格
|
||||||
},
|
},
|
||||||
} as unknown as AiImageApi.ImageDrawReq;
|
} as unknown as AiImageApi.ImageDrawReqVO;
|
||||||
await drawImage(form);
|
await drawImage(form);
|
||||||
} finally {
|
} finally {
|
||||||
// 回调
|
// 回调
|
||||||
|
|||||||
Reference in New Issue
Block a user