mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-21 14:04:01 +08:00
✨ feat(ai): 支持聊天附件解析并优化数据库对象操作
This commit is contained in:
@@ -75,4 +75,24 @@ describe('toAIRequestMessage', () => {
|
||||
images: ['data:image/png;base64,abc'],
|
||||
});
|
||||
});
|
||||
|
||||
it('appends extracted file attachment content to the user request payload', () => {
|
||||
const payload = toAIRequestMessage(message({
|
||||
role: 'user',
|
||||
content: '帮我看附件',
|
||||
attachments: [{
|
||||
id: 'att-1',
|
||||
name: 'report.md',
|
||||
mimeType: 'text/markdown',
|
||||
size: 24,
|
||||
kind: 'markdown',
|
||||
text: '# 周报\n收入下降',
|
||||
}],
|
||||
}));
|
||||
|
||||
expect(payload.content).toContain('帮我看附件');
|
||||
expect(payload.content).toContain('<用户上传附件>');
|
||||
expect(payload.content).toContain('report.md');
|
||||
expect(payload.content).toContain('收入下降');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { AIChatMessage, AIToolCall } from '../types';
|
||||
import { appendAIChatAttachmentsToContent } from '../components/ai/aiChatAttachments';
|
||||
|
||||
export interface AIRequestMessage {
|
||||
role: AIChatMessage['role'];
|
||||
@@ -12,7 +13,7 @@ export interface AIRequestMessage {
|
||||
export const toAIRequestMessage = (message: AIChatMessage): AIRequestMessage => {
|
||||
const payload: AIRequestMessage = {
|
||||
role: message.role,
|
||||
content: message.content,
|
||||
content: appendAIChatAttachmentsToContent(message.content, message.attachments),
|
||||
};
|
||||
|
||||
if (message.images && message.images.length > 0) {
|
||||
|
||||
Reference in New Issue
Block a user