大模型应用开发入门 - GPT-4 和 ChatGPT 的高级技巧,人人都能打造AI助手!

本章将深入探讨如何通过高级技巧,如提示工程、微调和插件使用,来最大化利用 GPT-4 和 ChatGPT 的能力。以下是本文的主要内容:

提示工程

设计有效的提示词

提示工程是一门新兴的学科,专注于优化输入提示词,以引导模型生成预期的输出。设计有效的提示词涉及以下三个关键要素:

在这里插入图片描述

角色

赋予模型一个特定角色,使其响应更符合预期。例如:

你是一个专业的编程助手,擅长解决各种编程问题。
上下文
提供足够的背景信息,帮助模型理解任务的背景和限制。例如:
任务

明确描述需要模型完成的具体任务。例如:

请为我编写一个 Flask 应用的用户认证模块,包括注册、登录和登出功能。

逐步思考

我们知道,GPT-4 不擅长计算。比如,它无法计算 369 × 1235。

通过在提示词中加入“让我们一步一步思考”的指令,可以鼓励模型进行逐步推理,从而提高回答的准确性。例如:

请计算 369 × 1235。让我们一步一步思考。
输出示例:
步骤1: 369 乘以 5369 乘以 1000(1235 的第一位数字是 )。
369 * 1000 = 369000
步骤2: 369 乘以 200(1235 的第三位数字是 2、
所以乘以 2,在末尾加上两个 0)。
369 × 200 = 73800
步骤3: 369 乘以 30(1235 的倒数第二位数字是 3、
所以乘以 3,在末尾加上一个 0)。
369 × 30 = 11070
步骤4: 用 369 乘以 5(1235 的最后一位数)。
369 * 5 = 1845
步骤5: 将步骤 1 至 4 的结果相加。
369000 + 73800 + 11070 + 1845 = 455715
因此,369 × 1235 = 455715。

少样本学习

在这里插入图片描述

少样本学习指的是通过在提示词中提供少量高质量的示例,指导模型完成特定任务。例如:

示例1:
问题:什么是时间复杂度?
回答:时间复杂度用于衡量算法执行所需时间的增长速率,通常用大O符号表示。

示例2:
问题:什么是空间复杂度?
回答:空间复杂度用于衡量算法在执行过程中所需内存空间的增长速率,通常用大O符号表示。

问题:什么是递归?
回答:

模型输出: 递归是一种在函数定义中调用自身的方法,常用于解决具有重复子问题的计算问题。

提高提示效果的技巧

  1. \1. 重复指示:在提示词中多次强调任务要求,确保模型理解。
  2. \2. 使用负面提示:明确指出不希望出现的内容,避免模型输出不需要的信息。
  3. \3. 添加长度限制:控制模型输出的长度,避免回答过长或过短。
示例
给出一个简短的总结,不超过100字:

微调

微调的基本概念

微调是指在特定数据集上对预训练模型进行再训练,以提升其在特定任务上的性能。通过微调,模型能够更好地理解和生成与特定领域相关的内容。

在这里插入图片描述

使用 OpenAI API 进行微调

微调步骤:

1. 准备数据集

收集包含输入(prompt)和输出(completion)的高质量示例,保存为 JSONL 格式。

