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元免费券可以使用哦,如果超过了,就要自己付费了,大家且用且珍惜。

相关推荐
侠客行0317几秒前
Tomcat 网络I/O模型浅析
java·tomcat·源码阅读
Yilena1 分钟前
带你轻松学习LangChain4j
java·学习·langchain
皙然19 分钟前
深入拆解MESI协议:从原理到实战,搞懂CPU缓存一致性的核心机制
java·缓存
愤豆24 分钟前
02-Java语言核心-语法特性-注解体系详解
java·开发语言·python
x-cmd1 小时前
[x-cmd] 终端里的飞书:lark-cli,让 AI Agent 拥有“实体办公”能力
java·人工智能·ai·飞书·agent·x-cmd
吾日三省Java1 小时前
SpringBoot锁设计:让你的系统不再“抢”出问题!
java·spring boot·设计思路
XXOOXRT1 小时前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
m0_719084111 小时前
启动命令111
java
客卿1231 小时前
用两个栈实现队列
android·java·开发语言
java1234_小锋2 小时前
Java高频面试题:谈谈你对SpringBoot的理解?
java·开发语言·spring boot