生成式人工智能对软件开发产生了直接而巨大的影响。软件开发人员已经接受了帮助编码的生成性人工智能工具,他们正在狂热地自己构建生成性人工智能应用程序。数据库可以提供帮助,特别是像SingleStore这样快速、可扩展的多模型数据库。
在首届SingleStore Now会议上,SingleStore宣布了几项以人工智能为重点的创新,并考虑到了开发人员。这些包括SingleStore混合搜索、计算服务、笔记本和Elegance SDK。鉴于人工智能和法学硕士对开发人员的影响,深入研究这些创新使开发人工智能应用程序更容易的方式是有意义的。
单一商店混合搜索
如果您一直在以任何方式使用AI或LLM,您知道矢量数据库已经变得更受欢迎,因为它们能够帮助您搜索与您正在处理的数据最近的n表示形式。然后,您可以使用这些搜索结果为您的LLM提供额外的上下文,使回复更加准确。SingleStoreDB支持矢量函数和矢量搜索已经很多年了,但生成的人工智能应用程序要求您在毫秒内搜索数百万或数十亿个矢量嵌入——这很难在巨大的数据集中使用k-Nearest Neighbor(kNN)。
混合搜索将近似近邻(ANN)搜索添加为现有k-近邻(kNN)搜索的附加选项。ANN和kNN的主要区别在于名称:近似与最近。初始测试显示,ANN的矢量搜索速度要快几个数量级,将您的AI用例从快速到实时。实时矢量搜索可确保您的应用程序立即响应查询,即使该数据刚刚写入数据库。
混合搜索使用多种技术来提高搜索功能的性能,即带有产品量化(PQ)的倒置文件(IVF)。使用带有PQ的体外受精,您可以降低索引的构建时间,同时提高矢量搜索的压缩比和内存足迹。除了带有PQ的体外受精外,混合搜索还增加了分层可导航小世界(HNSW)方法,允许使用高维度进行高性能矢量索引搜索。
通过混合搜索,您可以将所有这些新的索引方法与全文搜索相结合,在一个查询中结合混合语义(矢量相似性)和词汇/关键字搜索。
下面你可以看到一个使用混合搜索的示例。要在更广泛的上下文中查看代码,请在SingleStore Spaces上查看完整的笔记本。
hyb_query = '关于澳大利亚捕获的文章'hyb_embedding = model.encode(hyb_query)#创建SQL语句。hyb_statement = sa.text('''选择标题,描述,流派,DOT_PRODUCT(嵌入,:嵌入)作为语义分数,MATCH(title, description) AGAINST (:query) AS keyword_score,(semantic_score + keyword_score)/ 2 AS combined_score来自news.news_articlesORDER BY combined_score DESC限制10''')#执行SQL语句。hyb_results = pd.DataFrame(conn.execute(hyb_statement, dict(embedding=hyb_embedding, query=hyb_query)))hyb_结果
上述查询查找语义和关键字搜索的平均分数,将它们结合起来,并按此计算分数对新闻文章进行排序。通过消除单独执行词汇/关键字和语义搜索的额外复杂性,混合搜索简化了应用程序的代码。
SingleStore对这些新索引策略的实施也使我们能够在新策略可用时快速合并它们,确保您的应用程序在得到SingleStoreDB的支持下始终发挥效果。
单店计算服务
当您处理非常大的数据集时,您可以做的最好的事情之一就是尽可能接近数据进行计算工作。SingleStore计算服务使您能够将计算资源(CPU和GPU)部署到AI、机器学习或ETL(提取、转换、加载)工作负载以及数据。通过计算服务,SingleStore客户可以使用这些新的计算资源来运行自己的机器学习模型或其他软件,从而使他们能够拥有企业数据的完整上下文,而不必担心出口性能和成本。
将计算服务与作业服务(私人预览)耦合,您可以从SingleStore Notebooks中安排SQL和Python作业,以处理其数据,训练或微调机器学习模型,或进行其他复杂的数据转换工作。如果您的公司经常更新您的人工智能模型或LLM的微调,您现在可以使用位于您数据旁边的优化计算平台以计划的方式进行更新。
单店笔记本
许多工程师和数据科学家对使用Jupyter笔记本、托管、交互式、可共享的文档感到自在,您可以在其中编写和执行代码块,穿插文档,并可视化数据。Jupyter环境中经常缺少的是与数据库和SQL功能的本机连接。
随着SingleStore笔记本普遍可用的公告,SingleStore使您可以轻松实时探索、可视化并与数据和同行协作。开始使用SingleStore笔记本非常简单:
开始您的免费SingleStoreDB云试用
完成入职流程
部署一个工作空间
在左侧的导航窗格中,您将看到笔记本。单击笔记本旁边的加号并填写详细信息。如果您打算与同事共享此笔记本,请确保在“位置”下选择“共享”。将默认单元格语言设置为您将主要在笔记本中使用的语言,然后单击创建。
单店笔记本" style="color: rgb(239, 76, 35); text-decoration: none; position: relative; display: block; overflow: hidden; max-width: 620px;" _href="https://images.idgesg.net/images/article/2024/01/singlestore-notebooks-100957203-orig.jpg?auto=webp&quality=85,70">
注意:如果您想查看笔记本的外观,您也可以选择其中一个模板或从图库中进行选择。
举一个方便的例子,我从画廊中导入了一个名为“在SingleStoreDB中开始使用DataFrames”的笔记本。本笔记本将引导您完成使用pandasDataFrames的过程,以更好地利用SingleStoreDB的分布式性质。
单存储数据帧" style="color: rgb(239, 76, 35); text-decoration: none; position: relative; display: block; overflow: hidden; max-width: 620px;" _href="https://images.idgesg.net/images/article/2024/01/singlestore-dataframes-100957204-orig.jpg?auto=webp&quality=85,70">
当您选择笔记本顶部的工作区和数据库时,它将更新connection_url变量,以便您可以快速轻松地连接和处理您的数据。
在这个笔记本中,我们使用一个简单的命令,conn = ibis.singlestoredb.connect()来创建与数据库的连接。不再担心将连接字符串放在一起,从使用数据原型的复杂过程中再删除一件事。
单存储数据帧02" style="color: rgb(239, 76, 35); text-decoration: none; position: relative; display: block; overflow: hidden; max-width: 620px;" _href="https://images.idgesg.net/images/article/2024/01/singlestore-dataframes-02-100957205-orig.jpg?auto=webp&quality=85,70">
IDG
在笔记本中,您只需选择每个单元格旁边的播放按钮即可运行该代码块。在上面的屏幕截图中,我们正在导入ibis和pandas套餐。
SingleStore Notebooks是一个非常强大的平台,允许您创建应用程序原型,执行数据分析,并快速重复您可能需要使用居住在SingleStoreDB内的数据执行的任务。这种快速原型是了解如何在业务中实现人工智能、法学硕士或其他大数据方法的一种非常有效的方法。
请务必查看SingleStore Spaces,查看大量笔记本电脑样本,这些笔记本展示了从图像匹配到构建在您自己的数据上使用检索增强生成(RAG)的LLM应用程序。
单店优雅
SingleStore Elegance是一个NPM软件包,旨在帮助React开发人员使用SingleStore Kai或MySQL连接到数据库,在SingleStoreDB上快速构建应用程序。随着Elegance的发布,现在是开发由SingleStoreDB支持的人工智能应用程序的时机。
Elegance提供了一个强大的SDK,涵盖了许多功能:
矢量搜索
聊天完成
从CSV或PDF嵌入和生成文件
SQL和聚合查询
SQL和Kai数据库连接支持
现成的Node.js控制器和React钩子
开始使用演示应用程序就像遵循几个简单的步骤一样简单:
克隆此存储库:
git clone https://github.com/singlestore-labs/elegance-sdk-app-books-chat.git
注册SingleStoreDB。
创建一个数据库:books_chat_mysql。
根据存储库中的.env.sample文件创建一个更新的.env文件。
安装依赖项:
npm i
启动应用程序:
sh ./scripts/start.sh
打开您的网页浏览器:http://localhost:3000。
如果您更喜欢从头开始,自己构建一些东西,您可以开始简单的npm install @singlestore/elegance-sdk,并按照npmjs.com上我们软件包页面的步骤操作。
实时,现在
随着人工智能和法学硕士的主流化,商业格局正在迅速变化,导致几乎每个人都在评估他们是否应该实施某种形式的人工智能。许多公司已经在组装POC。这些版本表明,SingleStore100%专注于构建实时分析和人工智能数据库,为您提供快速高效地构建应用程序所需的工具——让您的人工智能和LLM项目更快地上市。
这总结了SingleStore Now出现的人工智能创新。
Wes Kennedy是SingleStore的首席布道者,他在那里创建内容、演示环境和视频,并深入研究我们在哪里与客户见面的方式。他拥有多样化的技术背景,涵盖从虚拟化工程师、销售工程师到技术营销。