【千帆平台】使用千帆大模型平台创建自定义模型调用API,贺岁灵感模型,文本对话

本文主要是介绍【千帆平台】使用千帆大模型平台创建自定义模型调用API,贺岁灵感模型,文本对话,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎来到《小5讲堂》
大家好,我是全栈小5。
这是《千帆平台》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 千帆大模型平台
  • 基本结构图
  • 我的数据集
    • 提示词
    • 响应文本
    • 整体格式
    • 自定义数据
    • 上传数据集
  • 模型精调
  • 我的模型
  • 在线服务
  • 应用接入
    • API鉴权
    • 示例代码
  • 调用API接口
    • 效果
    • 代码

千帆大模型平台

千帆大模型平台是百度AI开发的一站式大模型开发及服务运行平台,面向企业开发者
该平台集成了多种大模型,包括语言模型、图像模型、语音模型和跨模态模型等,并提供了包括文心一言底层模型(ERNIE-Bot)和第三方开源大模型。
此外,千帆还提供了各种AI开发工具和整套开发环境,以及丰富的API和SDK,支持多种开发语言和框架,方便客户轻松使用和开发大模型应用。

千帆大模型平台致力于支持数据管理、自动化模型SFT以及推理服务云端部署的一站式大模型定制服务,以满足各行业的生成式AI应用需求。
面向不同的企业需求,千帆提供不同的功能服务,从而帮助企业快速构建AI应用,提升业务效率和创新能力。

基本结构图

大概的思路就是,自定义服务 》我的模型 》训练任务 》数据集
千帆大模型平台,本身提供很多服务和模型,直接使用即可,本篇文章将在【ERNIE-Speed】模型基础上创建自定义模型。
在这里插入图片描述

我的数据集

准备自己的数据集,要求100条以上的数据

提示词

prompt提示词,一般只有一个提示词,如下:
假如你是软件工程师,请给团队成员发送一段技术鼓励风格的40字春节祝福。

响应文本

response参考响应文本,可以有多个参考
在代码与算法的世界里迎接新春,愿你们的bug少,成就多,工作顺利,生活幸福,鼠标点击间带来无限可能。春节快乐!

整体格式

因为响应参考是可以多个,所以response是一个数组

[{"prompt": "", "response": [[""]]}]

自定义数据

提供尽量多相关的数据,因此高质量的提示词还是比较有价值的

[{"prompt": "假如你是软件工程师,请给团队成员发送一段技术鼓励风格的40字春节祝福。", "response": [["在代码与算法的世界里迎接新春,愿你们的bug少,成就多,工作顺利,生活幸福,鼠标点击间带来无限可能。春节快乐!"]]}]
[{"prompt": "请以舞龙舞狮题目,写一首五言律诗", "response": [["节日喜庆展威风,舞龙舞狮热闹中。彩旗迎风翻翻舞,鼓声震耳壮气盛。万众欢呼喜气浓。"]]}]

上传数据集

平台提供多种格式文件进行上传
在这里插入图片描述

模型精调

在上一步准备好自己的数据集后,接着就是进行模型精调,这里采用SFT进行训练任务。
利用准备好的训练数据及平台提供的预训练大模型,训练自己的大模型,训练任务是需要收费的,100条数据大概也就几块钱,根据自己情况进行训练。
博主这里的100条数据集,训练任务完成大概要20分钟。
在这里插入图片描述

我的模型

上传了数据集,并对数据集进行训练和完成后,就可以创建自己的大模型了。
选择模型训练方式,博主这里是选了SFT,模型配置就是选择对应自己训练好的任务在这里插入图片描述

在线服务

上一步骤完成创建自己的模型后,就可以创建自己的模型服务,创建服务会自定部署且需要费用,相对比较高一点,350元/天。
主要操作就是,选择自己的模型,并设置自己模型服务的API地址,默认前缀是一样,需要自定义自己API地址在这里插入图片描述
比如博主的API地址:https://xxx/my_service

应用接入

创建应用,目的是拿到API Key和Secret Key,通过这两个参数又可以拿到Access Token值。
access_token默认有效期30天,单位是秒,生产环境注意及时刷新。

API鉴权

地址:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Ilkkrb0i5

示例代码

点击跳转地址

  • Python
import requests
import jsondef main():url = "https://aip.baidubce.com/oauth/2.0/token?client_id=[创建应用的API Key]&client_secret=[创建应用的
Secret Key]&grant_type=client_credentials"payload = json.dumps("")headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)if __name__ == '__main__':main()
  • C#
using System;
using System.IO;
using RestSharp;//依赖版本106.15.0 https://www.nuget.org/packages/RestSharp/106.15.0
namespace SampleApplication {public class Sample {public static void Main(string[] args) {var client = new RestClient($"https://aip.baidubce.com/oauth/2.0/token?client_id=[创建应用的API Key]&client_secret=[创建应用的
Secret Key]&grant_type=client_credentials");client.Timeout = -1;var request = new RestRequest(Method.POST);request.AddHeader("Content-Type", "application/json");request.AddHeader("Accept", "application/json");var body = @"";request.AddParameter("application/json", body,  ParameterType.RequestBody);IRestResponse response = client.Execute(request);Console.WriteLine(response.Content);}}
}

调用API接口

在上一步骤拿到AT后,就可以调用自定义模型API,
点击跳转示例地址:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Klmhcyeej

效果

在这里插入图片描述

代码

import requests
import jsondef get_access_token():"""使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key"""url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"payload = json.dumps("")headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)return response.json().get("access_token")def main():"""替换下列示例中的申请发布时填写的API名称"""url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/[申请发布时填写的API名称]?access_token=" + get_access_token()payload = json.dumps({"messages": [{"role": "user","content": "假如你是软件工程师,请给团队成员发送一段技术鼓励风格的40字春节祝福。"}]})headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)if __name__ == '__main__':main()

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

这篇关于【千帆平台】使用千帆大模型平台创建自定义模型调用API,贺岁灵感模型,文本对话的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725237

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他