OpenAI的Prompt Engineering 课程8. 聊天机器人ChatGPT 的 Web 界面能让你通过一个大语言模型来进行对话。一个很酷的事情是你也可以使用大语言模型来构建自己的 AI 智能聊天机器人,也许可以扮演一个 AI 客户服务代理或者 餐馆的 AI 接单员,在这个课程中,你将学习如何做这件事情。
我们先来回顾一下这节课程之前我们都是怎么向大模型接口透传的数据:
1234567891011121314151617def get_completion(api_key, prompt, model="deepseek-chat", temperature=1.0): if not api_key: raise ValueError("API Key is missing.") if not prompt: raise ValueError("Prompt is missing.") messages = [{"role": &qu ...
OpenAI的Prompt Engineering 课程6. 文本扩写扩写指的是将一篇较短的文本进行扩写工作,比如根据一个指令或者一个主题列表让大语言模型生成一个较长的文本。下面我们将通过一个案例来说明如何使用大语言模型生成一个基于某些信息的个性化电子邮件。 另外我们还将引入一个新的模型参数temperature(温度),来改变模型在探索和多样性方面的程度。
在开始案例之前,我们先优化一下之前的调用DeepSeek API的接口函数,以便支持参数temperature。
12345678910111213141516171819202122232425def get_completion(api_key, prompt, model="deepseek-chat"): if not api_key: raise ValueError("API Key is missing.") if not prompt: raise ValueError("Prompt is missing.") ...
OpenAI的Prompt Engineering 课程6. 文本翻译大模型擅长在不同的语言之间进行翻译转换,包括但是不限于翻译、识别当前语言的类型、语气转换、文本格式转换、文本纠错、文本比较等等一系列的能力。课程中的例子也是围绕着这这些能力来演示,本节我们自己来构造一些案例来演示吧。
先来看看翻译能力,我们以宫廷玉液酒,一百八一杯。为文本,让DeepSeek翻译成其他 5 种不同国家的语言,并且注明语言名称,以 json 的格式输出:
123456789101112131415161718192021text = "宫廷玉液酒,一百八一杯。"prompt_1 = f""" 请将下面三引号框出的文本翻译成其他5种不同国家的语言,并注明语言种类(如英语、法语、日语等)。 请将结果以标准 JSON 格式输出,其中 key 为语言名称,value 为翻译结果。 文本如下: '''{text}''' 输出示例: ```json ...
OpenAI的Prompt Engineering 课程5. 模型推理大模型有将一个文本作为输入,然后进行提取标签、提取名字、理解文本情感等能力。比如想要提取一段文本中的态度是正面/负面的操作,在传统的机器学习工作流程中,需要先收集标签数据,然后训练模型、部署模型,这是一个复杂的过程。另外分析情感、提取标签都需要分别训练和部署一个单独的模型。对于大语言模型来说都可以处理,这给开发应用程序带来了巨大的提速。
下面我们来看一个例子,我们根据一段用户的评论,来提取评论的态度是否是积极的,用户是否表达了愤怒,产品的名称、产品的制造商等信息。
1234567891011121314151617181920212223242526272829lamp_review = f""" Needed a nice lamp for my bedroom, and this one had \ additional storage and not too high of a price point./ Got it fast. The string ...
OpenAI的Prompt Engineering 课程4. 文本总结当今世界,有太多的文字信息,以至于我们压根没有精力去了解这些文字的内容。因此吴恩达老师认为,大模型最令人兴奋的应用之一就是对文本进行总结。
在本节课中,我们学习如何以编程的方式来实现这个任务。
基础代码还是直接几节课的内容,这里就不再赘述了,可以直接翻阅第一节课的内容查看是如何调用DeepSeek接口并传入提示的。
课程中以“总结此产品评价”的任务作为运行示例,假设有一个电子商务网站,上面有大量的用户评论,可以使用大模型对大量的评论进行精简总结,从而让你可以了解更多用户真实的想法,改进产品。
123456789101112131415161718prod_review = """ Got this panda plush toy for my daughter's birthday, who loves it and takes it everywhere. It's soft and \ super cute,and its face has a ...
OpenAI的Prompt Engineering 课程2. 工程迭代2.1 解决问题的过程如果你看过老师的机器学习的课程,你可能会见过这张图,你经常有一个想法然后实现它,所以你去写代码,获取数据,训练你的模型,这就能获得一个实验性的结果,然后再根据这个结果做错误分析,看看它在什么地方起作用了或者不起作用。然后甚至可能改变你的想法,然后再通过这个循环继续寻找解决方案,如此反复。最终得到一个有效的机器学习模型。写提示词的过程也跟这个过程差不多,提示词也需要运用我们前面学习到的准则和策略,经过不断的迭代才能取得更理想的效果。吴恩达老师并没有过多的关系网上说的 30 个完美提示词的文章,因为他认为没有一个完美的提示词适用于世间万物。
下面继续通过一个案例来演示提示词的迭代过程,是如何一步步打造提示词最终满足我们的需求的:
案例是为一张椅子写一份信息表,用于展示在零售网站上,作为一个产品描述。
123456789101112131415161718192021222324252627282930313233343536373839404142434445fact_sheet_chair = ...
OpenAI的Prompt Engineering 课程2. 使用准则2.1 准则一:使用清晰而具体的指令应该尽量提供清晰和具体的指示,来表达你希望模型做什么,从而减少模型返回不正确或者不符合预期的机会。清晰不等于简短,实际上比较详细的指令可以更清晰的描述上下文,从而可以让模型提供更加详细的相关输出。有几个具体的策略来帮助你写出符合准则的指令:
2.1.1 策略一:使用分隔符明确的指出输入的不同部分下面使用DeepSeek 的 API 和OpenAi 的Python SDK 来演示一个例子(OpenAi的API 我实在难以完成付费操作):
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#!/usr/bin/env python3# -*- coding: utf-8 -*-import argparsefrom openai import OpenAIdef get_completion(api_key, prompt, model="dee ...
OpenAI的Prompt Engineering 课程1. 课程介绍1.1 课程目标首先,会学习一些软件开发的提示词最佳实践,将涵盖一些常见的用例、总结、推断、转化、扩展,然后使用 LLM 建立一个聊天机器人。
1.2 大模型的类型大模型分为两种,基础大模型(Base LLM)和指令学习 LLM(Instruction Tuned LLM)。基础 LLM 已经被训练成基于文本训练数据来预测下一个单词,通常是通过互联网和其他来源训练大量数据,并计算下一个最可能出现的词是什么。
举个例子:
如果在基础大模型上输入:“从前有只独角兽”,他会进行补全,并预测接下来的几个词是:“和所有的独角兽朋友生活在一片神奇的森林里”。但是如果你用的是:“法国的首都是什么”作为提示词,那么它可能会根据互联网的文章,按照以下方式输出:“什么是法国的最大城市?什么是法国的人口?”等等。因为互联网的文章可能会列出关于法国的一系列小测验问题的列表。
指令学习大模型被训练得能够遵循指令完成任务,所以如果你输入提示词:“法国的首都是什么?”,它很可能输出法国的首都是巴黎。因此指令学习 LLM 的典型训练方式是基于一个经 ...
iOS开发
未读Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment