OpenAI 如何从 Answers 端点转移

工具软件 Edge插件网 2年前 (2023-02-09) 438次浏览 已收录 0个评论

介绍

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

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

当前文档

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

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

选项

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

OpenAI 如何从 Answers 端点转移

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

选项 1:过渡到基于嵌入的搜索(推荐)

我们相信,通过将底层搜索系统移动到使用基于向量的嵌入搜索,大多数用例将得到更好的服务。主要原因是我们当前的系统使用二元组过滤器来缩小候选范围,而我们的嵌入系统具有更多的上下文感知。此外,一般来说,从长远来看,使用嵌入的成本会大大降低。如果您对此不熟悉,可以访问我们的嵌入指南了解更多信息。

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

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

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

如果您想重新创建 Answers 端点的功能,我们是这样做的。还有一个脚本可以复制大部分功能。

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

如果您使用文档参数

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

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

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

如果您使用的是文件参数

第一步:上传一个jsonl文件

在幕后,我们将新文件上传到 Elastic 搜索集群中作为答案。然后将 jsonl 的每一行作为文档提交。

如果您上传的文件的目的是“答案”,我们还会在换行符上拆分文档,并将每个块作为单独的文档上传,以确保我们可以搜索并引用文件中最多数量的相关文本部分。

每行都需要一个“文本”字段和一个可选的“元数据”字段。

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

弹性搜索映射

{
    "properties": {
        "document": {"type": "text", "analyzer": "standard_bigram_analyzer"}, -> the “text” field
        "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_rerank` 来确定要从 Elastic search 返回的文档数。

第 2 步:搜索

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

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

完成提示

===
Context: {{ provided examples_context }}
===
Q: example 1 question
A: example 1 answer
---
Q: example 2 question
A: example 2 answer
(and so on for all examples provided in the request) 
===
Context: {{ what we return from Elasticsearch }}
===
Q: {{ user provided question }} 
A:

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


Edge插件网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:OpenAI 如何从 Answers 端点转移
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址