Springboot封装通用AI模块实现平台智能化(封装和使用AI详细教程)

目录

国内支持SDK调用的优秀开源AI平台

导入依赖

获取API key(注意保密)

测试Demo

封装通用AI模块

application.yml配置API key

定义AI配置类

封装通用的AI请求模块

使用AI赋能项目

设计Prompt的常用技巧

技巧一  定义 System Prompt

技巧二  让 AI 进行角色扮演

技巧三  提供具体的细节要求

技巧四  使用分隔符标示不同的输入部分

技巧五  思维链提示

技巧六  少样本学习

项目中调用AI(实战)

定义Prompt常量

业务逻辑中调用AI

调用AI,使用定义好的Prompt生成题目

完整代码


国内支持SDK调用的优秀开源AI平台

智谱AI(ZhipuAI):智谱AI是一家专注于大模型技术的公司,由清华大学计算机系知识工程实验室技术成果转化而来。智谱AI提供了包括对话模型、视觉模型、代码生成模型等多种AI模型,并提供了开放平台供开发者使用和集成。智谱AI的SDK可以用于快速集成其AI能力,如对话、图像识别等功能。

百度飞桨(PaddlePaddle):百度飞桨是中国首个开源深度学习平台,提供丰富的API和SDK,支持多种深度学习模型的开发和部署。

腾讯AI Lab:腾讯AI Lab提供了多种AI技术和服务,包括计算机视觉、语音识别、自然语言处理等领域的SDK和API。

阿里云机器学习平台PAI:阿里云提供的机器学习平台PAI支持多种机器学习算法和模型,提供了SDK供开发者调用。

华为ModelArts:华为云ModelArts是一个全流程模型生产服务,提供丰富的API和SDK,支持模型的训练、部署和管理。

注释:本文以智谱AI为例,其他开源AI平台同理

导入依赖

<dependency>
    <groupId>cn.bigmodel.openapi</groupId>
    <artifactId>oapi-java-sdk</artifactId>
    <version>release-V4-2.3.0</version>
</dependency>

获取API key(注意保密)

官网的个人中心,找到项目管理下的API keys。

测试Demo

测试是否调用AI成功,注意API key要换成自己的。

@SpringBootTest
public class ZhiPuAiTest {

    @Test
    public void test() {
        String apiKey = "自己的apikey";
        // 创建客户端
        ClientV4 client = new ClientV4.Builder(apiKey).build();
        // 构造请求
        List<ChatMessage> messages = new ArrayList<>();
        ChatMessage chatMessage = new ChatMessage(ChatMessageRole.USER.value(), "作为一名营销专家,请为智谱开放平台创作一个吸引人的slogan");
        messages.add(chatMessage);
        String requestId = String.valueOf(System.currentTimeMillis());
        ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
                .model(Constants.ModelChatGLM4)
                .stream(Boolean.FALSE)
                .invokeMethod(Constants.invokeMethod)
                .messages(messages)
                .requestId(requestId)
                .build();
        // 调用
        ModelApiResponse invokeModelApiResp = client.invokeModelApi(chatCompletionRequest);
        System.out.println("model output:" + invokeModelApiResp.getMsg());
    }
}

封装通用AI模块

application.yml配置API key

#  ai 配置
ai:
  api-key: 自己的key

定义AI配置类

@Configuration
@ConfigurationProperties(prefix = "ai")
@Data
public class AiConfig {

    /**
     * apiKey
     */

    private String apiKey;

    @Bean
    public ClientV4 getClientV4() {
        return new ClientV4.Builder(apiKey).build();
    }
}

封装通用的AI请求模块

AiManager类提供了多种方法来执行同步和流式请求,包括稳定和不稳定答案的同步请求,以及可以根据随机数温度参数自定义的同步请求。这些方法允许以简化的方式传递系统和用户消息,或者直接传递一个消息列表。

/**
 * 通用 AI 调用能力
 */
@Component
public class AiManager {

    @Resource
    private ClientV4 clientV4;

    // 稳定的随机数
    private static final float STABLE_TEMPERATURE = 0.05f;

    // 不稳定的随机数
    private static final float UNSTABLE_TEMPERATURE = 0.99f;

    /**
     * 同步请求(答案不稳定)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hrhcode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值