{"prompt": "请编写一个Python函数,计算两个数的和。", "completion": "def add(a, b):\n
   return a + b"}
2. 上传数据:

使用 OpenAI 提供的工具将数据集上传至服务器。

openai tools fine_tunes.prepare_data -f your_data.jsonl
3. 启动微调:

通过 API 调用开始微调过程,选择合适的基础模型和参数。

openai api fine_tunes.create -t your_prepared_data.jsonl -m davinci --
suffix "custom_add"

也可以通过代码上传

openai.File.create(
file=open("out_openai_completion_prepared.jsonl", "rb"),
purpose='fine-tune'
)
两个参数是必需的:file 和 purpose。
4. 监控进度:

使用命令行工具监控微调任务的进展。

openai api fine_tunes.follow -i ft-YourFineTuneID
5. 使用微调模型:

在 API 调用中使用微调后的模型进行预测。

import openai
openai.api_key = "YOUR_API_KEY"

response = openai.Completion.create(
    model="davinci:ft-your-org:custom_add-2024-04-01",
    prompt="请编写一个Python函数,计算两个数的差。",
    max_tokens=10
)
print(response["choices"][0]["text"])

微调的应用

案例1:法律文本分析

目标:让模型能够理解和分析法律文档,提供准确的分析和建议。

案例2:自动代码审查

目标:通过微调模型,自动检测代码中的潜在问题并提供改进建议。

比如,JSONL 文件可以包含代码及相应的审查评论。这将帮助模型学 习如何提供准确且相关的代码质量反馈。以下是一个例子。

{"prompt": "Review the following Python code:
'def sum(a, b): return a + b\nresult = sum(5, '5')'",
"completion": "Type error: The 'sum' function is adding an integer
and a string. Consider converting the string to an integer
using
int() before passing it to the function."}
案例3:财务文档摘要

目标:生成财务报告的简明摘要,帮助用户快速了解关键内容。

案例4:技术文档翻译

目标:精准翻译技术文档,保持术语和专业性的一致。

案例5:为专业领域生成内容

目标:在特定专业领域内生成高质量、符合要求的内容,如医疗、金融等。

生成和微调电子邮件营销活动的合成数据

目标

基于合成数据集,微调模型以生成高效的电子邮件营销内容。

1. 创建合成数据集:

使用 GPT-3.5 Turbo 生成包含营销提示词和对应邮件内容的示例。

import openai
import pandas as pd

def chat_completion(prompt, model="gpt-3.5-turbo", temperature=1):
    response = openai.ChatCompletion.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
        temperature=temperature,
    )
    return response["choices"][0]["message"]["content"]

# 示例
prompts = ["Grocery Stores, Brussels, small"]
responses = [chat_completion(f"Role: You are an expert content writer with extensive direct marketing experience.\nContext: You have to write a short message for a direct marketing campaign to sell a new e-commerce payment service to stores. The target stores have the following three characteristics: - The sector of activity: {sector} - The city where the stores are located: {city} - The size of the stores: {size}\nTask: Write a short message for the direct marketing campaign. Use the skills defined in your role to write this message! It is important that the message you create takes into account the product you are selling and the characteristics of the store you are writing to.") for sector, city, size in [("Grocery Stores", "Brussels", "small")]]

data = pd.DataFrame({"prompt": prompts, "completion": responses})
data.to_csv("out_openai_completion.csv", index=False)
微调模型:

使用生成的合成数据集对模型进行微调,以生成高质量的营销邮件。

微调的成本

  1. \1. 训练费用:微调涉及大量计算资源,费用较高。
  2. \2. 成本优化:通过选择合适的基础模型和优化提示词,控制微调成本。
  3. \3. 参考:查看 OpenAI 的定价页面以获取最新的微调费用信息。

在这里插入图片描述

使用插件和微调优化 GPT 模型

GPT-4 插件

定义:插件扩展了 GPT-4 的功能,使其能够与外部系统和数据源互动。

应用:

  • • 实时信息检索:获取最新的体育赛事比分、股票价格等。
  • • 执行复杂操作:如预订航班、订购食品等。
  • • 接口第三方服务:集成 Google 搜索、维基百科等服务。

微调与插件的结合

结合优势:微调模型使其在特定任务上表现更优,而插件则扩展了模型的操作能力,二者结合能显著提高应用程序的智能化水平。

小结

本章介绍了 GPT-4 和 ChatGPT 的高级技巧,包括提示工程、微调和插件使用。通过这些技巧,开发人员能够更有效地利用语言模型,构建高质量、智能化的应用程序。同时,理解和应用这些高级

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值