大模型工作原理
大模型的工作原理可以概括为一个自适应、循环的过程。首先,用户通过输入文本开始与模型的互动,例如输入一个问题“你是谁?”。接收到用户输入后,模型会基于预先设定的系统提示词(Prompt)构建一个完整的对话上下文。这个Prompt不仅包含用户的输入,还结合了系统的指导性内容,比如“你是一个乐于助人的助手”等信息,从而生成一个用于生成回应的语境。在此基础上,模型开始计算并生成对应的输出。比如,当用户询问“你是谁?”时,模型可能会回应:“我是Qwen,一个由阿里云开发的大型语言模型。” 生成的输出会被反馈给用户,同时模型会判断对话是否应当结束。如果对话仍需继续,则模型等待下一轮用户输入,否则整个流程结束。
大模型的固有缺陷
大模型开发
Prompt工程
Prompt工程是通过设计和使用输入提示来引导LLM生成期望输出的过程,确保模型在不同场景下的表现最佳,以满足用户的需求。
大模型: 多角色对话系统解释_大模型 system user-CSDN博客
messages
system
- 系统角色代表整个对话系统的后台运行和处理逻辑。
- 系统负责接收用户输入、调用模型进行处理、生成回复并返回给用户。
- 系统的作用是管理对话流程、保持对话一致性、处理意图识别和语言生成等任务。
- (让模型每一次都以一个固定的身份去回答user提出的问题)
user
表示用户向模型发送聊天信息
- 用户角色代表与系统进行交互的真实用户。
- 用户可以向助手(assistant)提出问题、发送消息或者进行指令。
- 用户的输入内容会触发系统做出相应的回应,从而构成对话交流的基础。
assitant
表示模型对user发送信息的应答
助手角色是系统设计的虚拟角色,代表系统提供的智能对话服务。
助手会根据用户的输入进行理解和回复,提供信息、建议或者执行任务。
助手的作用是帮助用户解决问题、获取信息,提供支持和指导。
在进行提问的过程中messages可能会包含多个user。需要说明的是assistant消息和user消息是一一对应的关系,一般情况下assistant消息信息仅仅是围绕着最后一个user消息进行的回答。
import openai
# 设置API密钥
openai.api_key = 'your-api-key'
response = openai.ChatCompletion.create(
model="gpt-4", # 使用模型
messages=[
{"role": "system", "content": "我是一名资深深度学习专家"},
{"role": "user", "content": "什么是机器学习?"}
]
)
# 打印模型生成的响应
print("Assistant:", response['choices'][0]['message']['content'])
上面这个代码展示了这三个的关系,其中使用chatGPT的模型,messages中system表示这个模型的回答身份“一名资深深度学习专家”,然后模拟user的问题‘什么是机器学习?’给到模型,然后作为assistant的大模型会返回他的答案。
Word Embedding
引用文章中有在word embedding之前的几种方法详解
Word Embedding将不同的词变为计算机能理解的向量形式,但是不像one-hot编码那样单一,他可以将两个相似的或者同类型的词在数字空间中的向量上更加的靠近来表示他们同类或意思相近。
Word Embedding分析提供的文本,通过分析每个单词在句子中的邻居单词,来学习这个单词的含义。例如,单词“猫”经常和“狗”这类词一起出现。通过学习他们上下文的关系来学习单词含义。
Agent(智能体)
Agent = Model + Memory + Planning + Tools
Model是你的模型,memory是上下文和操作记忆,模拟人脑的记忆模块,可以帮助模型更好地理解上下文从而给出更好的回答,tools是指这个模型使用的一些插件和接口还有一些知识包,在需要使用这些工具时,大模型会访问接口或者使用插件来更好地完成任务。planning给任务做出规划,分布解决一个复杂的问题。
课堂学习参考资料
基于LLM的Agent论文整理:https://github.com/WooooDyy/LLM-Agent-Paper-List
动手学大模型应用开发: https://github.com/datawhalechina/llm-universe