作者:京东零售 牛晓光
根据现有调研和实践,由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:基础模型的名称,可选的模型包括ada、babbage、curie、davinci等。MODEL_SUFFIX:模型名称后缀。
3. 使用自定义模型
使用成本
在微调模型方式中,除了使用自定义模型进行推理时所需支付的费用外,训练模型时所消耗的Tokens也会对应收取费用。根据不同的基础模型,费用如下:

结论
使用微调模型进行私有知识学习,依赖于大量的训练数据,训练数据越多,微调效果越好。
此方法适用于拥有大量数据积累的场景。
2. 聊天补全
GPT模型接收对话形式的输入,而对话按照角色进行整理。对话数据的开始包含系统角色,该消息提供模型的初始说明。可以在系统角色中提供各种信息,如:
-
助手的简要说明
-
助手的个性特征
-
助手需要遵循的指令或规则
-
模型所需的数据或信息
我们可以在聊天中,通过自定义系统角色为模型提供执行用户指令所必要的私有信息。
使用方法
可以在用户提交的数据前,追加对私有知识的说明内容。
openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: [
{ role: "system", content: "你是一款智能聊天机器人,帮助用户回答有关内容管理系统低代码引擎CCMS

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

被折叠的 条评论
为什么被折叠?



