百度千帆大模型文心一言api调用

demo工程(csdn上传总是报错461, 只好使用百度网盘了)
链接:https://pan.baidu.com/s/1EXbQDBMMNh1pyMIKwCmnow?pwd=7891
提取码:7891

注册百度智能云账号并申请文心千帆大模型资格

https://login.bce.baidu.com/
https://cloud.baidu.com/product/wenxinworkshop

创建应用用于获取access_token

在这里插入图片描述
在这里插入图片描述
创建应用成功后,可以获取到API Key和Secret Key

获取access_token

curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】'

在这里插入图片描述

开通付费服务

在这里插入图片描述
api调用是按token(字数)收费的,不开通收费无法使用。

发送对话请求

curl -XPOST 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=[步骤一调用接口获取的access_token]' -d '{
   "messages": [
    {"role":"user","content":"介绍一下你自己"}
   ]
}' 

在这里插入图片描述

Java发送http方式调用

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

/**
 * api文档 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/jlil56u11
 *
 */
public class BaiduWenXinChat {

	static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().connectTimeout(5, TimeUnit.SECONDS) // 连接超时设置为20秒
			.writeTimeout(15, TimeUnit.SECONDS) // 写入超时设置为30秒
			.readTimeout(20, TimeUnit.SECONDS) // 读取超时设置为30秒
			.build();
	static Gson gson = new Gson();

	// 历史对话信息
	Map<String, List<ChatMsg>> mapChatList = new HashMap<String, List<ChatMsg>>();

	public static void main(String[] args) throws Exception {

		/*  获取acessToken:
		curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】'
		*/
		String accessToken = "24.621fe77e232121321213213213213213c6b";
		String url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token="
				+ accessToken;
		String msg = "介绍下你自己";

		// 结合prompt增强的当前待发送信息
		ChatMsg chatMsg = new ChatMsg();
		chatMsg.setRole("user");
		chatMsg.setContent(msg);

		// 当前发送消息数组
		List<ChatMsg> messages = new ArrayList<ChatMsg>();
		messages.add(chatMsg);
		String messagesJson = gson.toJson(messages);
		String content = "{\"messages\":" + messagesJson + "}";

		long start = System.currentTimeMillis();

		MediaType mediaType = MediaType.parse("application/json");
		RequestBody body = RequestBody.create(mediaType, content);

		System.out.println(content);
		Request request = new Request.Builder().url(url).method("POST", body)
				.addHeader("Content-Type", "application/json").build();

		Response response = HTTP_CLIENT.newCall(request).execute();
		String responseText = response.body().string();
		System.out.println("response返回: \n" + responseText);

		long end = System.currentTimeMillis();
		System.out.println("该回答花费时间为:" + (end - start) / 1000.0 + "秒");

		ObjectMapper objectMapper = new ObjectMapper();
		JsonNode rootNode = objectMapper.readTree(responseText);
		String answer = rootNode.get("result").asText();
		System.out.println(answer);
	}

}

class ChatMsg {

	private String role;
	private String content;

	public String getRole() {
		return role;
	}

	public void setRole(String role) {
		this.role = role;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

}

demo工程(csdn上传总是报错461, 只好使用百度网盘了)
链接:https://pan.baidu.com/s/1EXbQDBMMNh1pyMIKwCmnow?pwd=7891
提取码:7891

参考

https://blog.csdn.net/qq_30299877/article/details/131917097
https://cloud.baidu.com/doc/WENXINWORKSHOP/s/jlil56u11
https://cloud.baidu.com/qianfandev/topic/267178
https://blog.csdn.net/shy_snow/article/details/132759686

### 如何使用 Python 调用百度文心一言大模型 API #### 安装依赖库 为了调用文心一言大模型 API,需要先安装必要的 SDK 或者第三方工具包。可以通过 `pip` 命令来完成安装操作。 如果选择官方推荐的 SDK,则执行如下命令: ```bash pip install qianfan ``` 另一种方式是通过 PaddlePipelines 提供的支持模块: ```bash pip install paddle-pipelines ``` --- #### 配置环境变量 在实际开发过程中,建议将敏感信息(如 API Key 和 Secret Key)存储到 `.env` 文件中以便管理[^3]。`.env` 文件的内容应类似于以下形式: ``` QW_API_KEY=your_api_key_here QW_SECRET_KEY=your_secret_key_here ``` 之后,在代码运行前加载这些配置项即可实现安全访问。 --- #### 编写调用逻辑 以下是基于两种方法的具体实现案例。 ##### 方法 1: 使用 QianFan SDK 这是由百度官方维护的一个多功能 SDK,能够简化与文心一言交互的过程。下面是一个简单的例子展示如何发送请求并获取响应数据。 ```python from qianfan import Model # 初始化模型实例 model = Model("ernie-bot") # 设置参数字典 params = { "prompt": "你好呀", } # 发起预测请求 response = model.call(**params) print(response['result']) ``` 此段脚本会向指定的服务端点发出 HTTP 请求并将返回的结果打印出来。 --- ##### 方法 2: 利用 Pipelines Nodes 组件 对于偏好灵活性较高的开发者来说,可能更倾向于采用第二种途径——借助于 PaddlePipelines 库中的节点类对象来进行定制化处理。 示例如下所示: ```python from pipelines.nodes import ErnieBot # 创建ErnieBot实例时传入个人专属密钥 ernie_bot = ErnieBot( api_key="your_apply_key", secret_key="your_apply_secret_key" ) # 执行查询动作 res = ernie_bot.predict('请问您是哪位?') # 展示最终答复内容 print(res) ``` 上述代码片段展示了另一个可行的技术路线图[^4]。 需要注意的是,无论是哪种方案都涉及到费用支出情况,请务必提前了解清楚收费标准后再做决定[^2]。 --- #### 注意事项 - **API 密钥保护**: 不要随意泄露自己的 API Key 及 Secret Key ,以免造成经济损失或其他不良后果。 - **服务选型考量**: 根据具体应用场景需求挑选合适类型的模型版本;比如速度较快但精度稍低一点的 Turbo 版本适合实时聊天场景应用等。 - **错误排查手段**: 如果遇到问题无法正常连接服务器或者解析失败等情况发生的话,可以查看官方文档寻求帮助或是联系技术支持团队解决疑惑之处。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值