方向三:实践记录以及工具使用
实践记录
代码实践
00_开篇词_奇点时刻
在 LangChain 的 AI 练中学里,首先映入眼帘的是 01_SimpleTextGeneration.py 文件,通过上方注释我点击 RUN 后,在下方面板呈现出 text = llm.predict() 的回答,尽管并不完善,但是他打开了我对于 LangChain 的认知大门
我尝试将小括号的内容更换为其他内容,也得到了回答.
而在 02_PictureDescription.py 文件中,代码实现了分析图片为他创作推广词的功能,通过分模块的调用和 print() ,我感受到了程序运行是仿佛具有人的思维逻辑一般
最终经过"思考",他给出了我要得到的答案
01_LangChain快速入门
01_TextModel.py 文件中因为 OpenAI 的 Completions API 已经在 2023 年 7 月完成最后一次更新并废弃,所以仅仅是作为指定 gpt-3.5-turbo-instruct(也就是 Text 模型)并调用 completions 方法的文件示意,而在 02_ChatModel.py 文件中则调用了 Chat 模型得出了在 01 文件中未解决的问题
(shims) ➜ LangChain-shizhanke COMMAND="cd /cloudide/workspace/LangChain-shizhanke/01_LangChain快速入门 && export PYTHONPATH="/cloudide/workspace/.clou
dide/extensions/ms-python.debugpy-2024.0.0-linux-x64/bundled/libs:$PYTHONPATH"; python3 /cloudide/workspace/LangChain-shizhanke/01_LangChain快速入门/02_ChatModel.py" marscode-dev
以下是一些适合花店的名字,供你参考:
1. 花漾时光
2. 梦幻花坊
3. 香榭丽舍花店
4. 花语轩
5. 花之语花店
6. 心花怒放
(shims) ➜ LangChain-shizhanke
(共 30 个,在此不全部展示)
通过这个例子,我了解到了两个专属于 Chat 模型的概念,消息和角色
消息: messages 参数包含多个消息(可以是 system、user 或 assistant)和 content (消息的内容),设定了对话的背景和用户需求,模型则根据此来生成回复
角色: Chat 模型中,system,user 和 assistant 都是消息的角色,都有不同的含义和作用。
- system :系统消息主要用于设定对话的背景或上下文。
- user :用户消息是从用户或人类角色发出的。
- assistant :助手消息是模型的回复。
先说消息,消息就是传入模型的提示。此处的messages参数是一个列表,包含了多个消息。每个消息都有一个role(可以是system、user或assistant)和content(消息的内容)。系统消息设定了对话的背景(你是一个很棒的智能助手),然后用户消息提出了具体请求(请给我的花店起个名)。模型的任务是基于这些消息来生成回复。
再说角色,在OpenAI的Chat模型中,system、user和assistant都是消息的角色。每一种角色都有不同的含义和作用。
- system:系统消息主要用于设定对话的背景或上下文。这可以帮助模型理解它在对话中的角色和任务。例如,你可以通过系统消息来设定一个场景,让模型知道它是在扮演一个医生、律师或者一个知识丰富的AI助手。系统消息通常在对话开始时给出。
- user:用户消息是从用户或人类角色发出的。它们通常包含了用户想要模型回答或完成的请求。用户消息可以是一个问题、一段话,或者任何其他用户希望模型响应的内容。
- assistant:助手消息是模型的回复。例如,在你使用API发送多轮对话中新的对话请求时,可以通过助手消息提供先前对话的上下文。然而,请注意在对话的最后一条消息应始终为用户消息,因为模型总是要回应最后这条用户消息。
在使用Chat模型生成内容后,返回的响应,也就是response会包含一个或多个choices,每个choices都包含一个message。每个message也都包含一个role和content。role可以是system、user或assistant,表示该消息的发送者,content则包含了消息的实际内容。
工具使用
本次代码实践全部基于 AI 练中学功能
使用体验
当进入这个页面后,让人觉得十分熟悉且舒服
我认为他符合市面上大多数编辑器的布局和使用者的操作习惯,可以让人快速上手,并且文件夹中的 README.md 文件也对一些问题做出了解答和练中学的使用方法,十分详细
右侧的 AI 助手作为MarsCode的特点,的确在使用中提供了许多便利,减少了很多无意义的思维活动,大大提升了编辑速度
在刷题过程中,当我遇见对题目毫无头绪或是不理解测试用例时,我将调出 AI 来帮我对问题进行分析,很不错的是,AI 每次都能清晰的回答问题相关内容
当我使用代码提示时,AI 更钟情于暴力的方法,不过也算是一种解题思路,对于弱算法能力的人很友好(就是答案实在是只能作为参考)
在练中学这一功能中,AI 在对于代码的分析上则是有着不错的表现
但需要用户不断追问,我认为没有刷题时好用
AI 练中学使得学习不再卡在环境配置上,能让使用者快速接触和学习想要的内容,对于知识获取提供了非常大的便利