add-ai-logs.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const fs = require('fs');
  2. const file = 'src/services/llm/index.ts';
  3. let content = fs.readFileSync(file, 'utf8');
  4. // 在 callLLMWithMessages 函数中添加日志
  5. const old = `export async function callLLMWithMessages(
  6. messages: ChatMessage[],
  7. modelId?: string
  8. ): Promise<string> {
  9. const id = modelId || config.models.textGeneration.defaultModel;
  10. try {
  11. const llm = getLLM(id);
  12. const baseMessages = toBaseMessages(messages);
  13. const response = await llm.invoke(baseMessages as any);
  14. return response.content as string;`;
  15. const new_ = `export async function callLLMWithMessages(
  16. messages: ChatMessage[],
  17. modelId?: string
  18. ): Promise<string> {
  19. const id = modelId || config.models.textGeneration.defaultModel;
  20. // 记录请求日志
  21. console.log('[AI请求] ===== 开始 =====');
  22. console.log('[AI请求] 模型:', id);
  23. console.log('[AI请求] 消息数:', messages.length);
  24. const systemMsg = messages.find(m => m.role === 'system');
  25. if (systemMsg) {
  26. console.log('[AI请求] System提示词 (前200字):', systemMsg.content.substring(0, 200));
  27. }
  28. const userMsg = messages.find(m => m.role === 'user');
  29. if (userMsg) {
  30. console.log('[AI请求] User消息 (前200字):', userMsg.content.substring(0, 200));
  31. }
  32. try {
  33. const llm = getLLM(id);
  34. const baseMessages = toBaseMessages(messages);
  35. const response = await llm.invoke(baseMessages as any);
  36. // 记录响应日志
  37. const responseContent = response.content as string;
  38. console.log('[AI响应] ===== 开始 =====');
  39. console.log('[AI响应] 完整内容 (前1000字):', responseContent.substring(0, 1000));
  40. if (responseContent.length > 1000) {
  41. console.log('[AI响应] ... (总长度:', responseContent.length, '字)');
  42. }
  43. console.log('[AI响应] ===== 结束 =====');
  44. return responseContent;`;
  45. content = content.replace(old, new_);
  46. fs.writeFileSync(file, content, 'utf8');
  47. console.log('✅ AI 交互日志已添加');