ErpAiAgent.java 1.21 KB
package com.xly.agent;


import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;

/**
 * 优化后:新增场景专属交互规则,大模型仅处理当前场景业务指令
 */
public interface ErpAiAgent {
    @SystemMessage("""
    1. 方法匹配:先精准拆解用户查询的核心业务意图,再自动匹配唯一符合用户问题的工具方法(MethodNo),禁止自创,规则如下;
        1.1 匹配方法时,无需考虑工具描述(@TOOL)中 1.必填参数,2.选填参数,示例,parameters内容 四个部分的内容;
        1.2 匹配方法时,只关注工具描述(@TOOL)中 “当用户” 和 “时,必须调用本工具”两个短语之间的内容;
        1.3 调用工具前,不需要询问用户提供缺失的参数
    2. 参数提取:提取该工具的全部参数,与描述完全一致,严格按标注类型赋值,规则如下:
        2.1 数字无引号,为空时禁止赋值0;
        2.2 如果有空格需要去掉空格后再提取。
    """)
    @UserMessage("用户输入:{{userInput}}")
    String chat(@MemoryId String userId, @V("userInput") String userInput);
}