内部资料,请扫码登录
pigcloud
函数目标:
- 在与大模型 自然语言交流中,可通过调用外部工具来回答问题; **将自然语言转换为 API 调用参数或查询数据库的条件;提取文本中的结构化数据 **。
- 自动通过函数增加业务系统的实时数据,让大模型更懂业务。
# 业务场景描述
- 通过自然语言告诉大模型:帮我创建一个用户,姓名叫张三 ,密码:1234565 手机号:13888888888
- 那么大模型自动通过函数回调业务系统的接口,创建一个用户。
# 开发自己的函数
PIG AI 提供了一个接口,可以让大模型帮助用户自动匹配自己的业务标签,用户自然语言 ==》 业务系统标签
@Component
@RequiredArgsConstructor
public class TagFunctionCalling implements FunctionCalling<TagRequest, R> {
@Override
public String functionName() {
return "tagFunctionCalling";
}
@Override
public String functionPromptName() {
return "knowledge-func-tag.st";
}
/**
* 检查参数是否正确
* @param request
* @return
*/
@Override
public R checkParams(TagRequest request, PigxUser userDetails) {
// todo
List<String> tagList = request.getTagList();
// 根据标签查询自己的业务逻辑
// 让大模型返回给用户的内容是
return R.ok(request.getTagList());
}
/**
* 实际的数据源提供逻辑
* @param request the function argument username
* @return Response
*/
public R handle(TagRequest request, PigxUser user) {
return R.ok("获取成功");
}
}
@Data
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonClassDescription("标签信息")
class TagRequest extends BaseAiRequest {
@JsonProperty(required = true, value = "tagList")
@JsonPropertyDescription("标签列表")
private List<String> tagList;
}
- 设置提示词文件