前言:本人没任何计算机编程基础的纯菜鸟小白,第一次打开这个课程的时候,真的一脸懵,不知道该从哪里入手。过程中我一边发现问题、求助各位大佬、一边记录下来形成了这篇文章,希望写下来的这些可以帮助有类似困惑的朋友。由于都是纯个人(小白)经验,回答不了专业问题,欢迎评论区大家多多交流,互帮互助,共同进步,如有问题欢迎指正。
以下记录题目练习范围:00_开篇词_奇点时刻、01_LangChain快速入门、02_文档OA系统
第一步:打开AI练中学(具体位置,参考截图)
第二步:先看README文档(具体位置,参考截图)按照里面的教程注册火山引擎账号,获取你的API、base_url、model_endpoint,后续配置环境变量要用到。
第三步:配置环境变量,运行命令。
注意点1:## 要找准.cloudiderc文件位置。
文件——打开文件——然后找到👇截图位置。(..两个点多点几次,直到看见返回home层级) 或者参考这位大佬的方法:[juejin.cn/post/743263…]
注意点2:在终端命令行执行输入source ~/.cloudiderc时,可能会出现的疑问+解惑:
- 这个指令在哪里操作?(如👇截图所示--这里就是终端命令运行的位置)
- 怎么运行结果?输入完毕后,按ENTER键即可看到运行结果。
- 怎么看运行是否成功?运行成功会显示蓝色圈圈,若失败会显示红色圈叉,并且会提示错误原因(如截图所示)。
注意点3: 运行时source ~/.cloudiderc出现过的代码错误有:
- source: no such file or directory: /home/cloudide/.cloudider
- source: no such file or directory: ~/.cloudiderc 【分析上面错误原因是拼写遗漏或输入法有非英文。总之,一定要仔细检查写对! 正确的写法source ~/.cloudiderc】
第四步:当显示蓝色圈圈则表示运行成功了,然后你就可以执行课程里的其他代码开始运行了。
第五步:运行课程代码,开始run。
00-01题 不用改,直接运行通过
00-02 运行结果屡次失败?正确代码到底咋写
运行出现各种错误:
最后,通过项目重置—→只把这一行代码改成下图所示,终于运行成功啦![juejin.cn/post/743263…] 参考的这位大佬的方法。
如何项目重置?当把示例代码删掉或写乱时,想着全部重新做一遍得了。
界面最右侧——点击工作台——对当前项目进行删除,之后再从第一步进入即可完成重置。
01-01 针对性改代码
[juejin.cn/post/743263…] 参考这位大佬的方法,对下面位置进行了修改后的代码。
01-02至01-04
不用改,可以直接运行成功!
02 文档OA系统
旁边AI分析问题出现在DocQA.py文件的第 78 行,具体是在调用from_documents方法时出现了错误。
解决方法:[juejin.cn/post/743268…] 参考的这位大佬做出来的;juejin.cn/post/743336… 这篇笔记也不错,可以参考。
具体操作细节有两点:
①添加export EMBEDDING_MODELEND这个的位置:如下图
②os.environ["EMBEDDING_MODELEND"]这个添加的位置:如下图,注意改成你的模型id
最后,输入问题:仪容仪表规范包含哪些内容?会得到答案——运行成功!
👩🏻💻241103 第1课的一些笔记碎片
LangChain是一个基于大语言模型(LLMs)用于构建端到端语言模型应用的框架,它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人等。LangChain提供了一系列工具、套件和接口,可以简化创建由LLMs和聊天模型提供支持的应用程序的过程。
LangChain 是一个全方位的、基于大语言模型这种预测能力的应用开发工具,它的灵活性和模块化特性使得处理语言模型变得极其简便。
LangChain中的具体组件包括:
- 模型(Models),包含各大语言模型的LangChain接口和调用细节,以及输出解析机制。
- 提示模板(Prompts),使提示工程流线化,进一步激发大语言模型的潜力。
- 数据检索(Indexes),构建并操作文档的方法,接受用户的查询并返回最相关的文档,轻松搭建本地知识库。
- 记忆(Memory),通过短时记忆和长时记忆,在对话过程中存储和检索数据,让ChatBot记住你是谁。
- 链(Chains),是LangChain中的核心机制,以特定方式封装各种功能,并通过一系列的组合,自动而灵活地完成常见用例。
- 代理(Agents),是另一个LangChain中的核心机制,通过“代理”让大模型自主调用外部工具和内部工具,使强大的“智能化”自主Agent成为可能!你的 App 将产生自驱力! 这些组件是LangChain的基石,是赋予其智慧和灵魂的核心要素,它们相互协作,形成一个强大而灵活的系统。
什么是大语言模型? 大语言模型是一种人工智能模型,通常使用深度学习技术,比如神经网络,来理解和生成人类语言。这些模型的“大”在于它们的参数数量非常多,可以达到数十亿甚至更多,这使得它们能够理解和生成高度复杂的语言模式。 你可以将大语言模型想象成一个巨大的预测机器,其训练过程主要基于“猜词”:给定一段文本的开头,它的任务就是预测下一个词是什么。模型会根据大量的训练数据(例如在互联网上爬取的文本),试图理解词语和词组在语言中的用法和含义,以及它们如何组合形成意义。它会通过不断地学习和调整参数,使得自己的预测越来越准确。
再说角色,在OpenAI的Chat模型中,system、user和assistant都是消息的角色。每一种角色都有不同的含义和作用。
- system:系统消息主要用于设定对话的背景或上下文。这可以帮助模型理解它在对话中的角色和任务。例如,你可以通过系统消息来设定一个场景,让模型知道它是在扮演一个医生、律师或者一个知识丰富的AI助手。系统消息通常在对话开始时给出。
- user:用户消息是从用户或人类角色发出的。它们通常包含了用户想要模型回答或完成的请求。用户消息可以是一个问题、一段话,或者任何其他用户希望模型响应的内容。
- assistant:助手消息是模型的回复。例如,在你使用API发送多轮对话中新的对话请求时,可以通过助手消息提供先前对话的上下文。然而,请注意在对话的最后一条消息应始终为用户消息,因为模型总是要回应最后这条用户消息。
Chat模型和Text模型都有各自的优点,其适用性取决于具体的应用场景。 相较于Text模型,Chat模型的设计更适合处理对话或者多轮次交互的情况。这是因为它可以接受一个消息列表作为输入,而不仅仅是一个字符串。这个消息列表可以包含system、user和assistant的历史信息,从而在处理交互式对话时提供更多的上下文信息。 这种设计的主要优点包括:
- 对话历史的管理:通过使用Chat模型,你可以更方便地管理对话的历史,并在需要时向模型提供这些历史信息。例如,你可以将过去的用户输入和模型的回复都包含在消息列表中,这样模型在生成新的回复时就可以考虑到这些历史信息。
- 角色模拟:通过system角色,你可以设定对话的背景,给模型提供额外的指导信息,从而更好地控制输出的结果。当然在Text模型中,你在提示中也可以为AI设定角色,作为输入的一部分。