网站建设需求问卷/百度精准营销获客平台

网站建设需求问卷,百度精准营销获客平台,wordpress bbpress,南通建筑人才网本文由 Leandro Martins 编写,最初发布于 Building an AI Assistant with Langflow and AstraDB: From Architecture to Integration with NocoBase。 引言 本文的目标是演示如何创建一个集成了 NocoBase、LangFlow 和 VectorDB 工具的 AI 助手。作为基础&#xf…

本文由 Leandro Martins 编写,最初发布于 Building an AI Assistant with Langflow and AstraDB: From Architecture to Integration with NocoBase。

引言

本文的目标是演示如何创建一个集成了 NocoBase、LangFlow 和 VectorDB 工具的 AI 助手。作为基础,我将使用自己在 NocoBase 中开发的系统,该系统用于管理架构数据,通过添加一个 AI 助手来生成来自该系统中数据的洞察,例如 应用、API 目录、解决方案设计和故事

在本文中,我们将使用以下技术:

  • NocoBase、PostgreSQL 和 Docker(本文中将展示如何安装它们)。
  • LangFlow,本地运行,可通过 Docker 安装(安装指南在此处)。
  • 向量数据库,通过注册 AstraDB 账户实现,本文将使用该数据库作为向量存储。

架构概览

Architecture Overview.png

此图展示了新数据(或更新数据)如何被转换为 嵌入(embeddings) 并存储到 向量数据库 中。

  1. 用户 → NocoBase 平台
    用户与 NocoBase 平台交互(例如在集合中添加或更新记录)。
  2. 触发 CRUD 操作
    NocoBase 中的 CRUD(增删改查)操作会触发事件或内部工作流。
  3. 工作流(NocoBase)
    NocoBase 配置了一个响应数据变更的工作流。当检测到记录创建或修改时,工作流启动下一步。
  4. API 流程:加载数据
    NocoBase 工作流调用 LangFlow 的 API 或外部服务,发送待转换为嵌入的数据。
  5. LangFlow — 数据转嵌入
    LangFlow 接收数据,并利用语言模型将内容转换为向量(嵌入)。这些嵌入以数值形式表示文本的语义或上下文,支持语义搜索。
  6. 向量数据库(AstraDB)
    嵌入随后存储到向量数据库(AstraDB)中,每个嵌入与原始内容(如文档、记录、文本)关联。

diagram.png

此图还展示了用户如何通过向量数据库进行语义查询并获取相关结果。

  1. 用户 → NocoBase 平台
    用户再次与 NocoBase 平台交互,但此次通过嵌入式聊天小部件(或其他搜索界面)。
  2. 嵌入式聊天小部件
    用户输入问题或指令。例如:“展示关于应用 X 的信息。” 小部件向 LangFlow 发送请求以处理查询。
  3. LangFlow — 数据转嵌入
    LangFlow 将用户指令转换为嵌入,以向量格式表示搜索意图。
  4. 向量数据库(AstraDB)— 相似性搜索
    使用指令的嵌入在 AstraDB 中搜索最相似的向量(即语义最接近的内容)。
  5. 在模型中精炼搜索结果
    根据 AstraDB 返回的结果,LangFlow 使用 OpenAI 模型(或其他 LLM)精炼搜索结果。
  6. 响应用户
    最终结果(文本、文档或生成的回答)返回至 NocoBase 聊天小部件,向用户展示响应。

使用 NocoBase 的应用

本文将沿用先前创建的应用。该应用旨在展示 NocoBase 的功能,并将在其中实现 AI 助手。下图展示了助手的工作方式。

目标是通过提问获取功能相关的洞察。可用功能包括:应用、API 目录、解决方案设计和故事。

Application Using NocoBase.webp

什么是 LangFlow 和 AstraDB?

LangFlow 是一款由巴西开发者创建的开源工具,提供图形化界面以构建、可视化和调试涉及语言模型的工作流。基于 LangChain 生态系统,LangFlow 简化了自然语言处理(NLP)流程和生成式 AI 应用的创建,允许开发者连接不同组件(如 API 调用、文本转换和业务逻辑),而无需大量编码。

LangFlow and AstraDB.pngAstraDB 最初是基于 Apache Cassandra 的分布式数据库服务,后扩展至支持非结构化数据存储和向量搜索。其向量数据库功能特别适用于机器学习应用、语义搜索、推荐系统和高维数据处理。

AstraDB.png

安装 LangFlow

通过 Docker 安装 LangFlow 只需运行以下命令,然后在 localhost:7860 访问系统:

docker run -it --rm -p 7860:7860 langflowai/langflow:latest

