【OpenAI】私有框架代码生成实践 | 京东云技术团队

文章介绍了如何利用OpenAI的模型(如ChatGPT和CodeX)学习和处理私有知识,包括微调模型以适应特定框架和DSL,以及通过聊天补全和检索-提问策略来传递私有信息。此外,还展示了如何结合这些技术进行低代码自然语言搭建,以及讨论了信息安全和数据保留政策。

作者:京东零售 牛晓光

根据现有调研和实践,由OpenAI提供的ChatGPT/GPT-4模型和CodeX模型能够很好的理解和生成业界大多数编程语言的逻辑和代码,其中尤其擅长Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++等语言。

然而在实际应用中,我们经常会在编码时使用到一些私有框架、包、协议和DSL等。由于相关模型没有学习最新网络数据,且这些私有数据通常也没有发布在公开网络上,OpenAI无法根据这些私有信息生成对应代码。

一、OpenAI知识学习方式

OpenAI提供了几种方式,让OpenAI模型学习私有知识:

1. 微调模型

OpenAI支持基于现有的基础模型,通过提供“prompt - completion”训练数据生成私有的自定义模型。

使用方法

在执行微调工作时,需要执行下列步骤:

1. 准备训练数据:数据需包含prompt/completion,格式支持CSV, TSV, XLSX, JSON等。

  • 格式化训练集:openai tools fine_tunes.prepare_data -f <LOCAL_FILE>
  • LOCAL_FILE:上一步中准备好的训练数据。

2. 训练模型微调:openai api fine_tunes.create -t <LOCAL_FILE> -m <BASE_MODULE> --suffix "<MODEL_SUFFIX>"

  • LOCAL_FILE:上一步中准备好的训练集。
  • BASE_MODULE:基础模型的名称,可选的模型包括adababbagecuriedavinci等。
  • MODEL_SUFFIX:模型名称后缀。

3. 使用自定义模型

使用成本

在微调模型方式中,除了使用自定义模型进行推理时所需支付的费用外,训练模型时所消耗的Tokens也会对应收取费用。根据不同的基础模型,费用如下:

结论

使用微调模型进行私有知识学习,依赖于大量的训练数据,训练数据越多,微调效果越好。
此方法适用于拥有大量数据积累的场景。

2. 聊天补全

GPT模型接收对话形式的输入,而对话按照角色进行整理。对话数据的开始包含系统角色,该消息提供模型的初始说明。可以在系统角色中提供各种信息,如:

  • 助手的简要说明

  • 助手的个性特征

  • 助手需要遵循的指令或规则

  • 模型所需的数据或信息

我们可以在聊天中,通过自定义系统角色为模型提供执行用户指令所必要的私有信息。

使用方法

可以在用户提交的数据前,追加对私有知识的说明内容。

openai.createChatCompletion({
  model: "gpt-3.5-turbo",
  messages: [
    { role: "system", content: "你是一款智能聊天机器人,帮助用户回答有关内容管理系统低代码引擎CCMS
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值