> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 打造自己的AI个人学习助手
- URL: https://www.hubwiz.com/blog/build-your-own-ai-learning-assistant/
- Published: 2025-04-20T08:22:17.000Z
- Updated: 2025-04-20T08:22:17.000Z
- Description: 目标是创建一个AI导师，旨在促进自学。该平台允许用户上传他们的学习材料，然后处理这些材料以生成简洁的摘要。
- Author: admin
- Tags: APPLICATION, AGENT, #Import 2026-10-14 14:41

我最近订阅了[ByteByteGo](https://bytebytego.com/?ref=hubwiz.com)的新闻通讯，以了解更多关于软件架构设计和编程的知识。在其中一封通讯中，他们讨论了一个**开源AI技术栈**（详见下文）。

该技术栈简化了每一层的需求，并提供了多个关键组件的例子。这些包括前端、嵌入式和检索增强生成（RAG）库、后端、模型访问、数据存储和检索，以及最后的开源大型语言模型（LLMs）本身。

为了挑战自己并获得AI技术栈的实际经验，我决定设计并构建自己的AI项目。我对AI的了解仅限于在线阅读和使用工具如Cursor和GitHub Copilot，因此这个项目将是一个机会，通过创建一个核心包含AI的完全功能系统来加深对AI的理解。

我在Google Cloud Platform（GCP）上构建系统的经验非常丰富，但作为技能测试的一部分，我计划使用Amazon Web Services（AWS）来托管这个系统。我打算利用无服务器函数、计算服务和数据库存储等组件。在前端方面，我的经验有限——仅限于大学项目中使用Python的Django框架和基本的HTML/CSS/JavaScript。尽管如此，我还是很兴奋地探索我能创造出什么，或许可以得到我忠实的编程伙伴的帮助……当然就是ChatGPT了。

学习的最佳方式之一是通过构建。带着这种理念，这里是我的项目想法、我将使用的科技栈以及实现它的计划。

## 1、项目构想：AI自学导师

该项目的目标是创建一个AI导师，旨在促进自学。该平台允许用户上传他们的学习材料，然后处理这些材料以生成简洁的摘要。这些摘要将以简单易用的仪表板形式呈现。此外，该平台还将提供问答风格的小测验，以加强用户对材料的理解并提升学习体验。

为了扩展项目，超越最初的最小可行产品（MVP），我设想添加以下功能：

- 跟踪小测验进度和结果分数随时间的变化。
- 引入游戏化元素，如成就和连胜，以激励持续学习。

## 2、核心成功指标

以下指标将定义项目的成功：

1. **高效的材料总结**：用户可以上传学习材料并在几秒钟内收到准确的摘要。
2. **实时响应**：用户可以就材料提问并立即获得相关答案。
3. **准确的信息检索**：系统可靠地检索并提供上下文相关的精确信息，利用嵌入式实现精准结果。

## 3、核心技术栈

![](https://www.hubwiz.com/blog/content/images/2025/04/image-331.png)

初始架构由LucidChart创建

**LLM**：使用开源LLM回答问题、创建测验并提供文本摘要。通过[HuggingFace](https://huggingface.co/?ref=hubwiz.com)，我可以利用预训练的摘要和问题生成模型。

**向量数据库**：使用[AWS RDS](https://aws.amazon.com/rds/?ref=hubwiz.com)和[pgvector](https://github.com/pgvector/pgvector?ref=hubwiz.com)存储和检索学习材料嵌入。RDS还将用于存储账户信息、问答信息和文本摘要。

**前端**：交互式学习界面将使用[Next.js](https://nextjs.org/?ref=hubwiz.com)构建，并通过[AWS S3](https://aws.amazon.com/pm/serv-s3/?ref=hubwiz.com)和[AWS CloudFront](https://aws.amazon.com/cloudfront/?ref=hubwiz.com)托管。网站将允许用户上传新资料，提供一个仪表板查看您的摘要，并通过AI生成的学习测验跟踪您的进度。

**GraphQL**：使用[AWS AppSync](https://aws.amazon.com/appsync/?ref=hubwiz.com)托管的[GraphQL](https://graphql.org/?ref=hubwiz.com)管理内容创建和从后端检索。

**对象存储**：结合[AWS S3](https://aws.amazon.com/pm/serv-s3/?ref=hubwiz.com)和[AWS Lambda](https://aws.amazon.com/pm/lambda/?ref=hubwiz.com)用于存储和处理用户资料，并在[AWS RDS](https://aws.amazon.com/rds/?ref=hubwiz.com)中存储解析后的嵌入。

## 4、计划

以下是构建项目各部分的计划：

### 4.1 后端：核心AI逻辑

**目标**：实现使用开源LLM在AWS上托管的AI驱动的摘要和问答系统。

**任务**

1. 使用AWS RDS和pgvector嵌入学习材料。
2. 在EC2实例上托管问答功能的LLM，并从RDS检索相关文档嵌入使用相似性搜索。
3. 在同一EC2实例上，使用HuggingFace模型进行文本摘要。

**主要成果**：摘要和问答的API端点。

### 4.2 数据存储：S3（简单存储服务）

**目标**：高效存储上传的学习材料。

**任务**

1. 配置S3桶以存储原始材料文件。
2. 使用S3触发器和AWS Lambda处理上传的文件。
3. 将处理后的数据存储在RDS中。

**主要成果**：文件存储和处理管道。

### 4.3 前端：Next.js应用程序

**目标**：构建用户友好的界面，用于上传材料、提问和查看摘要。

**任务**

1. 表单用于将材料上传到S3。
2. 通过仪表板查看上传的材料和摘要。
3. 用户的问答界面。

**主要成果**：功能齐全的上传页面、问答部分和摘要显示。

### 4.4 API：GraphQL集成

**目标**：在前端和后端之间启用结构化数据交换。

**任务**

1. 定义GraphQL查询和变异的模式。
2. 实现后端解析器进行摘要和问答。
3. 通过AWS AppSync公开GraphQL。

**主要成果**：功能齐全的GraphQL API。

### 4.5 监控与告警

**目标**：跟踪系统性能和使用情况以优化成本。

**任务**

1. 配置CloudWatch以监控系统CPU和内存使用及网络流量。
2. 设置AWS预算的成本监控。
3. 实现组件故障和异常使用模式的告警。

**主要成果**：资源使用情况的告警和报告。

## 5、结束语

这个副项目是一项雄心勃勃的任务，我对它带来的许多学习机会感到兴奋。通过利用我在GCP开发方面的现有技能和更广泛的经验，我有信心构建出一个功能性的最小可行产品（MVP）。

随着项目的进展，我计划记录我的旅程并分享见解，所以请继续关注我在**Medium**上的更多内容。对于那些有兴趣深入代码或进一步探索项目的读者，所有详细信息将在我的[个人GitHub](https://github.com/csmyth95/ai-tutor?ref=hubwiz.com)上找到。

---

原文链接：[Building my own AI Personal Learning Assistant](https://medium.com/@conorSmyth13/building-my-own-ai-personal-learning-assistant-7bbe74915b3e?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处