当前位置:AIGC资讯 > AIGC > 正文

百度文心一言:官方开放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)是百度全新一代知识增强大语言模型,其基础是文心大模型。文心大模型基于大规模训练数据进行预训练,结合有监督精调、人类反馈的强化学习、Prompt 机制,构建生成式人工智能大模型,具备知识增强、检索增强和对话增强的技术特色。

        百度智能云千帆大模型平台是面向企业开发者的一站式大模型开发及服务运行平台。千帆大模型平台不仅提供了包括文心一言底层模型和第三方开源大模型,还提供了各种AI开发工具和整套开发环境,方便客户轻松使用和开发大模型应用。

1.1主要预置模型介绍

模型名称 模型简介 ERNIE 4.0  百度自行研发的文心产业级知识增强大语言模型4.0版本,实现了基础模型的全面升级,在理解、生成、逻辑和记忆能力上相对ERNIE 3.5都有着显著提升,支持5K输入+2K输出。 ERNIE 3.5 百度自研的旗舰级大规模⼤语⾔模型,覆盖海量中英文语料,具有强大的通用能力,可满足绝大部分对话问答、创作生成、插件应用场景要求;支持自动对接百度搜索插件,保障问答信息时效。 ERNIE Lite   百度自研的轻量级大语言模型,兼顾优异的模型效果与推理性能,适合低算力AI加速卡推理使用。 ERNIE Tiny  百度自研的超高性能大语言模型,部署与精调成本在文心系列模型中最低。

1.2 计费单价

        千帆大模型平台预置推理服务支持Tokens用量后付费:

定义:调用模型服务时根据实际的输入和输出tokens总量收费。 付费方式:后付费,按分钟计费,每15分钟扣费,每小时出账。 适用范围:临时性调用,无法评估业务体量。 模型服务 模型名称 计费单价 文心一言 ERNIE-4.0-8K 输入:0.12元/千tokens
输出:0.12元/千tokens ERNIE-3.5-8K 输入:0.12元/千tokens
输出:0.12元/千tokens ERNIE-Lite-8K 输入:0.003元/千tokens
输出:0.003元/千tokens ERNIE-Tiny-8k 输入:0.001元/千tokens
输出:0.001元/千tokens

        实际收费情况请关注官方信息。

二、前置条件

2.1 创建应用获取 Access Key 与 Secret Key

        在使用千帆 SDK 之前,用户需要 百度智能云控制台 - 安全认证 页面获取 Access Key 与 Secret Key,并在 千帆控制台 中创建应用,选择需要启用的服务,具体流程参见平台 说明文档。

2.2 设置Access Key 与 Secret Key

        SDK 支持从环境变量 QIANFAN_ACCESS_KEY 和 QIANFAN_SECRET_KEY 获取配置,这一步骤会在使用 SDK 时自动完成。

#linux

export QIANFAN_ACCESS_KEY=your_access_key
export QIANFAN_SECRET_KEY=your_secret_key

#windows

setx QIANFAN_ACCESS_KEY "your_access_key"

setx QIANFAN_SECRET_KEY "your_secret_key"

        同时,也可以在代码中实例化Qianfan时手动传入 AccessKey 和 SecretKey,具体如下:

Qianfan qianfan = new Qianfan("your_access_key", "your_secret_key");

三、基于千帆SDK开发

3.1 Maven引入SDK

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yichenkeji</groupId>
    <artifactId>yichen-demo-qianfan</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.baidubce/qianfan -->
        <dependency>
            <groupId>com.baidubce</groupId>
            <artifactId>qianfan</artifactId>
            <version>0.0.4</version>
        </dependency>

    </dependencies>
</project>

3.2 代码实现

package com.yichenkeji.demo.qianfan;


import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.chat.ChatResponse;

public class QianfanMain {

    public static String chat(String message) {
        Qianfan qianfan = new Qianfan();
        ChatResponse response = qianfan.chatCompletion()
                // 使用model指定预置模型
                .model("ERNIE-3.5-8K")
                .addMessage("user", message)//添加用户消息 (此方法可以调用多次,以实现多轮对话的消息传递)
                .execute();
        return response.getResult();
    }


    public static void main(String[] args) {
        String result = chat("请做一下自我介绍");
        System.out.println(result);
    }
}

3.3 运行代码

更新时间 2024-05-30