本文是公司在调研如何集成Azure-openAI时,调试测试用例得出的原文,原文主要基于官方说明文档简要整理实现
本文已假定阅读者申请部署了模型,已获取到所需的密钥和终结点
变量名称 | 值 |
---|---|
ENDPOINT | 从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 或者,可以在“Azure OpenAI Studio”>“操场”>“代码视图”中找到该值。 示例终结点为:https://docs-test-001.openai.azure.com/ 。 |
API-KEY | 从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 KEY1 或 KEY2 。 |
可以使用 KEY1
或 KEY2
。 始终准备好两个密钥可以安全地轮换和重新生成密钥,而不会导致服务中断。
本文代码逻辑是基于JAVA编程语言来实现的
Azure OpenAI 和 OpenAI
使用 Azure OpenAI,客户可在运行与 OpenAI 相同的模型时获得 Microsoft Azure 的安全功能。 Azure OpenAI 提供专用网络、区域可用性和负责任 AI 内容筛选功能。
开始调试
首先我的项目是基于Maven包管理器来实现的,目前可查询到的最新版本如下引入
由于我们目前调试的是gpt4,官网中明确写出了
GPT-35-Turbo 和 GPT-4 模型是针对对话接口进行了优化的语言模型。 该模型的行为与旧的 GPT-3 模型不同。 以前的模型是文本输入和文本输出,这意味着它们接受了提示字符串并返回了一个会追加到提示的补全。 不过,GPT-35-Turbo 和 GPT-4 模型都是输入对话和输出消息模式。这两种模型需要以类似聊天的具体脚本形式提供输入,然后通过聊天返回补全信息,以展示模型编写的消息。 虽然这种形式专为多回合对话而设计,但你会发现它也适用于非聊天场景。
在 Azure OpenAI 中,你有两种不同的方案与这两种类型的模型交互:
- 聊天补全 API。
- 使用聊天标记语言 (ChatML) 的补全 API。
聊天补全 API 是一种用于与 GPT-35-Turbo 和 GPT-4 模型交互的新式专用 API。 访问这些模型的首选方式是使用此 API。 这也是访问新版 GPT-4 模型的唯一方法。
虽然 ChatML 使用的补全 API 与其他模型(如 text-davinci-002)使用的相同,但它需要一种以标记为单位的唯一提示格式,称为聊天标记语言 (ChatML)。 它提供比专用聊天补全 API 级别更低的访问权限,还需要额外的输入验证,只支持gpt-35-turbo 模型,并且基础格式更有可能随着时间的推移而更改。
故以下逻辑基于聊天补全API来实现。且在实现的过程中,由于目前官方文档中使用的事例是基于beta3版本,而最新包引入为beta6版本,故代码逻辑中有部分包进行了调整。
与官方不一致的地方我已用红色框来标记出来
收到的回复是:
Index: 0, Chat Role: assistant.
Message:
是的,在 Azure 中,许多服务提供了客户管理的密钥的支持。这样的安排使得 Azure 服务用户能够更好地管理他们的安全和访问控制设置,满足他们的特定需求。例如,Azure Cognitive Services,它也支持客户管理的密钥。但是,具体情况总是取决于特定的服务和实现,因此建议您查阅特定服务的文档以获取最准确的信息。
系统角色
数组的开头包含系统角色(也称为系统消息)。 此消息提供模型的初始说明。 可以在系统角色中提供各种信息,包括:
- 助手的简要说明
- 助手的个性特征
- 你希望助手遵循的指令或规则
- 模型所需的数据或信息,例如 FAQ 中的相关问题
你可以为用例自定义系统角色,也可以仅包含基本说明。 系统角色/消息是可选的,但建议至少包含一条基本说明,以获得最佳结果。
消息
在系统角色之后,可以在用户和助手之间加入一系列消息。
{"role": "user", "content": "What is thermodynamics?"}
若要触发模型回复,在用户消息的末尾应提示该轮到助手回复了。 还可以在用户和助手之间加入一系列样本消息,以此进行少样本学习。
消息提示示例
以下部分展示了可用于 GPT-35-Turbo 和 GPT-4 模型的不同提示样式的示例。 这些示例只是为了抛砖引玉,你可以尝试使用不同的提示来为自己的用例自定义行为。
基本示例
如果你希望 GPT-35-Turbo 模型的行为类似于 chat.openai.com,可以使用基本系统消息,例如“助手是 OpenAI 训练的大型语言模型”。
{"role": "system", "content": "Assistant is a large language model trained by OpenAI."},
{"role": "user", "content": "Who were the founders of Microsoft?"}
说明的示例
对于某些场景,你可能希望向模型提供其他说明,以定义模型能够执行的操作的边界。
{"role": "system", "content": "Assistant is an intelligent chatbot designed to help users answer their tax related questions.
Instructions:
- Only answer questions related to taxes.
- If you're unsure of an answer, you can say "I don't know" or "I'm not sure" and recommend users go to the IRS website for more information. "},
{"role": "user", "content": "When are my taxes due?"}
使用数据进行验证
你还可以在系统消息中加入相关数据或信息,为模型提供额外的对话上下文。 如果只需要包含少量信息,则可以将其硬编码到系统消息中。 如果你有模型应注意的大量数据,则可以使用嵌入或 Azure AI 搜索等产品在查询时检索最相关的信息。
{"role": "system", "content": "Assistant is an intelligent chatbot designed to help users answer technical questions about Azure OpenAI Serivce. Only answer questions using the context below and if you're not sure of an answer, you can say 'I don't know'.
Context:
- Azure OpenAI Service provides REST API access to OpenAI's powerful language models including the GPT-3, Codex and Embeddings model series.
- Azure OpenAI Service gives customers advanced language AI with OpenAI GPT-3, Codex, and DALL-E models with the security and enterprise promise of Azure. Azure OpenAI co-develops the APIs with OpenAI, ensuring compatibility and a smooth transition from one to the other.
- At Microsoft, we're committed to the advancement of AI driven by principles that put people first. Microsoft has made significant investments to help guard against abuse and unintended harm, which includes requiring applicants to show well-defined use cases, incorporating Microsoft’s principles for responsible AI use."
},
{"role": "user", "content": "What is Azure OpenAI Service?"}
使用聊天补全进行少样本学习
还可以为模型提供少样本学习的示例。 由于新的提示格式,少样本学习的方法略有变化。 现在可以在提示中加入用户和助理之间的一系列消息,作为少样本学习示例。 这些例子可以用来为常见问题设定回答,以启动模型或教它特定的行为。
这只是通过 GPT-35-Turbo 和 GPT-4 使用少样本学习的其中一个示例。 可以尝试不同的方法,看看哪种方法最适合你的用例。
{"role": "system", "content": "Assistant is an intelligent chatbot designed to help users answer their tax related questions. "},
{"role": "user", "content": "When do I need to file my taxes by?"},
{"role": "assistant", "content": "In 2023, you will need to file your taxes by April 18th. The date falls after the usual April 15th deadline because April 15th falls on a Saturday in 2023. For more details, see https://www.irs.gov/filing/individuals/when-to-file."},
{"role": "user", "content": "How can I check the status of my tax refund?"},
{"role": "assistant", "content": "You can check the status of your tax refund by visiting https://www.irs.gov/refunds"}
将聊天补全用于非聊天场景
聊天补全 API 设计用于多回合对话,但也适用于非聊天场景。
例如,对于实体提取场景,可以使用以下提示:
{"role": "system", "content": "You are an assistant designed to extract entities from text. Users will paste in a string of text and you will respond with entities you've extracted from the text as a JSON object. Here's an example of your output format:
{
"name": "",
"company": "",
"phone_number": ""
}"},
{"role": "user", "content": "Hello. My name is Robert Smith. I'm calling from Contoso Insurance, Delaware. My colleague mentioned that you are interested in learning about our comprehensive benefits policy. Could you give me a call back at (555) 346-9322 when you get a chance so we can go over the benefits?"}
管理对话
前面的示例将一直运行,直到达到模型的标记限制。 在提出每个问题和收到答案后,messages
列表的大小都会增加。 gpt-35-turbo
的标记限制为 4096 个标记,而 gpt-4
和 gpt-4-32k
的标记限制分别为 8192 和 32768。 这些限制包括发送的消息列表和模型回复中的标记计数。 与 max_tokens
参数的值组合在一起的消息列表中的标记数必须保持在这些限制以下,否则将收到错误。
你有责任确保提示和补全操作在标记限制范围内。 这意味着,对于较长的对话,需要跟踪标记数,并仅向模型发送在限制以内的提示。
备注
强烈建议继续遵守适用于所有模型的记录输入令牌限制,即时发现自己能够超出该限制也是如此。
提示工程
OpenAI 中的 GPT-3、GPT-3.5 和 GPT-4 模型基于提示。 使用基于提示的模型时,用户通过输入文本提示与模型交互,该文本提示通过文本补全进行响应。 补全是模型的输入文本的延续。
文本提示是用户与 GPT 模型交互的方式。 与所有生成语言模型一样,GPT 模型会尝试生成最有可能紧跟上一个文本的下一系列字词。 就好像我们在说“当我说 <prompt>
时,你想到的第一件事是什么?”。 以下示例演示了此行为。 给定著名内容的第一个单词,模型能够准确地延续文本。
在开发更复杂的提示时,记住这一基本行为会很有帮助。 无论提供的提示是什么,模型都只是使用它确定的最有可能的情况(基于训练数据和训练目标)做出响应。
提示组件
Instructions
指令很简单:向模型说明要执行的操作。 虽然概念简单,但它在实践中可能比较复杂。 下表以两种不同形式显示简单和复杂的指令,借此来说明这一点。
指令类型 Prompt Completion 简单指令 为每周新闻稿撰写简介。 欢迎阅读我们的每周新闻稿。 本周,我们特别关注工作效率。 我们将分享有关如何在生活的各个方面提高工作效率的提示和技巧。 我们希望你喜欢并请与你的朋友分享! 复杂指令 为名为 Contoso 的公司撰写每周新闻稿简介。 它应该要提及我们上周举行的精彩的全体会议,并感谢团队在过去几个月的辛勤工作。 欢迎阅读 Contoso 的每周新闻稿! 我们上周举行了一次精彩的全体会议,我要感谢团队在过去几个月的辛勤工作。 我们期待着一个光明的未来,我相信,在我们团队的奉献和投入下,我们将取得伟大的成就。 感谢你成为我们团队的一员,我期待着在未来几周和几个月内与你们一起工作。 此致,[你的名字]。 复杂指令 为每周新闻稿编写简介,包括以下内容:
- 我的公司名为 contoso
- 兴高采烈的问候
- 感谢团队在艰难的几个月里辛勤工作
- 下一季度的积极前景
- 由 SLT 签名你好,Contoso 团队! 我想花点时间感谢你们过去几个月的辛勤工作。 这是艰难的几个月,但你们都团结在一起,完成了非常棒的工作。 我真的很为你们感到骄傲。 展望下个季度,我感到非常向上。 我觉得我们会取得一些伟大的成就。 再次感谢,高级领导团队。
主要内容
主要内容是指模型正在处理或转换的某种文本。 主要内容通常与指令一起使用。 一个简单的示例是语言翻译。 在下面的示例中,英语文本被视为主要内容,而“翻译为法语:”是指令。
Prompt | Completion |
---|---|
你能告诉我怎么去博物馆吗? 翻译为法语: | Pouvez-vous s'il vous plaît me dire comment aller au musée? |
GPT 模型还可以处理结构化的主要内容。 在下面的示例中,有关比利时啤酒的 TSV(本文中为显示为缩写)作为提示的一部分传递给模型。 它能够正确解释内容并回答有关数据的问题。
Prompt | Completion |
---|---|
Belgian Beer Brands Beer name Beer style color ABV Brewery "Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist) "Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00% […] 参考上表,有多少啤酒小于 6% ABV? | 表中有 10 种啤酒的 ABV 小于 6%。 |
另外这部分官方还有很多其他的用法,请大家可以踊跃的进行尝试
示例
通过示例更好地使模型能够仅根据当前推理的需求做出响应。 使用没有示例的提示有时称为“零样本”学习。 请注意,使用聊天补全 API 时,在初始系统消息后,少样本学习示例通常以示例用户/助手交互的形式添加到消息数组中。
学习类型 | Prompt | Completion |
---|---|---|
零样本 | 头条:教练相信伤病不会破坏勇士队 主题: | 教练相信伤病不会破坏勇士队的赛季。 球队仍然专注于他们的目标,他们将继续努力实现他们的目标。 |
少样本 | 头条:双城队的科雷亚将选择跳出合同,试水自由市场 主题:棒球 头条:卡塔尔世界杯将设有清醒区 主题:足球 头条:耶茨:第 6 周范特西橄榄球情报 主题:橄榄球 头条:教练相信伤病不会破坏勇士队 主题: | 篮球 |
提示
提示通常与指令一起使用,但并非总是如此。 在下面的示例中,该模型用于汇总长公告电子邮件。 提示在一种情况下用于帮助聚焦模型的输出,在另一种情况下用于建议特定输出格式(项目符号)。
提示数 | Prompt | Completion |
---|---|---|
0 | 绩效评估是我们 Contoso 绩效与发展方法的核心组成部分。 […] 总结上述电子邮件: | 这封电子邮件的目的是通知员工最近对绩效评估体验进行了更改,这是 Contoso 绩效与发展方法的一部分。 这些更改包括改进结构、升级工具内用户体验和重点提示。 此外,现在还有一个可选的“对话启动器”部分,供员工标记他们希望与经理讨论的主题。 |
1 | 绩效评估是我们 Contoso 绩效与发展方法的核心组成部分。 […] 总结上述电子邮件: 邮件的关键要点是 | Contoso 通过更加专注于核心优先事项、期望和影响来改进绩效评估体验。 此外,他们还使用小贴士、资源和指南来升级工具内用户体验。 最后,他们添加了有关如何激活公司范围内的核心优先事项的指导。 |
2 | 绩效评估是我们 Contoso 绩效与发展方法的核心组成部分。 […] 总结上述电子邮件: 要点: • | Contoso 正在根据员工的反馈推出对绩效评估体验的更改。 •这些更改包括对核心优先事项、期望和影响的新侧重;升级用户体验;以及公司范围核心优先事项的新指南。 •绩效评估是反思过去绩效和学习以及规划未来优先事项和增长机会的机会。 •员工和经理应在绩效考核会议之前撰写评论。 •每年至少应进行两次绩效评估。 •每次评估的时间投资应保持大致相同。 |
最佳做法
- 尽量具体。 尽可能少留解读空间。 限制操作空间。
- 具有描述性。 使用类比。
- 强调。 有时可能需要对模型进行重复操作。 在主要内容之前和之后提供说明,使用指令和提示等。
- 给事项排序。 向模型呈现信息的顺序可能会影响输出。 你选择是在内容之前放置指令(“汇总以下内容...”)还是之后(“汇总以上...”)会影响输出。 即使是少样本示例的顺序也很重要。 这被称为“近因偏差”。
- 给模型一个“出路”。 如果模型无法完成分配的任务,有时为模型提供备用路径可能会有所帮助。 例如,在对一段文本提出问题时,可以加入类似于“如果答案不存在,则回复‘未找到’”之类的内容。这可帮助模型避免生成错误的响应。
空间效率
由于空间有限,请务必尽可能高效地使用它。
- 表格–如上一部分中的示例所示,GPT 模型可以非常轻松地理解表格格式的数据。 这是一种空间高效的包含数据的方式,相较于在每个字段前面加上名称(例如 JSON)。
- 空格 - 连续的空格被视为单独的标记,这很容易浪费空间。 另一方面,单词前面的空格通常被视为与单词相同的标记的一部分。 请仔细观察空格的使用情况,不要在单独使用空格就足够时使用标点符号。
如何使用可重现的输出
默认情况下,如果多次向 Azure OpenAI 聊天完成模型询问同一问题,则可能得到不同的回应。 因此,这些回应被认为是非确定性的。 可重现的输出是一项新的预览功能,可让你有选择地更改默认行为,以生成更具确定性的输出。
seed
是可选参数,可将其设置为整数或 null
此功能以预览版提供。 指定后,我们的系统将尽最大努力确定性地采样,这样,具有相同种子和参数的重复请求应该会返回相同的结果。 无法保证确定性,你应参考 system_fingerprint
响应参数来监视后端的更改。
如果要使用可重现的输出,需要在所有聊天完成调用中将 seed
设置为同一整数。 还应匹配其他参数,例如 temperature
、max_tokens
等。
提示工程技术进阶
系统消息
下面的示例显示了示例系统消息和生成的模型响应:
系统消息 | 用户 | Assistant |
---|---|---|
你是一个 AI 助手,可帮助人们查找信息并以押韵的方式作出回应。 如果用户问了你不知道答案的问题,就说出来。 | 我是约翰·杜,你能说出关于我的什么? | 亲爱的约翰,我很抱歉地说, 我今天没有关于你的信息。 我只是一个拥有知识的 AI, 但是没有你的输入,我无法做解释。 因此,请多告诉我你在寻找什么, 我会尽我最大的努力给你一个独特的答案。 |
系统消息的其他一些示例包括:
- “助手是由 OpenAI 训练的大型语言模型。”
- “助手是一种智能聊天机器人,旨在帮助用户回答有关 Azure OpenAI 服务的技术问题。 仅使用以下上下文回答问题,如果不确定答案,可以说“我不知道”。
- “助手是一种智能聊天机器人,旨在帮助用户回答其税务相关问题。”
- “你是一名助手,旨在从文本中提取实体。 用户将粘贴文本字符串,你将使用从文本中提取的实体作为 JSON 对象进行响应。 下面是输出格式的示例:
{ "name": "", "company": "", "phone_number": "" }
*** 即使你在系统消息中指示模型在不确定答案时回答“我不知道”,这并不能保证此请求得到履行。 设计良好的系统消息可以增加产生特定结果的可能性,但仍可能会生成不正确的响应,可能会与系统消息中的指令的意图相矛盾。
少样本学习
使语言模型适应新任务的一个常见方法是使用少样本学习。 在少样本学习中,需要在提示中提供一组训练示例,以便为模型提供额外的上下文。
使用聊天补全 API 时,用户和助手之间的一系列消息(以新的提示格式编写)可以作为进行少样本学习的示例。 这些例子可以用来引导模型以某种方式相应,模仿特定的行为,并为常见的问题提供种子答案。
系统消息 | 少样本示例 |
---|---|
助手是一种智能聊天机器人,旨在帮助用户回答其税务相关问题。 Instructions - 仅回答与税收相关的问题。 - 如果你不确定答案,你可以说“我不知道”或“我不确定”,并建议用户前往 IRS 网站获取详细信息。 | 用户 -“我需要报税的截止时间是?” 助手 -“在 2023 年,你需要在 4 月 18 日前报税。 该日期在通常的 4 月 15 日最后期限之后,因为 4 月 15 日在 2023 年是星期六。 有关详细信息,请参阅 When to file | Internal Revenue Service” 用户 -“如何检查我的退税状态?” 助手 -“你可以通过访问 Refunds | Internal Revenue Service 检查你的退税状态” |
非聊天场景
对于情绪分析场景,可以使用以下提示:
系统消息 | 用户 | Assistant |
---|---|---|
你是一名助手,旨在分析语音数据中的情绪。 用户将粘贴一串文本,你将对讲者的响应进行评估。 给出 1-10 的评分(10 为最高)。 解释给出此评分的原因。 | 嗨,感谢你致电 Contoso 药店,我今天和谁通话?我了解你的挫败感,玛丽。你能告诉我你想要实现什么目标吗?好的,很高兴帮你看一下,请稍等片刻。我在这里看到你曾经使用过普通立普妥是吗?好的,那么我看到你的医生在 2021 年停止开这些药物的处方了。实际上是这样吗?好的,让我为你检查一下。因为有时候系统中会出现漏洞,并没有被报告出来。请稍等片刻,让我看看这里是否有记录。所以根据最新提供给我们的医生办公室记录显示,在 2012 年至 2021 年期间,你的医生曾经给你开过这些药物处方。好的,在最新记录中显示,现在医生已经更换了不同种类的药物–二甲双胍。请问我们需要帮忙准备并发放 500 毫克二甲双胍处方给你吗?不客气玛丽,请告诉我们今天还有什么可以帮到你的。 | 情绪评分:8 此文本中的讲者在解决客户关注的问题时似乎很有礼貌、有帮助和耐心。 他们花时间检查信息,提供明确的解释,并提供协助。 但是,评分不是 10,因为对话的某些部分仍有不确定性的暗示,这可能无法向客户传达完全的信心。 |
从明确的说明开始
在共享其他上下文信息或示例之前,在提示开始时告诉模型你希望它执行的任务有助于生成更高质量的输出。
引导输出
系统消息 | 用户 | Assistant |
---|---|---|
你是一名 AI 助手,可帮助用户查找信息。 尽可能少地回答。 | 约翰·史密斯与露西·史密斯结婚了。 他们有五个孩子,他在 Microsoft 担任软件工程师。 我应该执行哪些搜索查询来检查此事实? ## 一个可能的搜索查询是: | “约翰·史密斯与露西·史密斯结婚五个孩子软件工程师 Microsoft” |
在上述提示中,文本“一个可能的搜索查询是:”引导模型生成单个输出。 如果没有此提示,模型将生成多个搜索查询作为输出。
分解任务
如果任务分解为较小的步骤,大型语言模型(LLM)的性能通常会更好。 例如,在前面引用的搜索查询提示中,可以调整提示的结构,以便首先指示模型提取相关事实,然后指示生成可用于验证这些事实的搜索查询。
系统消息 | 用户 | Assistant |
---|---|---|
你是一名 AI 助手,可帮助用户查找信息。 | 你将阅读段落,然后向搜索引擎发出查询,以便对段落进行事实检查。 --- 段落 约翰·史密斯与露西·史密斯结婚了。 他们有五个孩子,他在 Microsoft 担任软件工程师。 我应该执行哪些搜索查询来检查此事实? --- 现在,你将提取事实声明,并向其发出检查事实的查询。 发出查询时,请使用函数 SEARCH ("query") 事实声明 | 1.约翰·史密斯与露西·史密斯结婚了 2. 他们有五个孩子 3. 他在 Microsoft 担任软件工程师 QUERIES SEARCH(“约翰·史密斯与露西·史密斯结婚了”) SEARCH(“约翰·史密斯家庭规模”) SEARCH(“约翰·史密斯 Microsoft 软件工程师”) |
请注意,应使用清晰的语法来区分不同部分并引导输出。 在此简单示例中,将任务从一步分解为两步并不十分引人注目,但当为一篇有许多事实主张的大文本做这件事时,将任务分解就会产生很大的不同。
思维链提示
在这种方法中,不是将一项任务分割成较小的步骤,而是指示模型响应逐步进行,并提出所有涉及的步骤。 这样做可以减少结果不准确的可能性,并使评估模型响应更容易。
系统消息 | 用户 | Assistant |
---|---|---|
你是一名 AI 助手,可帮助用户查找信息。 | 谁是在悉尼举行的奥林匹克运动会中获得最多奖牌(最大奖牌数)的个人运动员? 采取逐步方法回答问题,在分享最终答案之前引用来源并给出推理,格式如下:答案是:<name> | 步骤 1:确定悉尼奥运会的年份。 悉尼奥运会是在 2000 年举行的。 步骤 2:查找在 2000 年悉尼奥运会上获得多枚奖牌的个人运动员名单。 据奥运会官方网站称,在 2000 年悉尼奥运会上,有数名运动员获得了多枚奖牌。 一些值得注意的名字包括: •伊恩·索普(澳大利亚)- 3 金 2 银 0 铜 •彼得·范登·霍根班德(荷兰)- 2 金 0 银 2 铜 •莱尼·克雷泽尔堡(美国)- 3 金 0 银 0 铜 ·英格·德·布鲁伊恩(荷兰)- 3 金 1 银 0 铜 步骤 3:确定获得最多奖牌的运动员。 回顾了在 2000 年悉尼奥运会上获得多枚奖牌的个人运动员名单后,我们可以看到,获得奖牌最多的运动员是来自澳大利亚的伊恩·索普,他共获得 5 枚奖牌(3 金 2 银)。 因此,答案是:伊恩·索普。 |
指定输出结构
使用提示指定输出结构时,可能会对结果的性质和质量产生重大影响。 有时,系统消息输入“仅写出真实事实”或“不捏造信息”可能不足以缓解问题。 相反,要求模型响应同时包含引文有助于减少错误响应的概率。
系统消息 | 用户 | Assistant |
---|---|---|
你是一名 AI 助手,可帮助用户查找信息。 | 根据在文本中看到的模式,将以下新闻标题分为主题类别。 还要提到定义这些类别的理由。 输出格式: { “主题_名称”:“”, “标题”:[], “理由”:“” } 输入新闻标题: 1.“使用 AR + ML 在 10 秒内从书本到演讲” 2.“1993 年 32 岁的 Yann LeCun 演示了世界第一个文本识别卷积网络” 3.“应用于动画绘画的一阶运动模型” 4.“Robinhood 和其他券商从实际上阻止购买 $GME、$NOK、$BB、$AMC;允许卖出” 5.“美国联合航空公司股票在盘前交易中下跌超过 5%” 输出: | { “人工_智能”:{ “标题”:[ “使用 AR + ML 在 10 秒内从书本到演讲”、 “1993 年 32 岁的 Yann LeCun 演示了世界第一个文本识别卷积网络”、 “应用于动画绘画的一阶运动模型” ], “理由”:“这些标题与人工智能、机器学习及其在各个领域的应用有关。” }, “金融_市场”:{ “标题”:[ “Robinhood 和其他券商从实际上阻止购买 $GME、$NOK、$BB、$AMC;允许卖出”、 “美国联合航空公司股票在盘前交易中下跌超过 5%”、 “比特币在一年前的今天接近 20,000 美元” ], “理由”:“这些标题与金融市场、股票、加密货币和交易平台有关。 } } |
提供基础上下文
提供可靠答案的最有效方法之一是为模型提供数据,让它从基础数据得出响应。
通常,源材料越接近所需答案的最终形式,模型需要完成的工作就越少,这意味着出错的可能性就越小。
系统消息 | 用户 | Assistant |
---|---|---|
你是一名 AI 助手,可帮助用户查找信息。 你将专门通过以下文本提供回答,并保持响应在 100 字或更少: “在 Microsoft,我们不断发现释放创造力、解锁生产力和上层技能的新方法,以便让更多人可以从使用 AI 中获益。 这使我们的客户能够... … 从而减少模型生成有害响应的可能性。”1 回答不超过 100 个字词。 尽可能使用项目符号列表。 | 谁是 Azure OpenAI 服务 GPT-4 模型的早期客户? | 下面是 Azure OpenAI 服务 GPT-4 模型的一些早期客户: - Epic Healthcare:他们计划使用 GPT-4 来帮助医生和护士在数据输入和调查上花费更少的时间。 - Coursera:他们将 Azure OpenAI 服务与 GPT-4 配合使用,以在其平台上创建新的 AI 驱动的学习体验。 - 可口可乐:他们正在使用 Azure OpenAI 构建知识中心,并计划利用 GPT-4 的多模态功能处理营销、广告、公共关系和客户关系。 - 其他各种规模的公司也在使用 Azure AI 来改善客户体验、汇总长格式内容、帮助编写软件,并通过预测正确的税务数据来降低风险。 |
个人目前能力有限,理解能力也有限,更多以及详细信息请查看官方文档
完整技术文档请跳转至: Azure OpenAI 文档 - 快速入门、教程和 API 参考 - Azure AI 服务 | Microsoft Learn