feat(group-agent): 补齐logger
This commit is contained in:
parent
f7fe14e6b1
commit
66229c8546
BIN
bun.lockb
BIN
bun.lockb
Binary file not shown.
@ -36,11 +36,11 @@
|
||||
"dependencies": {
|
||||
"@dotenvx/dotenvx": "^1.19.3",
|
||||
"@egg/hooks": "^1.2.0",
|
||||
"@egg/lark-msg-tool": "^1.13.0",
|
||||
"@egg/lark-msg-tool": "^1.13.2",
|
||||
"@egg/logger": "^1.4.4",
|
||||
"@egg/net-tool": "^1.9.2",
|
||||
"@egg/path-tool": "^1.4.1",
|
||||
"@langchain/core": "^0.3.11",
|
||||
"@langchain/core": "^0.3.12",
|
||||
"@langchain/openai": "^0.3.7",
|
||||
"joi": "^17.13.3",
|
||||
"langfuse-langchain": "^3.27.0",
|
||||
|
@ -167,10 +167,12 @@ const parseGroupAgentQuery = async (
|
||||
innerList: LarkServer.ChatGroupData[],
|
||||
mentions?: LarkEvent.Mention[]
|
||||
) => {
|
||||
// TODO:处理在群聊里的情况,不用获取群组名称
|
||||
const {
|
||||
larkBody: { msgText, chatId: rawChatId },
|
||||
larkService,
|
||||
larkCard,
|
||||
logger,
|
||||
} = ctx
|
||||
const cardGender = larkCard.child("groupAgent")
|
||||
|
||||
@ -198,11 +200,15 @@ const parseGroupAgentQuery = async (
|
||||
// 使用大模型解析用户输入
|
||||
const { chatId, chatName, functionName, functionId, startTime, endTime } =
|
||||
await llm.parseGroupAgentQuery(msgText, groupInfo, functionInfo)
|
||||
logger.info(
|
||||
`Parsed group agent query: chatId: ${chatId}, chatName: ${chatName}, functionName: ${functionName}, functionId: ${functionId}, startTime: ${startTime}, endTime: ${endTime}`
|
||||
)
|
||||
|
||||
// 判断顺序是 群组 -> 功能 -> 时间范围
|
||||
|
||||
// 返回群组选择器,其他的值往里边丢就行
|
||||
if (!chatId || !chatName) {
|
||||
logger.info("Send group selector")
|
||||
updateCard(
|
||||
genGroupSelector(ctx, innerList, {
|
||||
functionName,
|
||||
@ -216,6 +222,7 @@ const parseGroupAgentQuery = async (
|
||||
}
|
||||
// 返回功能选择器,其他的值往里边丢就行
|
||||
if (!functionId || !functionName) {
|
||||
logger.info("Send function selector")
|
||||
updateCard(
|
||||
genFunctionSelector(ctx, {
|
||||
chatId,
|
||||
@ -229,6 +236,7 @@ const parseGroupAgentQuery = async (
|
||||
}
|
||||
// 返回时间范围选择器,其他的值往里边丢就行
|
||||
if (!startTime || !endTime) {
|
||||
logger.info("Send time scope selector")
|
||||
updateCard(
|
||||
genTimeScopeSelector(ctx, {
|
||||
chatId,
|
||||
@ -241,6 +249,7 @@ const parseGroupAgentQuery = async (
|
||||
return
|
||||
}
|
||||
|
||||
logger.info("Send group report")
|
||||
// 设置齐全,返回结果报告
|
||||
updateCard(cardGender.genPendingCard("正在爬楼中,请稍等..."))
|
||||
sendGroupReport(ctx, message_id, {
|
||||
@ -288,6 +297,7 @@ const manageEventMsg = async (ctx: Context.Data) => {
|
||||
return
|
||||
}
|
||||
|
||||
logger.info(`User input: ${msgText}, chatType: ${chatType}, use llm to parse`)
|
||||
// 用户有输入,使用大模型进行解析发送对应卡片
|
||||
await parseGroupAgentQuery(ctx, innerList, mentions)
|
||||
return
|
||||
@ -300,9 +310,10 @@ const manageEventMsg = async (ctx: Context.Data) => {
|
||||
const manageActionMsg = async (ctx: Context.Data) => {
|
||||
const {
|
||||
larkBody: { actionOption, actionValue, messageId },
|
||||
larkCard,
|
||||
logger,
|
||||
} = ctx
|
||||
const cardGender = ctx.larkCard.child("groupAgent")
|
||||
const cardGender = larkCard.child("groupAgent")
|
||||
logger.debug(`Action option: ${JSON.stringify(actionOption)}`)
|
||||
logger.debug(`Action value: ${JSON.stringify(actionValue)}`)
|
||||
let { chatId, chatName, functionId, functionName } = actionValue
|
||||
@ -335,6 +346,7 @@ const manageActionMsg = async (ctx: Context.Data) => {
|
||||
// 理论上来说,这里的chatId, chatName肯定是有值的,不需要再判断
|
||||
// 判断是否需要返回功能选择器
|
||||
if (!functionId || !functionName) {
|
||||
logger.info("Send function selector")
|
||||
return genFunctionSelector(ctx, {
|
||||
chatId,
|
||||
chatName,
|
||||
@ -347,6 +359,7 @@ const manageActionMsg = async (ctx: Context.Data) => {
|
||||
|
||||
// 判断是否需要返回时间范围选择器
|
||||
if (!(timeScope || (startTime && endTime))) {
|
||||
logger.info("Send time scope selector")
|
||||
return genTimeScopeSelector(ctx, {
|
||||
chatId,
|
||||
chatName,
|
||||
@ -356,6 +369,7 @@ const manageActionMsg = async (ctx: Context.Data) => {
|
||||
})
|
||||
}
|
||||
|
||||
logger.info("Send group report")
|
||||
// 设置齐全,返回结果报告
|
||||
sendGroupReport(ctx, messageId, {
|
||||
chatId,
|
||||
|
@ -2,4 +2,4 @@
|
||||
POST http://localhost:3000/bot?app=egg
|
||||
Content-Type: application/json
|
||||
|
||||
{"schema":"2.0","header":{"event_id":"0c250522d3832abc044649e03672effd","token":"tV9djUKSjzVnekV7xTg2Od06NFTcsBnj","create_time":"1729082026035","event_type":"im.message.receive_v1","tenant_key":"2ee61fe50f4f1657","app_id":"cli_a1eff35b43b89063"},"event":{"message":{"chat_id":"oc_ba33dc55b3dd76bf31e0adfec5e13300","chat_type":"p2p","content":"{\"text\":\"/groupchat 前端群说了什么\"}","create_time":"1729082025875","message_id":"om_eba008b10c29ac96d9c1e6e9baf22286","message_type":"text"},"sender":{"sender_id":{"open_id":"ou_470ac13b8b50fc472d9d8ee71e03de26","union_id":"on_9dacc59a539023df8b168492f5e5433c","user_id":"zhaoyingbo"},"sender_type":"user","tenant_key":"2ee61fe50f4f1657"}}}
|
||||
{"open_id":"ou_470ac13b8b50fc472d9d8ee71e03de26","user_id":"zhaoyingbo","open_message_id":"om_3e369929b05b706754f89cd7d54018f3","open_chat_id":"oc_ba33dc55b3dd76bf31e0adfec5e13300","tenant_key":"2ee61fe50f4f1657","token":"c-4f54593c6ff3033652cb70160322905d5598576f","action":{"value":{"cardGroup":"groupAgent","cardName":"groupSelector","groupOptions":[{"text":{"content":"MIAI-FE 人工智能部-前端组","tag":"plain_text"},"value":"oc_ef98c2a9229657f99d4ef573a30fe91c|MIAI-FE 人工智能部-前端组"},{"text":{"content":"方糖の家","tag":"plain_text"},"value":"oc_433b1cb7a9dbb7ebe70a4e1a59cb8bb1|方糖の家"},{"text":{"content":"复现平台需求评审及前后端联调","tag":"plain_text"},"value":"oc_85ec841519b1d4e281ad385e3d045847|复现平台需求评审及前后端联调"},{"text":{"content":"场景复现平台前端上线通知","tag":"plain_text"},"value":"oc_e9750782ba3833afd35e7d29afa25741|场景复现平台前端上线通知"},{"text":{"content":"FE-CloudML","tag":"plain_text"},"value":"oc_07bb9ac6df70d0ae2d267fa0bfbcfb88|FE-CloudML"},{"text":{"content":"Yingbo Zhao","tag":"plain_text"},"value":"oc_51c982ebfc203937d5e8f0a33324bd53|Yingbo Zhao"},{"text":{"content":"小煎蛋测试群","tag":"plain_text"},"value":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea|小煎蛋测试群"},{"text":{"content":"RAG引擎部署落地","tag":"plain_text"},"value":"oc_09f4c9e07ed199004b4d1276143059dd|RAG引擎部署落地"}],"requestId":"897864dd-8200-42c1-a088-64bab3286095","xAuthor":"AI创新应用组","xIcon":"🔥","xName":"Group Agent"},"tag":"select_static","option":"oc_ef98c2a9229657f99d4ef573a30fe91c|MIAI-FE 人工智能部-前端组"}}
|
Loading…
x
Reference in New Issue
Block a user