内部资料,请扫码登录
pigcloud
函数目标:
- 在与大模型 自然语言交流中,可通过调用外部工具来回答问题; 将自然语言转换为 API 调用参数或查询数据库的条件;提取文本中的结构化数据。
- 自动通过函数增加业务系统的实时数据,让大模型更懂业务。
# 业务场景描述
- 通过自然语言告诉大模型:帮我创建一个用户,姓名叫张三 ,密码:1234565 手机号:13888888888
- 那么大模型自动通过函数回调业务系统的接口,创建一个用户。
# 开发自己的函数
PIG AI 提供了一个接口,可以让大模型帮助用户自动匹配自己的业务标签,用户自然语言 ==》 业务系统标签
@Component
@RequiredArgsConstructor
public class TagFunctionCalling implements FunctionCalling<TagRequest, R> {
@Override
public String functionName() {
return "tagFunctionCalling";
}
/**
* 判断大模型返回的参数是否正确
*/
@Override
public R checkParams(TagRequest tagRequest, PigxUser userDetails, ChatMessageDTO.ExtDetails extDetails) {
return R.ok();
}
/**
* 业务处理逻辑
*/
@Override
public R<String> handle(TagRequest tagRequest, PigxUser userDetails, ChatMessageDTO.ExtDetails extDetails) {
// 根据大模型返回的标签列表,执行自己的业务逻辑
// 返回给大模型一段话,让大模型返回给用户
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;
}
- 设置提示词文件