在我尝试嵌入一个字符串之前,我如何知道它有多少个标记?

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

在我尝试嵌入一个字符串之前,我如何知道它有多少个标记?

对于 V2 嵌入模型,截至 2022 年 12 月,还没有办法将字符串拆分为标记。获取令牌总数的唯一方法是提交 API 请求。

  • 如果请求成功,您可以从响应中提取令牌数:`response[“usage”][“total_tokens”]`

  • 如果请求因令牌太多而失败,您可以从错误消息中提取令牌数:`此模型的最大上下文长度为 8191 个令牌,但是您请求了 10000 个令牌(提示中为 10000;完成时为 0)。请减少您的提示;或完成长度。`

对于基于 GPT-2/GPT-3 标记化的 V1 嵌入模型,您可以通过以下几种方式计算标记:

如何快速检索 K 个最近的嵌入向量?

为了快速搜索多个矢量,我们建议使用矢量数据库。

矢量数据库选项包括:

我应该使用哪个距离函数?

我们推荐余弦相似度。距离函数的选择通常无关紧要。

OpenAI 嵌入被归一化为长度 1,这意味着:

  • 仅使用点积可以稍微更快地计算余弦相似度

  • 余弦相似度和欧几里德距离将导致相同的排名

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


Edge插件网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在我尝试嵌入一个字符串之前,我如何知道它有多少个标记?
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

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