使用 MyScaleDB 和 BentoML 构建基于开源云托管 LLM 的 RAG 应用程序

低门槛、高性价比:MyScaleDB 与 Dify 联手打造全新 AI 应用开发组合 Dify 的最新版本中已经集成了 SQL 向量数据库 MyScaleDB,并支持向量检索、全文检索和混合检索。现在,开发者不仅能利用 MyScaleDB 强大的 SQL 能力与向量搜索功能,还能通过 Dify 的直观界面轻松编排和调试 prompt,快速创建智能客服、文本生成等多种 AI 应用。 阅读详情

检索增强生成(RAG)经常用于开发定制的人工智能应用程序,包括聊天机器人、推荐系统和其他个性化工具。该系统利用向量数据库和大型语言模型(LLMs)的优势提供高质量的结果。

选择适合任何RAG模型的LLM非常重要,需要考虑成本、隐私问题和可扩展性等因素。商业LLMs如OpenAI的GPT-4和Google的Gemini非常有效,但可能价格昂贵并引发数据隐私问题。一些用户更喜欢开源LLMs,因为它们具有灵活性和成本节省的优势,但它们需要大量资源进行微调和部署,包括GPU和专用基础设施。此外,使用本地设置管理模型更新和可扩展性可能具有挑战性。

更好的解决方案是选择一个开源LLM并将其部署在云上。这种方法提供了必要的计算能力和可扩展性,而无需承担本地托管的高成本和复杂性。它不仅节省了初始基础设施成本,还减少了维护方面的担忧。

让我们探索一种类似的方法,使用云托管的开源LLMs和可扩展的向量数据库来开发一个应用程序。

工具和技术

开发这个基于RAG的人工智能应用程序需要几个工具,包括:

  • BentoML:BentoML是一个开源平台,简化了将机器学习模型部署为生产就绪API的过程,确保可扩展性和易管理性。
  • LangChain:LangChain是一个使用LLMs构建应用程序的框架。它提供了易于集成和定制的模块化组件。
  • MyScaleDB:MyScaleDB是一个高性能、可扩展的数据库,针对高效的数据检索和存储进行了优化,支持高级查询功能。

在本教程中,我们将使用LangChain的WikipediaLoader模块从维基百科提取数据,并在此数据上构建一个LLM。

注意:您可以在MyScale示例存储库上找到完整的Python笔记本。

准备工作

设置环境

通过打开终端并输入以下命令,开始设置您的环境以在系统中使用BentoML、MyScaleDB和LangChain:

pip install bentoml langchain clickhouse-connect

执行这条命令会在您的系统中安装这三个软件包。安装完成后,您就可以编写代码并开发RAG应用程序了。

加载数据

首先,从langchain_community.document_loaders.wikipedia模块中导入WikipediaLoader。您将使用这个加载器来获取与"阿尔伯特·爱因斯坦"相关的维基百科文档。

from langchain_community.document_loaders.wikipedia import WikipediaLoader
loader = WikipediaLoader(query="Albert Einstein")

# 加载文档
docs = loader.load()

# 显示第一个文档的内容
print(docs[0].page_content)

这里使用load方法来检索“阿尔伯特·爱因斯坦”文档,并使用print方法打印第一个文档的内容以验证加载的数据。

将文本拆分为块

从langchain_text_splitters导入CharacterTextSplitter,将所有页面的内容连接成一个字符串,然后将文本拆分为可管理的块。

from langchain_text_splitters import CharacterTextSplitter
# 将文本拆分为块
text = ' '.join([page.page_content.replace('\\t', ' ') for page in docs])
text_splitter = CharacterTextSplitter(
   separator="\\n",
   chunk_size=400,
   chunk_overlap=100,
   length_function=len,
   is_separator_regex=False,
)
texts = text_splitter.create_documents([text])
splits 
集成向量数据库对比:MyScale vs. PostgreSQL & OpenSearch MyScale 是一个提供完整 SQL 支持的集成向量数据库,PostgreSQL 和 OpenSearch 最近都添加了向量相似性搜索功能的传统数据库。本文将对 MyScale 、PostgreSQL 和 OpenSearch 进行比较。 阅读详情

相关推荐

MyScale vs. Elasticsearch:高效升级和替代方案

在本文中,我们展示了MyScaleDB在全文搜索性能方面与Elasticsearch不相上下,同时实现了更低的延迟和40%的内存利用率。此外,当结合向量搜索时,MyScale的性能提高了10倍,而成本仅为原来的12%。凭借其高性能、低成本以及基于ClickHouse的丰富SQL生态系统,MyScaleDB成为Elasticsearch的高效和强大的升级和替代方案。

MyScale_VectorDB的博客 1747

MyScale vs. Pinecone:大规模数据管理的最佳选择

Pinecone 和是当前市场中最为流行的向量数据库产品之一,而 MyScale 作为 SQL 向量数据库的代表,具有独特的优势包括完全兼容 SQL、支持多种数据类型在同一的数据库中存储与管理以及性价比高等。本文将全面比较 Pinecone 与 MyScale,帮助用户选择合适的数据库管理大规模企业数据。

MyScale_VectorDB的博客 1393

如何在向量数据库中运行复杂的 SQL 查询进行向量搜索

