OpenAI
文章平均质量分 84
OpenAI使用技巧
数智笔记
目前从事数据挖掘工作,期望在自己学习总结的同时,也能分享有益的东西给别人,希望有志者能在数据挖掘领域共同进步
展开
-
大模型系列:OpenAI使用技巧_将维基百科文章文本向量化后进行搜索
在这里,我们将使用一种简单的方法,将每个章节限制为1,600个标记,如果某个章节太长,则递归地将其减半。为了避免在有用的句子中间切割,我们将尽可能沿段落边界进行分割。现在我们已经将我们的库分割成了较短的自包含字符串,我们可以为每个字符串计算嵌入。由于GPT一次只能读取有限的文本,我们将把每个文档分成足够短的块来阅读。在这个例子中,我们将下载几百篇与2022年冬奥会相关的维基百科文章。(对于更大的数据集,请使用向量数据库,这将更具性能。接下来,我们将递归地将长的章节分割成较小的章节。原创 2024-01-03 11:17:35 · 1007 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_在合成的函数调用数据上进行微调
在给定的函数上评估开箱即用的模型(假设由于延迟和成本原因,我们不能将gpt-4用作无人机驾驶员)使用gpt-4创建“黄金”提示和函数调用集,用作训练数据运行微调作业,并评估微调模型注意:本笔记本提供了一个示例,说明如何仅凭函数列表创建合成训练数据以进行函数调用微调。虽然实际生产测试评估更可取,但这种方法可以产生强大的结果,并可与实际训练数据一起使用。原创 2024-01-03 09:48:37 · 1064 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_如何使用聊天模型调用函数
指定一组函数并使用API生成函数参数。通过使用模型生成的参数实际执行函数,完成循环。原创 2024-01-03 09:41:31 · 1599 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_Assistants API 概述
这对于向用户呈现步骤的进度非常有用(例如,当助手正在编写代码或执行检索时,可以显示旋转器)。在聊天完成中,模型只会回复一条消息,而在助手API中,运行可能导致助手使用一个或多个工具,并可能向线程添加多条消息。然而,您很快就会看到,我们可以在不改变太多代码的情况下为我们的助手添加非常强大的功能!对于某些用例来说,这可能已经足够了 - 但是,如果我们想要更多关于助手正在做什么的细节,我们可以查看运行步骤。的有状态演进,旨在简化助手式体验的创建,并使开发者可以访问强大的工具,如代码解释器和检索。原创 2024-01-02 12:47:37 · 1864 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_如何格式化ChatGPT模型的输入
ChatGPT由和gpt-4提供支持,这是OpenAI最先进的模型。您可以使用OpenAI API构建自己的应用程序,使用或gpt-4。聊天模型将一系列消息作为输入,并返回一个由AI编写的消息作为输出。本指南通过几个示例API调用说明聊天格式。原创 2024-01-02 12:40:21 · 1191 阅读 · 1 评论 -
大模型系列:OpenAI使用技巧_Whisper纠正转录拼写错误:提示vs后处理
我们正在解决提高转录精度的问题,特别是涉及公司名称和产品引用时。我们的解决方案涉及使用 Whisper 提示参数和 GPT-4 的后处理能力的双重策略。纠正不准确性的两种方法是:我们直接将正确拼写的列表输入到 Whisper 的提示参数中,以指导初始转录。我们利用 GPT-4 在转录后修复拼写错误,再次使用相同的正确拼写列表在提示中。这些策略旨在确保对不熟悉的专有名词进行精确转录。原创 2024-01-02 12:36:46 · 685 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_ 提升Whisper转录的质量:预处理和后处理技术
本笔记本提供了一个指南,以改进Whisper的转录质量。我们将通过修剪和分割来简化您的音频数据,以提高Whisper的转录质量。在转录之后,我们将通过添加标点符号,调整产品术语(例如,将’five two nine’调整为’529’),以及减轻Unicode问题来优化输出结果。这些策略将有助于提高转录的清晰度,但请记住,根据您独特的用例进行定制可能会更有益。原创 2024-01-02 09:53:19 · 637 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_Whisper提示指南
例如,如果您提交了一个尝试的指令,如“以Markdown格式格式化列表”,模型将不会遵守,因为它遵循提示的风格,而不是其中包含的任何指令。然而,如果我们以小写的虚构提示“president biden”传入,Whisper会匹配风格并生成一个全小写的转录。为了让Whisper使用我们偏爱的拼写,让我们将产品和公司名称作为提示传递,作为Whisper遵循的词汇表。现在,让我们切换到另一个专门为此演示制作的音频记录,主题是一个奇怪的烧烤。为了获得良好的结果,请设计能够展现您所期望的风格的示例。原创 2024-01-02 09:49:56 · 1630 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_从长文档内容做信息抽取
GPT-3可以帮助我们从太大而无法适应上下文窗口的文档中提取关键数字、日期或其他重要内容。解决这个问题的一种方法是将文档分块并分别处理每个块,然后将它们组合成一个答案列表。然而,通过最小的调整,我们现在已经使用长文档的内容回答了6个难度不同的问题,并且有一种可重复使用的方法,可以应用于任何需要实体提取的长文档。期待看到您对此的运用!我们已经成功提取了前两个答案,而第三个答案由于每页上都出现的日期而变得混乱,尽管正确的答案也在其中。原创 2024-01-01 08:08:38 · 1986 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_如何使用tiktoken计算标记数
将文本字符串拆分为标记对于GPT模型非常有用,因为GPT模型以标记的形式处理文本。知道文本字符串中有多少个标记可以告诉您(a)字符串是否过长以至于无法被文本模型处理,以及(b)OpenAI API调用的成本(因为使用量是按标记计价的)。)与旧的完成模型一样使用令牌,但由于其基于消息的格式,很难计算一个对话将使用多少个令牌。可以应用于单个标记,但请注意对于不在utf-8边界上的标记,它可能会有损失。特别是,使用可选的功能输入的请求将在下面计算的估计之上消耗额外的令牌。不同的模型使用不同的编码。原创 2024-01-01 08:02:49 · 2013 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_如何微调聊天模型
现在,让我们对数据集的一个子集进行此操作,以用作我们的训练数据。随着训练集大小的增加,您应该看到性能继续呈线性扩展,但您的作业也将需要更长时间。与经典的“微调”类似,您只需使用您的新微调模型名称填充“model”参数,调用“ChatCompletions”即可。在构建训练样本时,请考虑到这一点——如果您的模型将在多轮对话中发挥作用,请提供代表性的例子,以免在对话开始扩展时表现不佳。现在我们可以使用生成的文件和可选的后缀来创建我们的微调任务。您现在可以将文件上传到我们的“文件”端点,以供精调模型使用。原创 2024-01-01 07:58:59 · 991 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_GPT-4-vision和TTS API处理和叙述视频
本笔记本演示了如何使用GPT的视觉能力处理视频。GPT-4不能直接将视频作为输入,但我们可以使用视觉和新的128K上下文窗口一次性描述整个视频的静态帧。让我们以大卫·爱登堡的风格为这个视频配音。首先,我们使用OpenCV从一个包含野牛和狼的自然。原创 2023-12-31 20:13:20 · 849 阅读 · 3 评论 -
大模型系列:OpenAI使用技巧_使用助手API(GPT-4)和DALL·E-3创建幻灯片
我们可以指示我们的助手充当数据科学家,并接受我们提供的任何查询,并运行必要的代码以输出正确的数据可视化。我们能够使用助手计算分销渠道的季度利润、绘制结果、识别可视化的见解和关键要点,并创建一个总结性的标题,只需一个包含财务数据的.csv文件。在助手API中,我们还没有“种子”参数,因此由于LLM的非确定性,DALL·E-3图像和措辞将与运行此笔记本时看到的略有不同,但输出应该在方向上相同。有趣的是,这里的一个注释是,由于第一次解析不成功,助手能够尝试多次解析JSON数据,展示了助手的适应性。原创 2023-12-31 18:26:59 · 900 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用图数据库应用检索增强生成RAG
然而,提取的实体可能与我们拥有的数据不完全匹配,所以我们将使用GDS余弦相似性函数来返回与用户所询问的实体具有类似关系的产品。如果您的数据中数据点之间的关系很重要,并且您可能希望利用这一点,那么考虑使用图数据库而不是传统的关系数据库可能是值得的。考虑到增加的复杂性,请确保使用知识图谱是您用例的最佳选择。对于这个特定的用例,如果对话方面不太重要,我们实际上可以创建一个函数,该函数将调用我们之前定义的任务并提供一个答案。为此,我们将指示我们的模型在用户提示中找到相关的实体,这些实体可以用于查询我们的数据库。原创 2023-12-31 18:08:17 · 1348 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_在富文本上做命名实体识别(NER)
我们定义了一组标准的NER标签,以展示各种用例。然而,对于我们特定的任务——用知识库链接丰富文本,只需要一个子集就足够了。# 定义了一个列表labels,包含了各种标签,用于对文本进行分类labels = ["person", # 人物,包括虚构的角色"fac", # 建筑物、机场、高速公路、桥梁等"org", # 组织、公司、机构等"gpe", # 地理政治实体,如国家、城市、州等"loc", # 非地理政治实体的位置"product", # 车辆、食品、服装、家电、软件、玩具等产品。原创 2023-12-31 14:19:23 · 1453 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用搜索API和重新排序进行问答
然后,我们计算这些嵌入之间的余弦距离,从而得到语义相似性度量。请注意,由于OpenAI嵌入在我们的API中返回为标准化形式,因此我们可以简单地计算点积,而不是进行完整的余弦相似性计算。在本指南中,我们将探索一种使用各种AI技术增强现有搜索系统的方法,帮助我们筛选噪音。的启发,我们首先生成一个假想的理想答案,以重新排列我们的结果并将其与之比较。这有助于优先考虑看起来像是好答案的结果,而不是与我们的问题相似的结果。正如我们所看到的,通常情况下,搜索查询会返回大量结果,其中许多与用户最初提出的问题无关。原创 2023-12-31 08:53:00 · 956 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用基于文本向量embedings的搜索进行问答
在这个特定的案例中,通过查看下面的文本,看起来模型所给出的第一篇文章确实包含了所有三个事件的奖牌得主,但后来的结果更加强调了男子和女子比赛,这可能使模型分散了注意力,无法给出更完整的答案。一般来说,基于搜索的系统在需要简单查找的问题上表现最佳,在需要组合和推理多个部分来源的问题上表现最差。对于2022年冬季奥运会没有任何了解,但我们的搜索系统能够检索到供模型阅读的参考文本,使其能够正确列出男子和女子比赛的金牌获得者。通过上面的搜索功能,我们现在可以自动检索相关的知识并将其插入到发送给GPT的消息中。原创 2023-12-31 08:45:32 · 1073 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用文本向量做语义文本搜索
我们可以通过将搜索查询嵌入并找到最相似的评论,以非常高效且低成本的方式对所有评论进行语义搜索。我们可以轻松地搜索这些评论。为了加快计算速度,我们可以使用一种特殊的算法,旨在通过嵌入进行更快速的搜索。正如我们所看到的,这可以立即提供很多价值。在这个例子中,我们展示了能够快速找到交付失败的示例。在这里,我们比较查询和文档的嵌入的余弦相似度,并显示前n个最佳匹配。原创 2023-12-30 22:54:27 · 497 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用文本向量做交易数据的多分类模型
这些方法可以复制到任何多类分类的用例中,其中我们试图将交易数据拟合到预定义的类别中,通过完成这个过程,您应该有一些处理标记和未标记数据集的方法。它无法分类的那些案例是更难的,很少有线索可以确定它们的主题,但如果我们清理标记的数据集以提供更多示例,或许可以获得更好的性能。这个模型的性能相当强大,因此创建嵌入并使用更简单的分类器似乎也是一种有效的方法,而零-shot分类器则帮助我们对未标记的数据集进行初始分类。现在我们有了嵌入,让我们看看将其分类为我们命名的类别是否能带来更多的成功。原创 2023-12-30 16:00:39 · 976 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_做文本向量化以及2D、3D可视化
本笔记本包含一些有用的代码片段,您可以使用这些代码片段通过OpenAI API将文本嵌入到“text-embedding-ada-002”模型中。我们将使用t-SNE将嵌入的维度从1536降低到2。一旦嵌入被降低到两个维度,我们可以在2D散点图中绘制它们。将嵌入的维度从1536降低到3。然后我们可以在一个3D图中可视化数据点。即使在降维后的二维空间中,我们仍然可以观察到良好的数据分离。我们按照每个评论的星级评分进行着色,从红色到绿色。我们使用t-SNE分解将维度降至2维。中随机抽样200个样本进行策划的。原创 2023-12-30 11:06:31 · 1479 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_自定义文本向量化embeding
输入是以[text_1,text_2,label]形式的训练数据,其中label为+1表示这些句子对相似,label为-1表示这些句子对不相似。如果存在很高程度的重叠,这意味着有些不相似的对具有比某些相似对更大的余弦相似度。我计算的准确率是一个简单规则的准确率,该规则在余弦相似度高于某个阈值X时预测为“相似(1)”,否则预测为“不相似(0)”。如果您的数据是多类别数据,您将希望生成正样本和负样本。对于聚类用例,您可以通过从相同聚类中的文本创建句子对来生成正例,并通过从不同聚类中的句子创建句子对来生成负例。原创 2023-12-30 08:57:05 · 1053 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_Fine Tuning微调做文本分类
提示包含邮件列表中的电子邮件,完成是一个运动的名称,可以是冰球或棒球。现在我们可以使用一个数据准备工具,在微调之前对我们的数据集提出一些建议的改进。在启动工具之前,我们会更新openai库,以确保我们使用的是最新的数据准备工具。由于这是一个分类任务,我们想知道在提供的验证集上的泛化性能如何,以满足我们的分类用例。有趣的是,我们经过优化的分类器非常灵活。在下面的图表中,我们可以看到验证集上的准确率在训练过程中如何增加。由于我们关心的是分类,我们希望温度尽可能低,并且我们只需要一个令牌完成来确定模型的预测。原创 2023-12-30 09:02:02 · 1253 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用OpenAI进行K-means聚类
重要的是要注意,聚类不一定与您打算使用它们的目的完全匹配。更多的聚类将关注更具体的模式,而较少的聚类通常会关注数据中最大的差异。在二维投影中对聚类进行可视化。在这次运行中,绿色聚类(#1)似乎与其他聚类非常不同。让我们看一下每个聚类的几个样本。我们使用一个简单的k-means算法来演示如何进行聚类。聚类可以帮助发现数据中有价值的隐藏分组。我们将使用text-davinci-003来为聚类命名,基于从该聚类中随机抽取的5个评论样本。我们展示了K-means的最简单用法。您可以选择最适合您用例的聚类数量。原创 2023-12-30 08:08:16 · 518 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用文本向量化Embeding进行分类
在这个文本分类任务中,我们基于评论文本的嵌入预测食品评论的评分(1到5)。我们将数据集分为训练集和测试集,以便在未见数据上实际评估性能。本笔记本分享了使用嵌入进行文本分类的示例。对于许多文本分类任务,我们已经看到微调模型比嵌入效果更好。毫不意外,5星和1星的评论似乎更容易预测。也许有更多的数据,2-4星之间的细微差别可以更好地预测,但人们如何使用中间分数也可能更加主观。五星级评论总体上表现最好,这并不太令人惊讶,因为它们在数据集中最为常见。我们还建议拥有比嵌入维度更多的示例,但我们在这里并没有完全实现。原创 2023-12-30 08:16:36 · 909 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_在文本向量化的交易数据做多标签分类
本笔记本涵盖了数据未标记但具有可用于将其聚类为有意义的类别的特征的用例。聚类的挑战在于使那些使得这些聚类突出的特征可读,这就是我们将使用GPT-3生成有意义的聚类描述的地方。然后,我们可以使用这些描述来为以前未标记的数据集应用标签。为了向模型提供数据,我们使用了在笔记本中展示的方法创建的嵌入,应用于数据集中的全部359个交易,以便为我们提供更大的学习资源池。原创 2023-12-30 08:32:06 · 999 阅读 · 0 评论 -
大模型系列:OpenAI使用技巧_使用文本向量化embeding做回归模型
回归意味着预测一个数字,而不是其中的一个类别。我们将根据评论文本的嵌入来预测评分。我们将数据集分为训练集和测试集,用于所有后续任务,以便我们可以在未见数据上实际评估性能。我们可以看到,嵌入能够以平均误差0.53进行评分预测。这大致相当于完美预测一半的评论,另一半的预测误差为一个星级。我们正在预测评论的评分,评分是1到5之间的数字(1星为负面,5星为正面)。您还可以训练分类器来预测标签,或者使用现有ML模型中的嵌入来编码自由文本特征。原创 2023-12-30 08:13:49 · 483 阅读 · 0 评论