展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 软件教程 > 了解如何使用 ChatGPT 和 GPT-4 模型

了解如何使用 ChatGPT 和 GPT-4 模型

ChatGPT和GPT-4模型是针对会话界面优化的语言模型。这些模型的行为与旧的GPT-3模型不同。以前的模型是文本输入和文本输出,这意味着它们接受提示字符串并返回完成以附加到提示。但是,ChatGPT和GPT-4模型是对话传入和消息输出。这些模型期望输入采用类似于特定聊天的脚本格式设置格式,并返回表示聊天中模型编写的消息的完成。虽然这种格式是专门为多轮对话设计的,但你会发现它也适用于非聊天场景。在AzureOpenAI中,有两种不同的选项可用于与这些类型的模型进行交互:聊天完成API。使用聊天标记语言(

本文目录

    ChatGPT 和 GPT-4 模型是针对会话界面优化的语言模型。这些模型的行为与旧的 GPT-3 模型不同。以前的模型是文本输入和文本输出,这意味着它们接受提示字符串并返回完成以附加到提示。但是,ChatGPT 和 GPT-4 模型是对话传入和消息输出。这些模型期望输入采用类似于特定聊天的脚本格式设置格式,并返回表示聊天中模型编写的消息的完成。虽然这种格式是专门为多轮对话设计的,但你会发现它也适用于非聊天场景。

    在 Azure OpenAI 中,有两种不同的选项可用于与这些类型的模型进行交互:

    • 聊天完成 API。
    • 使用聊天标记语言 (ChatML) 完成 API。

    聊天完成 API 是一个新的专用 API,用于与 ChatGPT 和 GPT-4 模型进行交互。此 API 是访问这些模型的首选方法。这也是访问新的 GPT-4 模型的唯一方法。

    ChatML 使用的完成 API 与您用于其他模型(如 text-davinci-002)的相同,它需要一种独特的基于令牌的提示格式,称为聊天标记语言 (ChatML)。这提供了比专用聊天完成 API 更低的级别访问权限,但还需要额外的输入验证,仅支持 ChatGPT(gpt-35-turbo)模型,并且底层格式更有可能随着时间的推移而更改。

    本文将引导您开始使用新的 ChatGPT 和 GPT-4 模型。使用此处描述的技术以获得最佳结果非常重要。如果尝试以与旧模型系列相同的方式与模型交互,则模型通常会很冗长,并且提供的响应不太有用。

    使用 ChatGPT 和 GPT-4 模型

    以下代码片段显示了将 ChatGPT 和 GPT-4 模型与聊天完成 API 结合使用的最基本方法。如果这是您第一次以编程方式使用这些模型,我们建议您从我们的 ChatGPT 和 GPT-4 快速入门开始。

    GPT-4 型号目前仅应要求提供。现有的 Azure OpenAI 客户可以通过填写此表单来申请访问权限。

    蟒

    import osimport openaiopenai.api_type = "azure"openai.api_version = "2023-05-15" openai.api_base = os.getenv("OPENAI_API_BASE")# Your Azure OpenAI resource's endpoint value.openai.api_key = os.getenv("OPENAI_API_KEY")response = openai.ChatCompletion.create(engine="gpt-35-turbo", # The deployment name you chose when you deployed the ChatGPT or GPT-4 model.messages=[{"role": "system", "content": "Assistant is a large language model trained by OpenAI."},{"role": "user", "content": "Who were the founders of Microsoft?"}])print(response)print(response['choices'][0]['message']['content'])

    输出

    {"choices": [{"finish_reason": "stop","index": 0,"message": {"content": "The founders of Microsoft are Bill Gates and Paul Allen. They co-founded the company in 1975.","role": "assistant"}}],"created": 1679014551,"id": "chatcmpl-6usfn2yyjkbmESe3G4jaQR6bsScO1","model": "gpt-3.5-turbo-0301","object": "chat.completion","usage": {"completion_tokens": 86,"prompt_tokens": 37,"total_tokens": 123}}

     注意

    以下参数不适用于新的 ChatGPT 和 GPT-4 模型:、 和 。如果设置了这些参数中的任何一个,则会收到错误。logprobsbest_ofecho

    每个响应都包含一个 .的可能值为:finish_reasonfinish_reason

    • 停止:API 返回完整的模型输出。
    • 长度:由于参数或令牌限制max_tokens模型输出不完整。
    • content_filter:由于内容过滤器中的标志而省略了内容。
    • 空:API 响应仍在进行中或不完整。

    请考虑设置为比正常值稍高的值,例如 300 或 500。这可确保模型在到达消息末尾之前不会停止生成文本。max_tokens

    模型版本控制

     注意

    gpt-35-turbo等效于 OpenAI 的模型。gpt-3.5-turbo

    与以前的 GPT-3 和 GPT-3.5 模型不同,该模型以及 和 模型将继续更新。创建这些模型的部署时,还需要指定模型版本。gpt-35-turbogpt-4gpt-4-32k

    目前,只有版本可用于 ChatGPT 和 GPT-4 型号。我们将来会继续提供更新版本。您可以在我们的模型页面上找到模型弃用时间。03010314

    使用聊天完成 API

    OpenAI训练了ChatGPT和GPT-4模型,以接受格式化为对话的输入。messages 参数采用字典数组,其中包含按角色组织的对话。

    基本聊天完成的格式如下:

    {"role": "system", "content": "Provide some context and/or instructions to the model"},{"role": "user", "content": "The users messages goes here"}

    一个带有一个示例答案后跟一个问题的对话如下所示:

    {"role": "system", "content": "Provide some context and/or instructions to the model."},{"role": "user", "content": "Example question goes here."},{"role": "assistant", "content": "Example answer goes here."},{"role": "user", "content": "First question/message for the model to actually respond to."}

    系统角色

    系统角色也称为系统消息,包含在数组的开头。此消息提供模型的初始说明。您可以在系统角色中提供各种信息,包括:

    • 助手的简要说明
    • 助手的性格特征
    • 您希望助理遵循的说明或规则
    • 模型所需的数据或信息,例如常见问题解答中的相关问题

    您可以为您的使用案例自定义系统角色,也可以只包含基本说明。系统角色/消息是可选的,但建议至少包含一个基本角色/消息以获得最佳结果。

    消息

    在系统角色之后,您可以在用户和助手之间包含一系列消息。

     {"role": "user", "content": "What is thermodynamics?"}

    若要触发来自模型的响应,应以用户消息结尾,指示轮到助手响应。您还可以在用户和助手之间包含一系列示例消息,作为进行少量镜头学习的一种方式。

    消息提示示例

    以下部分显示了可用于 ChatGPT 和 GPT-4 模型的不同样式提示的示例。这些示例只是一个起点,您可以尝试使用不同的提示来自定义自己的用例的行为。

    基本示例

    如果您希望 ChatGPT 模型的行为类似于 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 认知搜索等产品在查询时检索最相关的信息。

    {"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?"}

    使用聊天完成进行少量学习

    您还可以为模型提供一些镜头示例。由于新的提示格式,少数镜头学习的方法略有变化。现在,您可以在提示中包含用户和助手之间的一系列消息作为几个镜头示例。这些示例可用于为常见问题的答案提供种子,以启动模型或向模型教授特定行为。

    这只是如何使用 ChatGPT 和 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?"}

    创建基本对话循环

    到目前为止的示例已向您展示了与聊天完成 API 交互的基本机制。此示例演示如何创建执行以下操作的会话循环:

    • 持续接受控制台输入,并将其作为消息数组的一部分正确格式化为用户角色内容。
    • 输出打印到控制台并格式化并作为助理角色内容添加到消息数组中的响应。

    这意味着每次提出新问题时,到目前为止的对话记录都会与最新问题一起发送。由于模型没有内存,因此您需要为每个新问题发送更新的成绩单,否则模型将丢失以前问题和答案的上下文。

    蟒

    import osimport openaiopenai.api_type = "azure"openai.api_version = "2023-05-15" openai.api_base = os.getenv("OPENAI_API_BASE")# Your Azure OpenAI resource's endpoint value .openai.api_key = os.getenv("OPENAI_API_KEY")conversation=[{"role": "system", "content": "You are a helpful assistant."}]while(True):user_input = input()conversation.append({"role": "user", "content": user_input})response = openai.ChatCompletion.create(engine="gpt-3.5-turbo", # The deployment name you chose when you deployed the ChatGPT or GPT-4 model.messages = conversation)conversation.append({"role": "assistant", "content": response['choices'][0]['message']['content']})print("\n" + response['choices'][0]['message']['content'] + "\n")

    当您运行上面的代码时,您将获得一个空白的控制台窗口。在窗口中输入您的第一个问题,然后按回车键。返回回复后,您可以重复该过程并继续提问。

    管理对话

    前面的示例将一直运行,直到达到模型的令牌限制。随着每个问题的提出和答案的接收,数组的大小就会增加。的令牌限制为 4096 个令牌,而 和 的令牌限制分别为 8192 和 32768。这些限制包括来自发送的消息数组和模型响应的令牌计数。消息数组中的令牌数与参数值的组合必须保持在这些限制之下,否则您将收到错误。messagesgpt-35-turbogpt-4gpt-4-32kmax_tokens

    你有责任确保提示和完成在令牌限制范围内。这意味着对于较长的对话,您需要跟踪令牌计数,并且仅向模型发送超出限制的提示。

    以下代码示例显示了一个简单的聊天循环示例,其中包含使用 OpenAI 的 tiktoken 库处理 4096 令牌计数的技术。

    代码需要 抖音令牌 .如果您有旧版本运行 .0.3.0pip install tiktoken --upgrade

    蟒

    import tiktokenimport openaiimport osopenai.api_type = "azure"openai.api_version = "2023-05-15" openai.api_base = os.getenv("OPENAI_API_BASE")# Your Azure OpenAI resource's endpoint value .openai.api_key = os.getenv("OPENAI_API_KEY")system_message = {"role": "system", "content": "You are a helpful assistant."}max_response_tokens = 250token_limit= 4096conversation=[]conversation.append(system_message)def num_tokens_from_messages(messages, model="gpt-3.5-turbo-0301"):encoding = tiktoken.encoding_for_model(model)num_tokens = 0for message in messages:num_tokens += 4# every message follows {role/name}\n{content}\nfor key, value in message.items():num_tokens += len(encoding.encode(value))if key == "name":# if there's a name, the role is omittednum_tokens += -1# role is always required and always 1 tokennum_tokens += 2# every reply is primed with assistantreturn num_tokenswhile(True):user_input = input("") conversation.append({"role": "user", "content": user_input})conv_history_tokens = num_tokens_from_messages(conversation)while (conv_history_tokens+max_response_tokens >= token_limit):del conversation[1] conv_history_tokens = num_tokens_from_messages(conversation)response = openai.ChatCompletion.create(engine="gpt-35-turbo", # The deployment name you chose when you deployed the ChatGPT or GPT-4 model.messages = conversation,temperature=.7,max_tokens=max_response_tokens,)conversation.append({"role": "assistant", "content": response['choices'][0]['message']['content']})print("\n" + response['choices'][0]['message']['content'] + "\n")

    在此示例中,达到令牌计数后,将删除对话脚本中最旧的消息。 代替效率,我们从索引 1 开始,以便始终保留系统消息并仅删除用户/助手消息。随着时间的推移,这种管理对话的方法可能会导致对话质量下降,因为模型将逐渐失去对话早期部分的上下文。delpop()

    另一种方法是将对话持续时间限制为最大令牌长度或一定数量的回合数。达到最大令牌限制后,如果要允许对话继续,模型将失去上下文,则可以提示用户他们需要开始新的对话,并清除消息数组以启动具有完整令牌限制的全新对话。

    前面演示的代码的令牌计数部分是 OpenAI 说明书示例之一的简化版本。

    后续步骤

    相关文章

    • 了解如何使用 ChatGPT 和 GPT-4 模型

      微软宣布 System Center 2022 全面上市

      点击进入:ChatGPT工具插件导航大全 微软已宣布System Center 2022 的可用性。最新版本带来了 System Center Operations Manager (SCOM)、Virtual Machine Manager (VMM)、System Center Orchestrator (SCORCH)、...

    • 了解如何使用 ChatGPT 和 GPT-4 模型

      Windows 12 的下一个“最终”版本可能已经在开发中

      点击进入:ChatGPT工具插件导航大全 当微软推出 Windows 10 操作系统时,它表示 Windows 10 将是 Windows 的最后一个也是最终版本。去年,微软向公众发布了 Windows 11,有传言称该公司已经在开发 Windows 12。 ...

    • 了解如何使用 ChatGPT 和 GPT-4 模型

      Valve 正在努力确保 Steam Deck 支持 Windows 11

      点击进入:ChatGPT工具插件导航大全 Windows 11 Pro ISO文件在哪下载最新版?如何下载原装纯净版Win11 ?点击进入   持续更新!Valve 的 Steam Deck 便携式游戏机是带有 Steam 自己的 Steam Deck UI 皮肤的迷你 Win...

    • 了解如何使用 ChatGPT 和 GPT-4 模型

      AMD FidelityFX 可能击败 Nvidia DLSS – 这就是原因

      点击进入:ChatGPT工具插件导航大全 Windows 11 Pro ISO文件在哪下载最新版?如何下载原装纯净版Win11 ?点击进入   持续更新! *更新:英伟达 回应了我们的要求,并指出永恒边缘在DLSS 的官方 Unity 集成可用之前...

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。