java调用文心一言API的方法

这篇具有很好参考价值的文章主要介绍了java调用文心一言API的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

话不多说,直接上干货:

一、首先去官网注册一个账号百度智能云-登录 (baidu.com),注册完成后等待审核,审核后就可以去控制台操作啦!

二、根据官网介绍,由于文心一言属于收费产品(也有免费的,但功能限制),因此建议可以充值几块钱,足以做实验用了。我这里用的是“千帆大模型”产品。

java调用文心一言API的方法,java,java,开发语言

三、代码实现过程:

 1)调用工具:

package utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import okhttp3.*;

import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;

public class ChineseGPT {
    static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build();

    public static void main(String []args) throws IOException{
        //1、获取token
        String access_token = new ChineseGPT().getWenxinToken();
        //2、访问数据
        String requestMethod = "POST";
        String body = URLEncoder.encode("junshi","UTF-8");//设置要传的信息
        String url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token="+access_token;//post请求时格式
        //测试:访问聚合数据的地区新闻api
        HashMap<String, String> msg = new HashMap<>();
        msg.put("role","user");
        msg.put("content", "帮我写一篇关于介绍吉林市的小短文,大概100字左右");
        ArrayList<HashMap> messages = new ArrayList<>();
        messages.add(msg);
        HashMap<String, Object> requestBody = new HashMap<>();
        requestBody.put("messages", messages);
        String outputStr = JSON.toJSONString(requestBody);
        JSON json = HttpRequest.httpRequest(url,requestMethod,outputStr,"application/json");
        System.out.println(json);
    }

    public String getWenxinToken() throws IOException {
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, "");
        Request request = new Request.Builder()
                .url("https://aip.baidubce.com/oauth/2.0/token?client_id=xxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxx&grant_type=client_credentials") //按官网要求填写你申请的key和相关秘钥
                .method("POST", body)
                .addHeader("Content-Type", "application/json")
                .addHeader("Accept", "application/json")
                .build();
        Response response = HTTP_CLIENT.newCall(request).execute();
        String s = response.body().string();
        JSONObject objects = JSONArray.parseObject(s);
        String msg = objects.getString("access_token");
        System.out.println(msg);
        return msg;
    }
}

2)请求工具:

package utils;

import com.alibaba.fastjson.JSONObject;

import javax.net.ssl.HttpsURLConnection;
import java.io.*;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;


public class HttpRequest {
    
    /**
     * post/GET远程请求接口并得到返回结果
     *
     * @param requestUrl 请求地址
     * @param requestMethod 请求方法post/GET
     * @return
     */
    public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr,String contentType) {
        JSONObject jsonObject = null;
        StringBuffer buffer = new StringBuffer();
        try {

            URL url = new URL(requestUrl);
            HttpURLConnection httpUrlConn = (HttpURLConnection)url.openConnection();
            httpUrlConn.setDoOutput(true);
            httpUrlConn.setDoInput(true);
            httpUrlConn.setUseCaches(false);
            // 设置请求方式(GET/POST)
            httpUrlConn.setRequestMethod(requestMethod);
            //设置头信息
//            httpUrlConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
            httpUrlConn.setRequestProperty("Content-Type",contentType);
            httpUrlConn.setRequestProperty("Accept","application/json;charset=UTF-8");
            // 设置连接主机服务器的超时时间:15000毫秒
            httpUrlConn.setConnectTimeout(15000);
            // 设置读取远程返回的数据时间:60000毫秒
            httpUrlConn.setReadTimeout(60000);
            if ("GET".equalsIgnoreCase(requestMethod)){
                httpUrlConn.connect();
            }
            // 当有数据需要提交时
            if (null != outputStr) {
                OutputStream outputStream = httpUrlConn.getOutputStream();
                // 注意编码格式,防止中文乱码
                outputStream.write(outputStr.getBytes("UTF-8"));
                outputStream.close();
            }

            // 将返回的输入流转换成字符串
            InputStream inputStream = httpUrlConn.getInputStream();
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            String str = null;
            while ((str = bufferedReader.readLine()) != null) {
                buffer.append(str);
            }
            bufferedReader.close();
            inputStreamReader.close();
            // 释放资源
            inputStream.close();
            inputStream = null;
            httpUrlConn.disconnect();
            jsonObject = JSONObject.parseObject(buffer.toString());
        } catch (ConnectException ce) {
        } catch (Exception e) {
        }
        return jsonObject;
    }

}

