Embeddings — 与你的数据对话的强大工具
Lipie Souza2023年6月11日阅读约 1 分钟0 次浏览
本文由葡萄牙语原文自动翻译。阅读原文
看过博客上一篇文章的读者应该记得,我讲了几种可以为特定用途定制语言模型的技术之间的差异。提示词工程、Embeddings、微调 — 每种技术都应根据模型适配的目的来选择。在这篇文章里,我将深入 Embeddings 技术,展示它如何成为构建对话式产品(聊天机器人)的强大盟友:把数据集并入 LLM、装进向量库,然后通过与之对话来交互、理解并沉淀知识。这篇文章会在宏观概念与技术深入之间取得平衡,还会给守在一线的开发者一个小提示,说不定可以拿这项新技术做做实验。我想先抛出的第一个观点是:GPT-3 / 3.5 这类语言模型用互联网上的海量数据训练而成,但恰恰因此,在深入具体话题时它们是浅薄的、不合事实的(说难听点,是撒谎的)。它们被设计成「看起来是真的」,所以会为了迎合请求而撒谎。许多人忽视的关键在于:它们可以接入其他数据库(你自己的,或其他公共库),并立即成为某个具体知识的专家,在被并入的领域内大幅提升事实性。(正如我在 ClippingGPT 用例中展示的,没看过的读者,文章链接在这里。)这项技术让 LLM 明白:它被添加了一个额外的知识库,而这个库比它预训练时隐含的通识更重要(所以缩写才叫 Generative Pre-trained Model)— 它们是预训练的、通才型的模型,可按你想赋予的目的加以扩展。那这个模型如何吸收新信息?默认通过向量库!因为作为语言模型,它们不直接理解 CSV、文本文档、图谱等,而是理解能指(词语)之间的语义关联 — 即它们之间的统计对应。向量模型正是如此:它们是空间中的排布,映射词 X 与词 Y 在语义上是否接近,以及它们如何与词 Z 关联。

Embedding 技术正是用在这种自然语言处理中:把词汇表中的词或短语映射为实数向量。这降低了类别数据的维度,是给原始数据添加结构的有效方法。得到的向量捕捉符号的语义上下文:语义相近的词,其嵌入向量在向量空间中也彼此接近;它们相互之间、与动词、形容词等的关系,也都映射在这个排布中。总结:每当你想给 LLM 添加新知识库,就需要把它转换成向量库。为此有开箱即用的库,比如 Pinecone。 Pinecone 正在赢得市场,巩固为这个领域的主要(甚至唯一)玩家,他们的宗旨是:"The Pinecone vector database makes it easy to build high-performance vector search applications. Developer-friendly, fully managed, and easily scalable without infrastructure hassles."

Pinecone 最终交付给你的,是一个基于你所并入数据、随时可查询的向量库。建好向量库之后,把它接到 GPT 模型上非常简单 — 三四行代码,用 OpenAI、Pinecone 和本博客介绍过的 LangChain 的现成库。正是这个中介把你的向量库「添加」到 LLM 上,创建出定制应用。这篇文章提供了基础代码,你可以在 Linux 终端里玩起来。Vade Mecum 聊天机器人 🥸 为了把概念讲得具体些,设想这样一个应用:一个让你与《Vade Mecum》— 巴西法律圣经 — 交互和理解它的聊天机器人。有了它,你不用再翻开《Vade Mecum》查找某个主题或法条,而是直接与这本书对话。疯狂吧?注意,这不同于搜索:在语义搜索里你可以问「有没有什么法律能帮我思考共管公寓的设立?请列出必读的判例」,语义搜索会为你组织一个精准的回答 — 这与「Ctrl-F」截然不同。就像有一个坐在书前的智能体,替你把日子变轻松。
要构建这个机器人,你可以这样做:从联邦参议院网站下载免费版《Vade Mecum》PDF,用网上的免费转换工具把它转成文本。安装 OpenAI、Pinecone 和 LangChain 的库,配好你的 OpenAI API 密钥,用 Pinecone 的简单方法把《Vade Mecum》文本转成向量库,再用 LangChain 把这一切连起来,暴露一个端点接上你的聊天机器人。喂,开发者们,一起赚钱吗?很遗憾我没有实操功力去做这个实验 — GPT 虽然帮我学了很多,但代替不了每个人的亲身经验。
企业场景下,想象一下与成百上千个孤立时产生不了任何洞察的数据库和仪表盘所生产的海量数据对话。
数据科学同理:科学家们埋头构建各种技术,试图实时抽取、操纵并总结网络上正在成形的趋势 — 而向量库可以承载这些分析前提,且易于扩展和更新。你可以创建实时吸收网络上传播的知识的应用,然后与它对话,让它生成事件简报。**我们与知识交互的方式将在未来数月和数年大幅改变:我们将拥有认知智能体作为盟友。**愿我们善加利用 — 不要因便利(它必有代价)而变得懒惰与麻木,继续分享这份知识,为互联网、企业和我们的应用更好地发展。回见。😎 **彩蛋:**有人试过 ChatGPT Plus 的 Noteable 插件吗?插件还在测试,但已经能仅凭提示词工程从原始数据生成相当全面的分析可视化。看看这个用例。
评论 (0)
- 还没有评论。来做第一个吧!















