利用AI大语言模型和Langchain开发智能车算法训练知识库(上篇)
今天小李哥将介绍亚马逊云科技的Jupyter Notebook机器学习托管服务Amazon SageMaker上,通过AI大语言模型、向量知识库和LangChain Agent,创建用于AI 智能车模型训练的RAG问答知识库。整个项目的架构图如下:
本系列共分为上下两篇。在上篇内容中,我将分享该知识库的GitHub项目开源代码,大家可以自行下载学习和测试使用。并带大家在亚马逊云科技平台的Jupyter Notebook里部署项目搭建该知识库。也欢迎大家继续关注本系列下篇,我们将利用AI生成训练和测试数据集,以及利用Stable Diffusion图像生成模型评估智能车模型性能。
方案所需基础知识
什么是Amazon SageMaker?
Amazon SageMaker 是亚马逊云科技提供的一项全托管机器学习服务,帮助开发者和数据科学家轻松构建、训练和部署机器学习模型。SageMaker 提供了全套的工具和基础设施支持,用户无需管理底层的服务器和环境,即可快速处理从数据准备到模型训练再到部署的完整机器学习流程。
SageMaker 提供了灵活的开发环境,支持多种常用的机器学习框架,如 TensorFlow、PyTorch 等,同时也支持用户自定义的算法和模型。无论是使用预训练模型还是从头开始训练,SageMaker 都能够提供高效的分布式训练能力,并通过自动调优(如超参数优化)提升模型的精度。
关于LangChain?
LangChain Agent 是围绕大语言模型(LLM)作为其核心引擎构建的 AI 系统,可实现超越文本生成的能力。Agent 将 LLM 的自然语言优势与规划、记忆和工具使用等附加组件相结合。规划允许 Agent 将复杂目标分解为可管理的子任务。记忆提供短期的上下文学习和长期知识存储,以便快速检索。工具使用使 Agent 能够通过调用 API、利用搜索引擎、执行代码等来收集信息和采取行动。
精心设计的提示通过编码角色、指令、权限和上下文来塑造 Agent 行为。这使开发人员能够为各种应用程序定制 Agent,如对话助手、工作流自动化、模拟和科学发现。LLM Agent 的主要优势包括自然语言理解、推理和自主任务完成。然而,在有限的上下文大小、不可靠的自然语言接口以及长期规划困难等方面仍然存在挑战。
推理和行动 (ReAct) Agent框架
本实验中使用的 Agent 使用一种称为 ReAct 的技术。ReAct(推理和行动)是一种新的范式,它结合了语言模型在推理和行动能力方面的进步,使它们能够解决复杂的语言推理和决策任务。使用 ReAct,语言模型可以生成推理跟踪来创建、维护和调整高级计划,并采取行动从外部源(如 API 和知识库)中获取额外信息。
ReAct 的主要优点是推理和行动之间的协同作用。推理允许模型推导和更新计划,而行动使收集额外信息以支持推理成为可能。这有助于解决仅推理方法中的幻觉和错误级联等问题。与仅推理和仅行动的基线相比,ReAct 已被证明在多跳问答、事实检查和交互式决策等任务上实现了更优越的性能。
本实践包括的内容
1. 创建运行Jupyter Notebook的计算资源服务器
2. 分享利用AI大语言模型和Langchain构建智能车算法训练知识库的GitHub源代码
3. 在Jupyter Notebook中运行代码创建向量数据库、LangChain Agent,并利用Bedrock上的大语言模型构建RAG知识库,用于智能车模型算法训练相关问题的查询
项目实操步骤
部署云资源
1. 首先我们登录亚马逊云科技控制台,进入Sagemaker服务主页
2. 在左侧菜单栏中点击Notebook, 点击Create Notebook Instances创建计算实例,用于运行Jupyter Notebook服务器
3. 为Instance命名为”DeepRacerLab“,选择实例类型为”ml.t2.medium“,将磁盘容量设置为64GB
4. 为Jupyter Instance分配必要IAM权限,并开启Root Access,这样用户在Jupyter服务器中运行命令时会以root用户权限运行。
5. 同时我们可以在创建服务器时自动添加Github项目代码,我们如图添加项目url:”https://github.com/jeremypedersen/deepracer-genai“,该项目包括了利用Amazon Bedrock上的大模型和LangChain构建DeepRacer "智能 Agent" 的模型文件和 notebooks
6. 添加完全部参数后,点击”Create notebook instance“创建运行Jupyter Notebook的计算服务器
打开Jupyter Notebook控制台
7. 当刚创建的Notebook实例的状态变为”InService“后,在SageMaker Instance页面中点击“Open JupyterLab”:
8. 打开后就会在网页中弹出Jupyter Notebook控制台界面
开始运行代码创建知识库
9. 在左侧文件列表中打开文件:”00_deepracer_model_evaluation.ipynb“
10. 打开文件后,会提示选择运行代码的内核,我们选择 conda_python3
11. 最后按照Jupyter Notebook里的步骤依次运行就可以创建RAG知识库了!
以上就是利用亚马逊云科技AI大语言模型和Langchain开发智能车算法训练知识库上篇内容。欢迎大家关注小李哥的亚马逊云科技AI服务深入调研系列,关注小李哥未来不要错过更多国际前沿的AWS云开发/云架构方案。