Installing LangFlow.png

配置 AstraDB

在 AstraDB 注册账户后,可按以下步骤配置数据库和集合:

  1. 选择 服务提供商
  2. 选择 区域
  3. 创建 数据库

Configuring AstraDB.png

由于集合存储向量化数据,需配置 Embedding 功能,即负责向量化的 LLM 模型。可选的嵌入模型包括 OpenAI、Nvidia 和 Google 的模型。本文使用 text-embedding-ada-002 进行数据转换。

Configuring AstraDB.png

向向量数据库加载数据

此步骤将待搜索数据输入向量数据库:

  1. LangFlow 工作流通过 URL 接收数据。
  2. 处理文本。
  3. 使用 text-embedding-ada-002 转换为向量。
  4. 存储至 AstraDB 的配置集合中。

Loading Data into the Vector Database.png

关键点

  • 需在数据库连接组件中定义 AstraDB Token。生成 Token 需在 AstraDB 集合页面点击 Generate Token

Important Points.png

  • 源文件可在此 仓库 找到。
  • 使用 OpenAI 模型需为其 API 添加额度,并生成 Token 以配置嵌入生成组件。具体流程参考 此文档。

通过 Postman 调用 LangFlow 的 API(通过 API > cURL 获取 URL)即可测试。下图展示 Postman 请求示例:

Important Points.png

通过模型执行搜索

此步骤负责从向量数据库检索数据,并通过 RAG(检索增强生成) 精炼结果。

Conducting Research Using a Model.png

此阶段同样需在组件中定义 OpenAI 和 AstraDB 的 Token。源文件可在此 仓库 找到。

测试时可通过 LangFlow 的 Playground 标签页使用内置聊天功能。

在 NocoBase 中配置工作流

此步骤将在应用中创建触发器,以发送需向量化的数据。即每当插入新数据时,数据将被发送至 LangFlow API 处理。

使用 NocoBase 的 工作流 功能实现此目标。工作流详情参考 此文档。

Configuring Workflow in NocoBase.png

我们将创建一个工作流,将应用集合的数据发送至向量化集合。

步骤:

  1. 创建新工作流,选择 集合事件
    Configuring Workflow in NocoBase.png
  2. 触发器 定义为 应用 集合的插入操作。
    Configuring Workflow in NocoBase.png
  3. 创建 请求节点 以发送应用的向量化数据。本文以 标题描述 为例,实际可根据业务规则发送任意信息。
    Configuring Workflow in NocoBase.png
  4. 通知步骤 为可选,无需执行。

在 NocoBase 中添加聊天小部件

首先,从 LangFlow 的 API 选项中复制聊天小部件代码,如下图所示:

Adding the Chat Widget in NocoBase.png

第二步,创建页面并添加 iframe 组件。组件详情参考 此文档。

配置:

  • 模式: HTML
  • HTML: 以下代码,替换 flow_idhost_url 为 LangFlow 的值。

Adding the Chat Widget in NocoBase.png

测试聊天功能

返回创建的菜单,测试助手并查看响应,示例如下:

Testing the Chat.png

结论

本文演示了如何创建集成 NocoBase、LangFlow 和 AstraDB 的 AI 助手,实现了数据向量化和智能检索。通过此架构,我们能够生成基于注册数据的洞察,并利用 RAG 技术优化搜索结果。

这仅是架构潜力的开端。通过小幅调整,可扩展功能、集成新 AI 模型并提升用户体验。🚀

相关阅读:

  • 如何在 NocoBase 中开发插件发送 WhatsApp 消息?
  • 简化的架构治理:使用 NocoBase 构建应用程序目录
  • 如何备份和还原 NocoBase
  • 如何使用 NocoBase 构建应用程序?
  • 如何上传 Docker 镜像到内网服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/71868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.聊天室环境安装 - Ubuntu22.04 - elasticsearch(es)的安装和使用

目录 介绍安装安装kibana安装ES客户端使用 介绍 Elasticsearch, 简称 ES,它是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,res…

SSL VXN

SSL VPN是采用SSL(Security Socket Layer)/TLS(Transport Layer Security)协议来实现远程接入的一种轻量级VPN技术,其基于B/S架构,免于安装客户端,相较与IPSEC有更高的灵活度和管理性,当隧道建立…

通义万相2.1开源版本地化部署攻略,生成视频再填利器

2025 年 2 月 25 日晚上 11:00 通义万相 2.1 开源发布,前两周太忙没空搞它,这个周末,也来本地化部署一个,体验生成效果如何,总的来说,它在国内文生视频、图生视频的行列处于领先位置&#xff0c…

Linux——system V共享内存

