这篇文章是由康奈尔大学的硕士生撰写的。他们在微软 Azure SQL 数据库产品团队的指导下完成了一个为期一学期的项目,创建了一个完整的端到端 AI 应用程序。在这篇文章中,他们分享了这个项目和学习成果。谢谢大家,看到这个项目从头开始创建真是太棒了!
项目使命
在数字时代,人们的工作和管理信息的方式正在迅速改变。越来越多的人难以跟踪他们每天使用的所有在线资源。他们需要一种更好的方式来保存、组织和检索来自网站、文章和其他在线资源的重要信息。对于知识工作者、研究人员和学生来说尤其如此,因为他们经常需要快速访问和综合来自许多不同地方的信息。
项目目标
我们项目的主要目标是开发My Smart Memory,这是一款全栈 Web 应用程序,它使用户能够将 URL 保存在个人云存储中,并通过由检索增强生成 (RAG) 提供支持的聊天机器人快速检索相关信息。该应用程序超越了简单的书签功能,允许用户通过 URL 注册、创建帐户和保存内容,而内置聊天机器人则搜索已保存的网站内容,以根据存储的信息回答问题。这种创新的解决方案满足了高效信息管理的需求,使忙碌的专业人士能够快速回忆特定事实或综合来自多个来源的信息,从而节省时间和精力。
这篇博文概述了开发My Smart Memory应用程 所有者/合伙人/股东电子邮件列表 序所采用的技术方法。它重点介绍了所采用的架构设计和实施策略。虽然这篇文章提供了全面的概述,但它并不是从头开始构建应用程序的分步教程。对于那些对动手实验感兴趣的人,完整的源代码可以在相关的GitHub 存储库中找到。我们鼓励您探索代码,尝试构建应用程序,并分享您的经验和反馈。
在这篇文章中,我们将讨论构建强大的基于 RAG 的应用程序的过程,该应用程序简化了保存 Web 内容的过程并将其转换为可查询的资源,以帮助用户节省时间并提高生产力。
Microsoft Azure:使用Microsoft 的 Azure for Students注册一个免费的 Azure 帐户,该帐户提供 100 美元的免费信用额度用于测试云资源。确保您可以通过此订阅访问项目的 Azure SQL 数据库。
Node.js 和 Express:下载并安装Node.js以启用 JavaScript 运行时,用于服务器端开发以及客户端 React.js 项目。使用npm安装Express,这是一个用于构建 API 和 Web 服务器的 Web 应用程序框架。
数据库工具:安装数据库客户端(如Azure Data Studio)以查询和管理 Azure SQL 数据库。
前端开发
对于前端开发,我们选择 React 作为开发框架,因为它基于组件的架构,可促进代码的可重用性和可维护性。React 还提供了丰富的库和工具生态系统,可简化开发过程,同时其灵活性允许与其他技术无缝集成,使其成为构建动态且可扩展的 Web 应用程序的理想选择。
设置
设计 UI 原型:在深入开发界面之前,我们首先在Figma中创建了不同页面的中保真原型。在整个开发过程中,设计经历了多次迭代,我们收集了反馈并测试了不同的布局以改善用户体验。
初始化 React 项目:在终端窗口上,我们使用以下命令创建 React 项目
复制
npx 创建-反应-应用程序我的-反应-应用程序
设置完成后,我们使用以下命令在 localhost 的 3000 端口启动开发服务器,
复制
npm 启动
执行
组件开发:我们根据 UI 设计构建了可重复使用的 React 组件,包括导航栏、按钮、表单和内容显示部分。开发完成后,这些组件将使用统一的设计整合到不同的页面中。
注册验证和 URL 验证:根据标准网页设计实践和项目要求,我们实施了可靠的注册验证流程,检查用户的电子邮件格式是否有效以及密码是否符合安全要求。此外,我们还实施了 URL 验证流程,以确保粘贴的 URL 格式正确,例
使用 Redux 进行状态管理:我们使用 Redux 实现全局状态和主题切换功能。我们实现了 toggleTheme 函数来处理主题切换,从而增强了用户体验和灵活性。
Markdown 渲染:为了改善内容显示,我们使用 React Markdown 以 Markdown 格式渲染用户输入和系统响应。
Fetch API:我们选择使用 Fetch API 来处理前端和后端通信。Fetch API 支持异步操作并有助于实现顺畅的数据同步,是构建响应迅速且用户友好的 Web 应用程序的理想选择。
使用 Azure SQL 数据库构建基于 RAG 的智能内存应用程序
-
- Posts: 802
- Joined: Thu Jan 02, 2025 7:14 am