如何在Python中使用ChatGPT API处理实时数据( 二 )


另一方面,如果使用Pathway的LLM App , 甚至不需要任何矢量数据库 。它实现了实时内存数据索引,直接从任何兼容的存储中读取数据,而无需查询矢量文档数据库,而这会增加准备工作、基础设施和复杂性等成本 。保持源和矢量同步是很痛苦的 。此外 , 如果带下划线的输入数据随时间变化而需要重新索引 , 则会更加困难 。
ChatGPT自定义数据使用LLM App下面这些简单的步骤解释了使用LLM App为数据构建ChatGPT应用程序的数据管道方法 。

  • 收集:用户的应用程序从各种数据源(CSV、 JSON Lines、SQL数据库、Kafka、Redpanda、Debezium等)实时读取数据,当流模式与路径启用时或者也可以在静态模式下测试数据摄取 。它还将每个数据行映射到结构化文档模式中,以便更好地管理大型数据集 。
  • 预处理:可以选择通过删除可能影响回答质量的重复、不相关信息和嘈杂数据,并提取需要进一步处理的数据字段,从而轻松地进行数据清理 。此外 , 在这个阶段 , 可以屏蔽或隐藏隐私数据 , 以避免将它们发送到ChatGPT 。
  • 嵌入:每个文档都嵌入了OpenAI API , 并检索嵌入的结果 。
  • 索引:在实时生成的嵌入上构建索引 。
  • 搜索:给定来自API友好界面的用户问题 , 从OpenAI API生成查询的嵌入 。使用嵌入,根据与查询的相关性动态检索向量索引 。
  • 提问:将问题和最相关的部分插入到GPT的信息中 。返回GPT的答案(聊天完成端点) 。
为销售构建ChatGPT Python API在对LLM App的工作过程有了清晰的了解之后,可以按照下面的步骤来了解如何构建折扣查找器应用程序 。其项目源代码可以在GitHub上找到 。如果想快速开始使用这个应用程序,可以跳过这一部分直接克隆存储库,并按照README.md文件中的说明运行代码示例 。
项目目标示例受到一篇关于企业搜索的文章的启发,这一示例应用程序应该在Python中公开一个HTTP REST API端点 , 通过从各种来源(CSV、Jsonlines、API、消息代理或数据库)检索最新交易来回答用户对当前销售的查询 , 并利用OpenAI API嵌入和聊天完成端点生成式人工智能助理响应 。
步骤1:数据收集(自定义数据摄取)为了简单起见,可以使用任何JSON行作为数据源 。这个应用程序采用discounts.jsonl等JSON Lines文件,并在处理用户查询时使用这些数据 。数据源希望每行都有一个文档对象 。确保首先将输入数据转换为Jsonline 。下面是一个带有单个raw的Jsonline文件的示例:
{"doc": "{'position': 1, 'link': 'https://www.amazon.com/deal/6123cc9f', 'asin': 'B00QVKOT0U', 'is_lightning_deal': False, 'deal_type': 'DEAL_OF_THE_DAY', 'is_prime_exclusive': False, 'starts_at': '2023-08-15T00:00:01.665Z', 'ends_at': '2023-08-17T14:55:01.665Z', 'type': 'multi_item', 'title': 'Deal on Crocs, DUNLOP REFINED(u30c0u30f3u30edu30c3u30d7u30eau30d5u30a1u30a4u30f3u30c9)', 'image': 'https://m.media-amazon.com/images/I/41yFkNSlMcL.jpg', 'deal_price_lower': {'value': 35.48, 'currency': 'USD', 'symbol': '$', 'raw': '35.48'}, 'deal_price_upper': {'value': 52.14, 'currency': 'USD', 'symbol': '$', 'raw': '52.14'}, 'deal_price': 35.48, 'list_price_lower': {'value': 49.99, 'currency': 'USD', 'symbol': '$', 'raw': '49.99'}, 'list_price_upper': {'value': 59.99, 'currency': 'USD', 'symbol': '$', 'raw': '59.99'}, 'list_price': {'value': 49.99, 'currency': 'USD', 'symbol': '$', 'raw': '49.99 - 59.99', 'name': 'List Price'}, 'current_price_lower': {'value': 35.48, 'currency': 'USD', 'symbol': '$', 'raw': '35.48'}, 'current_price_upper': {'value': 52.14, 'currency': 'USD', 'symbol': '$', 'raw': '52.14'}, 'current_price': {'value': 35.48, 'currency': 'USD', 'symbol': '$', 'raw': '35.48 - 52.14', 'name': 'Current Price'}, 'merchant_name': 'Amazon Japan', 'free_shipping': False, 'is_prime': False, 'is_map': False, 'deal_id': '6123cc9f', 'seller_id': 'A3GZEOQINOCL0Y', 'description': 'Deal on Crocs, DUNLOP REFINED(u30c0u30f3u30edu30c3u30d7u30eau30d5u30a1u30a4u30f3u30c9)', 'rating': 4.72, 'ratings_total': 6766, 'page': 1, 'old_price': 49.99, 'currency': 'USD'}"}


推荐阅读