译者 | 朱先忠
审校 | 重楼
近年来,随着诸如ChatGPT、Bard等生成式人工智能工具的发布,大型语言模型(LLM)在机器学习社区引起了全球热议。这些解决方案背后的核心思想之一是计算非结构化数据(如文本和图像)的数字表示,并找出这些表示之间的相似之处。
然而,将所有这些概念应用到生产环境中存在其自身的一系列机器学习工程挑战:
- 如何快速生成这些表示?
- 如何将它们存储在适当的数据库中?
- 如何快速计算生产环境的相似性?在这篇文章中,我将介绍两种开源解决方案,目的是解决下面这些问题:
- 句子变换器(https://www.sbert.net/;参考引文1):一种基于文本信息的嵌入生成技术;
- Qdrant(https://qdrant.tech/):一种能够存储嵌入并提供简单的查询接口的向量数据库。这两个工具都将应用于开发本文中的新闻门户推荐系统(参考引文2)。NPR(News Portal Recommendation),即新闻门户推荐数据集(在Kaggle网络公开免费使用:https://www.kaggle.com/datasets/joelpl/news-portal-recommendations-npr-by-globo),旨在支持学术界开发推荐算法。在本文的最后,您将学会:
- 使用句子转换器生成新闻嵌入
- 使用Qdrant数据库存储嵌入
- 查询嵌入以推荐新闻文章需要说明的是,本文的所有代码您都可以在Github网站上获得。
1.使用句子转换器生成嵌入
首先,我们需要找到一种将输入数据转换为向量的方法,我们称之为嵌入(如果你想深入了解嵌入概念,我推荐您阅读一下Boykis的文章《什么是嵌入?》,参考引文3:https://vickiboykis.com/what_are_embeddings/about.html)。
因此,首先让我们来看看我们可以使用NPR数据集处理什么样的数据:
import pandas as pd
df = pd.read_parquet("articles.parquet")
df.tail()
分享说明:转发分享请注明出处。