IntelliJ IDEA快速接入LLMs大模型API

IntelliJ IDEA快速接入LLMs大模型API

时隔很久没写文章,这次记录下自己在使用Spring AI来接入大模型的方式。由于2024年7月之后OpenAI,Google gemini很多大公司开始了限制中国区访问,这也让我在实验过程中浪费了很多时间。本次选用了百度文心一言的千帆大模型进行实验。对于简单的测试效果速度还是可以接受的,同时最重要的是,可以调通!

一、创建个人API Key

1.1 登录智能云

https://cloud.baidu.com/?from=console

1.2 搜索"千帆大模型服务与开发平台ModelBuilder"

1.3 选择应用接入 -》 创建应用 来获得我们的

获取access token方式,将如下的连接替换为自己的API Key与Secret Key,并在浏览器中打开

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials\&client_id=\[API_Key\]\&client_secret=\[Secret_Key\]

其中的access token就是我们需要的,我们可以将其配置在自己的spring boot项目中。

二、代码示例

我们通过创建自己的spring boot 项目进行测试

spring boot 版本控制在3.0以上

导入依赖

xml 复制代码
		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.8.25</version>
		</dependency>
java 复制代码
	public static void main(String[] args) {
		String url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions";
		String accessToken = "自己的access token";

		HashMap<String, String> msg = new HashMap<>();
		msg.put("role", "user");
		msg.put("content", "你是谁?");

		ArrayList<HashMap> messages = new ArrayList<>();
		messages.add(msg);

		HashMap<String, Object> requestBody = new HashMap<>();
		requestBody.put("messages", messages);

		String response = HttpUtil.post(url + "?access_token=" + accessToken, JSONUtil.toJsonStr(requestBody));

		System.out.println(response);
	}

Output

powershell 复制代码
{
    "id": "as-acbg25ytgj",
    "object": "chat.completion",
    "created": ,
    "result": "您好,我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。",
    "is_truncated": false,
    "need_clear_history": false,
    "usage": {
        "prompt_tokens": 12,
        "completion_tokens": 32,
        "total_tokens": 317
    }
}

Tips:新用户应该是有个20元免费券可以使用哦,如果超过了,就要自己付费了,大家且用且珍惜。

相关推荐
Lichee201 小时前
招行Java 面试知识点梳理:Spring 事务、锁、线程池、集合
java·面试
YDS8291 小时前
Small Spring IOC篇:作用域和FactoryBean
java·后端·spring
Shaoshing1 小时前
LeetCode100 42.接雨水
java·算法·leetcode
枫子有风1 小时前
卡码网盘项目深挖
java·redis·jwt·es·pgvector
郭小李2 小时前
springmvc 拦截器
java·开发语言·前端
大风起兮云飞扬丶2 小时前
Java——日期类
java·开发语言
Wang's Blog2 小时前
Java 项目实战:交友项目 - 联系人管理需求分析
java·开发语言·交友
lazy H2 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
学到老活到老2 小时前
第 22 集:Filter、Interceptor、AOP 都能拦截,为什么不能互换?
java·后端·spring
sun03222 小时前
【JDK 动态代理】 和 【CGLIB 代理】对比
java·数据库·sql