3)执行main方法执行即可。文章来源地址https://www.toymoban.com/news/detail-674994.html

到了这里,关于java调用文心一言API的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序实现调用百度文心一言接口API(可直接运行代码)

    直接贴出运行结果 总共有三个步骤,过程都很简单。 先进入文心千帆大模型平台,然后点击左边一列的“应用接入”,然后点创建应用,这时你就获得了API_key了。 如下,开通是免费的,付费随时可以中止。 不过记得要换成自己的API_key和Secret_key。  (如果报错 “链接不在

    2024年02月13日
    浏览(33)
  • 怎么调用文心一言的api接口生成一个简单的聊天机器人(python代码)

    寒假在学习大模型,但也没弄出多少眉目,电脑性能还有点小问题,大模型总跑不起来,只会简单调用一下现有的大模型的接口,例如:文心一言,下面展示一下代码: 至于如何获取这其中的两个key,网上有太多文章了,大家可以去找找看,比如这篇文章:百度文心一言AP

    2024年04月09日
    浏览(63)
  • 百度文心一言:官方开放API开发基础

    目录 一、模型介绍 1.1主要预置模型介绍 1.2 计费单价 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 2.2 设置Access Key 与 Secret Key 三、基于千帆SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码        文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,其

    2024年04月23日
    浏览(26)
  • 文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力

    2023年8月31日, 文心一言 率先向全社会全面开放。 随之而来的便是向开发者开放 插件 生态。 如果说文心一言是一个智能中枢大脑,插件就是文心一言的耳、目、手。插件将“文心一言”AI能力与外部应用相结合,既能丰富大模型的能力和应用场景,也能利用大模型的生成能

    2024年02月09日
    浏览(106)
  • maui 调用文心一言开发的聊天APP 3

    上一个版本写死了帐号跟密码 ,这一个帐本有户可以直接设置 对相关的key以及secret如果设置错时,在聊天中也会返回提示。 注册帐号时同时也设置了key及secrete 升级到了net.8.0 导出APK,上一个版本是导出abb. 解决了变型问题,现在生成桌面系统也能正常显示。 加入了手机号密

    2024年02月03日
    浏览(31)
  • python 调用百度文心一言接口开发聊天机器人

    要使用Python调用百度文心一言接口开发聊天机器人,可以按照以下步骤进行: 注册百度智能云账号并创建一个API密钥。 安装Python的requests库和BeautifulSoup库。可以使用以下命令进行安装: 使用Python编写代码,通过请求百度智能云API接口,获取聊天机器人的回答。以下是一个示

    2024年02月09日
    浏览(31)
  • ThinkPHP6 实现 百度文心一言 (千帆)API 智能AI开发

    尝试过chat GPT的接入,现在也尝试下文心一言的接入测试。 参照百度云千帆大模型官方提供的API文档,选择了”  ERNIE-Bot-turbo “ 模型创建chat,使用的hinkPHP6 进行api对接。 只做了接口对接结果处理,没做前端demo。 先上几张测试通过的图    核心代码

    2024年02月06日
    浏览(35)
  • 文心一言4.0(ERNIE-Bot-4)申请方法及简单调用代码示例

    10月17日过后,估计很多人会看到类似的新闻,如图: 我看到这则新闻也是觉得非常感兴趣,于是本着“百闻不如一见”的实事求是的态度检索如何申请,没想到还真找到了ERNIE-Bot-4(俗称:文心一言4.0)的申请入口,如下: 体验地址 企业用户/个人开发者:填写表单申请开通

    2024年02月07日
    浏览(33)
  • 听说现在流行卷应用?开发者们都开始调用文心API开发了?!

    随着大模型的涌现,我们喜悦于其远远超越小模型的性能,但又不得不面临大模型开发难的困境,训练难、微调难、部署难,开发者难以将其投入实际生产,不仅面临资源的限制,更面临高精数据难寻、时间成本过高等问题。 为了让平台更多开发者可以进行大模型开发, 体

    2024年02月09日
    浏览(31)
  • 文心大模型使用——文心一言API

    整体流程 API_KEY、SECRET_KEY自行购买 获取鉴权签名token,以及发送post请求 效果: 效果: 流式与非流式的区别:输出的response格式不一致 流式 常规 类似,可参考多轮对话,修改stream=True

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包