向量搜索是在基于向量表示的数据集中寻找相似向量或数据点的方法。结构化查询语言(SQL)是管理关系数据库的有效工具。基于 ClickHouse 构建的 MyScaleDB将SQL与向量的强大功能结合起来,以处理AI相关的复杂问题。用户可以在结构化数据和向量嵌入(数据)上执行传统的SQL和向量查询,以统一且高效的方式解决复杂的查询和分析高维数据。下面,我们首先讨论一些最流行的高级SQL技术。

MyScale_VectorDB的博客 1715

【人工智能】Dify在最新的开源版本中内置的向量数据库是MyScaleDB,同时,Dify也支持其他向量数据库,如FAISS、Weaviate、Milvus等

Dify开源版本默认集成MyScaleDB作为向量数据库,这是一个基于ClickHouse构建的高性能SQL向量数据库,支持混合查询和分布式架构。同时,Dify也兼容其他向量数据库如Milvus,通过配置环境变量即可实现集成。使用Milvus时需注意版本兼容性、网络连接和向量维度匹配等要求,并可通过索引优化和参数调整提升检索性能。Dify的架构设计支持多种向量数据库的灵活选择,满足不同规模和应用场景的需求。

奶爸的编程之路,也就一周冷个三天 1087

NMOS管和PMOS管做开关控制电路

NMOS管和PMOS管做开关控制电路

while(1) 3万+

多模态RAG实战:为LLM装上视觉之眼,实现图文混合文档智能问答

检索增强生成(RAG)技术通过结合外部知识库,有效缓解了大语言模型(LLM)的幻觉问题,并扩展了其知识边界。其核心原理是将文档切分、向量化后存入向量数据库,在问答时通过语义检索召回相关上下文,辅助LLM生成更精准的答案。这项技术的核心价值在于,它为大模型应用提供了一种低成本、高效率的知识注入与实时更新方案,广泛应用于智能客服、知识库问答、文档分析等场景。随着应用深入,纯文本RAG在处理产品手册、学术论文、设计图纸等富含视觉信息的文档时面临瓶颈。本文聚焦的**多模态RAG**和**视觉理解**技术,正是为了解

weixin_30698527的博客 722

自动驾驶系统架构解析:从传感器到决策控制的完整链路(附实际案例)

本文深入解析了自动驾驶系统从感知、决策到控制的完整架构链路。通过对比摄像头、毫米波雷达、激光雷达等核心传感器的特性与选型策略,阐述了多传感器融合的必要性。文章结合行为决策、运动规划及控制执行的实际案例,揭示了系统集成、数据闭环与功能安全等工程化落地的关键挑战,为理解自动驾驶技术提供了清晰的蓝图。

weixin_29051811的博客 339

永不消逝的电波 -GSM空口信号的接收与解码

一开始接触软件无线电应该是从很早之前对RFID洗衣卡的解密开始的,后来接触人员定位,慢慢的打开了这样一扇大门。。。。 翻到之前做的GSM信号的接收解码,今天就对其过程做一个记录,也不是什么新颖的内容,权当是记录和回忆了。 对于GSM网络的相关内容,不是非常的熟悉,如有不正确的,欢迎批评指正。

Jack.Xu 专栏 1万+

小龙虾 OpenClaw 安装全攻略:本地部署 AI 智能体一步到位

OpenClaw(昵称小龙虾)是一款 MIT 开源协议的本地优先 AI 智能体执行网关,支持多平台接入、本地部署,能实现自然语言驱动的设备自动化操作,区别于纯对话 AI,可直接操控系统执行实际任务,数据全程本地存储更安全。本文带来 2026 最新版 OpenClaw 安装教程,适配 Windows/macOS/Linux 全系统,新手也能一键搞定。

lujiawei00的专栏 1974

【人工智能】Claude Code 安装、配置及问题排查完整指南

建议使用IDE来启动 Claude,执行后,内容如下。(确保环境可正常运行 npm 命令)。

奶爸的编程之路,也就一周冷个三天 1207

华为OD机考双机位C卷 - 两个字符串间的最短路径(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 两个字符串间的最短路径(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 835

YOLOv11改进策略【卷积层】| arXiv 2025 YOLO-Master中的稀疏混合专家ES-MoE 动态路由提适配 + 稀疏激活降延迟,突破精度-效率权衡

ES-MoE(Efficient Sparse Mixture-of-Experts)是为解决传统YOLO类实时目标检测器的静态计算冗余问题而提出的稀疏混合专家模块。现有YOLO架构对所有输入场景采用统一的密集计算模式,导致简单场景资源浪费、复杂场景(如密集小目标、遮挡场景)计算不足,难以平衡检测精度与推理速度。ES-MoE引入实例条件自适应计算,通过动态路由机制为不同复杂度的输入分配差异化计算资源,突破传统静态架构的精度-效率权衡限制,同时适配实时检测的轻量化需求。

Limiiiing的博客 463

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 低门槛、高性价比:MyScaleDB 与 Dify 联手打造全新 AI 应用开发组合
下一篇: MyScale vs. Pinecone:大规模数据管理的最佳选择
「已注销」
博客等级 码龄3年 186粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值