OpenAI如何从分类端点转换
admin
2023-08-03 06:58:11
0
  • 点击进入:ChatGPT工具插件导航大全

介绍

自去年发布测试版分类端点以来,我们开发了新方法来为此任务取得更好的结果。因此,我们将从我们的文档中删除分类端点,并在 2022 年 12 月 3 日为所有组织删除对该端点的访问。6 月 3 日之后创建的新帐户将无法访问此端点。

我们强烈鼓励开发人员改用更新的技术,以产生更好的结果,如下所述。

当前文档

https://beta.openai.com/docs/guides/classifications

https://beta.openai.com/docs/api-reference/classifications

选项

此处还概述了所有这些选项。

作为快速回顾,以下是当前分类端点的高级步骤:

wDEz1wePRC3E7UyA1n0lsTPUvVakpPlMQ92SDnvEsScQFclIRW-bO2eKRhAp9_15j0vnyPYnhG71PjJj6Fttfwdpb1UnHZzMle9llSC76HQHN9lCzMNF6N2UDmeWzOldgwqRYYy-hzxBAD61NwwDEz1wePRC3E7UyA1n0lsTPUvVakpPlMQ92SDnvEsScQFclIRW-bO2eKRhAp9_15j0vnyPYnhG71PjJj6Fttfwdpb1UnHZzMle9llSC76HQHN9lCzMNF6N2UDmeWzOldgwqRYYy-hzxBAD61Nw

选项 1:过渡到微调(推荐)

我们相信,大多数用例将通过转向微调模型得到更好的服务。造成这种情况的主要原因是我们当前的系统使用二元过滤器来缩小候选范围,而我们经过微调的系统可以接收任意数量的数据并学习示例之间的更多细微差别。有关创建微调模型的更多信息,请查看我们的指南。

选项 2:过渡到基于嵌入的搜索

另一种可能的选择是使用嵌入,尤其是当您的分类标签经常更改时。如果您对此不熟悉,可以访问我们的嵌入指南了解更多信息。

如果您使用的是小型数据集(<10,000 个文档),请考虑使用该指南中描述的技术来查找最佳文档来构建类似于此的提示。然后,您可以将该提示提交到我们的完成端点。

如果您有更大的数据集,请考虑使用 Pinecone 或 Weaviate 等矢量搜索引擎来支持该搜索。

选项 3:重新实现现有功能

如果您想重新创建分类端点的功能,我们是这样做的。此功能也主要复制在此脚本中。

在较高级别,您可以通过两种主要方式使用分类端点:您可以从上传的文件中获取数据或将其与请求一起发送。

如果您使用文档参数

如果您在分类 API 调用中提供文档,则只有一个步骤。

以下是我们使用的大致步骤:

  • 使用此格式构建提示。

  • 收集所有提供的文件。如果它们符合提示,只需使用它们。

  • 进行OpenAI 搜索(也被弃用。请参阅其转换指南),其中文档是用户提供的文档,查询是上面的查询。按分数对文档进行排名。

  • 按照得分顺序,尝试添加 Elastic 搜索文档,直到用完上下文中的空间。尽量增加不同标签的数量,因为这将有助于模型理解可用的不同标签。

  • 使用提供的参数(logit_bias、n、stop 等)请求完成

在所有这些过程中,您需要检查提示的长度是否不超过模型的令牌限制。要评估提示中存在的令牌数量,我们建议使用https://huggingface.co/docs/transformers/model_doc/gpt2#transformers.GPT2TokenizerFast。

如果您使用的是文件参数

第一步:上传一个jsonl文件

在幕后,我们将用于分类的新文件上传到 Elastic 搜索。然后将 jsonl 的每一行作为文档提交。

在每一行中,我们需要一个“文本”字段、一个“标签”字段和一个可选的“元数据”字段

这些是我们索引的弹性搜索设置和映射:

弹性搜索映射:

{
    \"properties\": {
        \"document\": {\"type\": \"text\", \"analyzer\": \"standard_bigram_analyzer\"}, -> the “text” field
        \"label\": {\"type\": \"text\", \"analyzer\": \"standard_bigram_analyzer\"},
        \"metadata\": {\"type\": \"object\", \"enabled\": False}, -> the “metadata” field
    }
}

弹性搜索分析器:

{
    \"analysis\": {
        \"analyzer\": {
            \"standard_bigram_analyzer\": {
                \"type\": \"custom\",
                \"tokenizer\": \"standard\",
                \"filter\": [\"lowercase\", \"english_stop\", \"shingle\"],
            }
        },
        \"filter\": {\"english_stop\": {\"type\": \"stop\", \"stopwords\": \"_english_\"}},
    }
}

之后,我们执行标准的 Elastic search 搜索调用并使用 `max_examples` 来确定要从 Elastic search 返回的文档数。

第 2 步:搜索

这是我们使用的大致步骤。我们的最终目标是创建一个具有这种格式的完成请求。它看起来与Documents非常相似。

从那里开始,我们的步骤是:

  • 从 `experimental_alternative_question` 开始,或者,如果没有提供,则从 `question` 字段中的内容开始。称之为查询。

  • 使用查询作为搜索参数查询弹性搜索“max_examples”文档。

  • 获取这些文档并对它们进行OpenAI 搜索,其中来自 Elastic 搜索的条目是文档,查询是您在上面使用的查询。使用搜索的分数对文档进行排名。

  • 按照得分顺序,尝试添加 Elastic 搜索文档,直到提示中的空间用完为止。尽量增加不同标签的数量,因为这将有助于模型理解可用的不同标签。

  • 使用提供的参数(logit_bias、n、stop 等)请求 OpenAI 完成。将那一代返回给用户。

完成提示

{{ an optional instruction }}Text: {{example 1 text}}Category: {{example 1 label}}---Text: {{example 2 text}}Category: {{example 2 label}}---Text: {{question}}Category:

ChatGPT中国体验版点击进入:https://yundongfang.com/chatgpt.php

相关内容

热门资讯

Windows 11 和 10... Windows 11/10 文件夹属性中缺少共享选项卡 – 已修复 1.检查共享选项卡是否可用 右键...
Radmin VPN Wind... Radmin VPN 是一款免费且用户友好的软件,旨在牢固地连接计算机以创建一个有凝聚力的虚拟专用网...
事件 ID 7034:如何通过... 点击进入:ChatGPT工具插件导航大全 服务控制管理器 (SCM) 负责管理系统上运行的服务的活动...
如何修复 Steam 内容文件... Steam 内容文件锁定是当您的 Steam 文件无法自行更新时出现的错误。解决此问题的最有效方法之...
Hive OS LOLMine... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
如何在电报Telegram中隐... 点击进入:ChatGPT工具插件导航大全 在Android上的电报中隐藏您的电话号码 您可以通过切换...
在 iCloud 上关闭“查找... 如果您是 Apple 的长期用户,您肯定会遇到过 Find My 应用程序,它本机安装在 iPhon...
在 Windows 11 中打... 什么是链路状态电源管理? 您可以在系统控制面板的电源选项中看到链接状态电源管理。它是 PCI Exp...
Hive OS 部署 PXE ... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
farols1.1.501.0... faro ls 1.1.501.0(64bit)可以卸载,是一款无需连接外部PC机或笔记本计算机即可...