共享内存区是最快的IPC(进程内通信)形式,不再通过执行进入内核的系统调用来传递彼此的数据 1.共享内存的原理 IPC通信的本质是让不同的进程先看到同一份资源,然后再进行通信,所以想要通过共享内存进行通信,那么第一步一定是让两个…

01 SQl注入基础步骤(数字、字符、布尔盲注、报错)

目录 1、SQL注入漏洞的概要 2、SQL注入的常规思路 3、数字型注入 4、字符型注入 5、布尔盲注 6、报错注入 1、SQL注入漏洞的概要 原理:通过用户输入的数据未严格过滤,将恶意SQL语句拼接到原始查询中,从而操控数据库执行非预期操作。 …

在本地部署DeepSeek等大模型时,需警惕的潜在安全风险

在本地部署DeepSeek等大模型时,尽管数据存储在本地环境(而非云端),但仍需警惕以下潜在安全风险: 1. 模型与数据存储风险 未加密的存储介质:若训练数据、模型权重或日志以明文形式存储,可能被物…

【javaEE】多线程(进阶)

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…

Java在小米SU7 Ultra汽车中的技术赋能

目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…

Vue开发中计算属性与方法调用之间的区别与联系

文章目录 一 概述二 核心区别三 联系四 使用原则 一 概述 在 Vue 中,计算属性(computed) 和 方法(methods) 都可以用于处理数据逻辑,但它们的核心区别在于 缓存机制 和 触发方式 。 计算属性示例&#xf…

【Unity】 HTFramework框架(六十一)Project窗口文件夹锁定器

更新日期:2025年3月7日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 Project窗口文件夹锁定器框架文件夹锁定自定义文件夹锁定限制条件 Project窗口文件夹锁定器 在Project窗口中,文件夹锁定器能够为任何文件夹加…

【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀软件开发必练内功_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

基于编译器特性浅析C++程序性能优化

最近在恶补计算机基础知识,学到CSAPP第五章的内容,在这里总结并且展开一下C程序性能优化相关的内容。 衡量程序性能的方式 一般而言,程序的性能可以用CPE(Cycles Per Element)来衡量,其指的是处理每个元素…

transformer模型介绍——大语言模型 LLMBook 学习(二)

1. transformer模型 1.1 注意力机制 **注意力机制(Attention Mechanism)**在人工智能中的应用,实际上是对人类认知系统中的注意力机制的一种模拟。它主要模仿了人类在处理信息时的选择性注意(Selective Attention)&a…

Dify 本地部署教程

目录 一、下载安装包 二、修改配置 三、启动容器 四、访问 Dify 五、总结 本篇文章主要记录 Dify 本地部署过程,有问题欢迎交流~ 一、下载安装包 从 Github 仓库下载最新稳定版软件包,点击下载~,当然也可以克隆仓库或者从仓库里直接下载zip源码包。 目前最新版本是V…

2.1 掌握XML基础知识

本文介绍了结构化、半结构化和非结构化数据的概念与特点。结构化数据以固定格式存储于数据库,便于查询与管理,常用于金融等领域。半结构化数据如XML、JSON,具有一定的组织形式但模式不固定,适用于Web内容和日志文件。非结构化数据…

Android Studio 配置国内镜像源

Android Studio版本号:2022.1.1 Patch 2 1、配置gradle国内镜像,用腾讯云 镜像源地址:https\://mirrors.cloud.tencent.com/gradle 2、配置Android SDK国内镜像 地址:Index of /AndroidSDK/

超过 37000 台 VMwareESXi 服务器可能受到持续攻击威胁

近日,威胁监测平台影子服务器基金会(The Shadowserver Foundation)发布报告,指出超 3.7 万个互联网暴露的威睿(VMware)ESXi 实例存在严重安全隐患,极易受到 CVE-2025-22224 漏洞的攻击。该漏洞属…

npm终端执行时报错

终端npm执行时报错下错误: 报错了,就来百度,报错的原因是 1、这个错误是因为 PowerShell 的执行策略(Execution Policy)限制了脚本的运行 2、默认情况下,Windows 系统可能会禁止运行未签名的脚本&#x…

JVM类加载器面试题及原理

JVM只会运行二进制文件,类加载器的作用就是将字节码文件加载到JVM中,从而让Java程序能够启动起来。 1. 类加载器的种类 启动类加载器(BootStrap ClassLoader):加载JAVA_HOME/jre/lib目录下的库扩展类加载器&#xff…

C语言每日一练——day_3(快速上手C语言)

引言 针对初学者,每日练习几个题,快速上手C语言。第三天。(会连续更新) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…