译者 | 李睿
审校 | 重楼
AI target=_blank class=infotextkey>OpenAI公司推出的GPT如今已经成为全球最重要的人工智能工具,并精通基于其训练数据处理查询 。但是,它不能回答未知话题的问题,例如:
- 2021年9月之后的近期事件
- 非公开文件
- 来自过去谈话的信息
本文将引导人们完成使用Python/ target=_blank class=infotextkey>Python中的开源LLM App库开发此类应用程序的步骤 。源代码在Github上(链接在下面的“为销售构建ChatGPT Python API”一节中) 。
学习目标通过本文了解以下内容:
- 需要添加自定义数据到ChatGPT的原因 。
- 如何使用嵌入、提示工程和ChatGPT来更好地回答问题 。
- 用户使用LLM应用程序与自定义数据构建自己的ChatGPT 。
- 创建一个ChatGPT Python API查找实时折扣或销售价格 。
例如,当询问ChatGPT,“你能帮我找到阿迪达斯男鞋在本周的折扣吗?”,在没有自定义知识的情况下,可能从ChatGPT UI界面得到的标准回答是:
文章插图
显然,ChatGPT提供了关于寻找折扣的通常建议,但缺乏关于在哪里或什么类型的折扣以及其他细节的具体信息 。现在为了帮助这个模型,使用来自可靠数据源的折扣信息对其进行补充 。在发布实际问题之前,必须通过添加初始文档内容来参与ChatGPT 。将从Amazon产品交易数据集中收集这一示例数据,并在提示中仅插入一个JSON项:
文章插图
如上图所示,用户得到了预期的输出 , 这很容易实现,因为ChatGPT现在是场景感知的 。然而 , 这种方法的问题是模型的场景受到限制(GPT-4的最大文本长度为8,192个令牌) 。当输入数据规模非常大时,这种策略很快就会出现问题,用户可能希望在销售中发现数千种商品 , 而无法将如此大量的数据作为输入消息提供 。此外,一旦收集了数据 , 可能需要对数据进行清理、格式化和预处理,以确保数据质量和相关性 。
如果用户使用OpenAI聊天完成度端点或为ChatGPT构建自定义插件,它会引入以下其他问题:
- 成本—通过提供更详细的信息和示例,大型语言模型的性能可能会得到改善,尽管成本更高(对于输入10000个令牌和输出200个令牌的GPT-4,每次预测的成本为0.624美元) 。重复发送相同的请求会增加成本 , 除非使用本地缓存系统 。
- 延迟—在生产中使用ChatGPT API的一个挑战是它们的不可预测性,不能保证提供一致的服务 。
- 安全性—当集成自定义插件时,每个API端点必须在OpenAPI规范中指定功能 。这意味着用户正在向ChatGPT泄露其内部API设置,这是令许多企业担心的风险 。
- 离线评估—对代码和数据输出进行离线测试或在本地复制数据流对开发人员来说是具有挑战性的 。这是因为对系统的每个请求可能产生不同的响应 。
给定以下折扣数据:{input_data} , 回答这个查询:{user_query} 。
这个概念很简单 。这种方法不是直接发布问题,而是首先通过OpenAI API为每个输入文档(文本、图像、CSV、PDF或其他类型的数据)创建向量嵌入 , 然后对生成的嵌入进行索引以便快速检索 , 并将其存储到向量数据库中,并利用用户的问题从向量数据库中搜索并获得相关文档 。然后将这些文档与问题一起作为提示呈现给ChatGPT 。有了这个添加的场景,ChatGPT就可以像在内部数据集上训练一样进行响应 。
推荐阅读
- 如何选用锂电池均衡仪
- 2023值得一玩的手游推荐
- 我的手机我做主,如何为Android手机应用换图标?
- 航空公司该如何选择,联合航空公司如何选座位
- 微信投票能如何操作,微信投票如何快速拿1000票
- 叶倩文:错过费翔后去抢闺蜜的老公,如今62岁无儿无女已经白头
- 韩国夫人出席荷兰国宴拿出战袍!穿泡泡袖小黑裙美如赫本,美翻了
- 如何修复感情
- 今冬女发别瞎剪,不如试试这四种,洋气瘦脸显气质
- 微信验证消息能如何看全,为什么微信互删后验证消息也消失了