文生文—— 通用人工智能AGI知识点
- 文生文—— AGI
- 1. prompt提示工程是什么?
- 2. 怎么构建prompt?
- 3. Prompt怎么防注入?
- 4. Function Calling是什么?
- 5. Agent是什么
- 6. 如果处理添加多个Agent?
- 7. RAG是什么?
- 8. 离线和在线的RAG怎么构建?
- 9. 构建的RAG,效果很差怎么办?
- 10. 向量模型是什么?M3E是什么?
- 11. 向量模型有哪些?
- 12. 向量数据库是什么?
- 13. 向量数据库有哪些?
- 13. 问答系统怎么构建知识库?
- 14. 问答系统怎么调用知识库?
- 15. LangChain 是什么
- 16. 怎么部署LLM、调用API接口?
- 17. llamaindex是什么?
文生文—— AGI
对深度学习模型相关的知识点进行总结。
AGI(通用人工智能 Artificial General Intelligence)是指能够执行人类可以执行的任何智力任务的机器或计算机系统。这包括理解自然语言、学习、规划、解决问题、推理、感知环境等。
实现 AGI 是一个非常复杂的问题,目前还没有一个确定的答案。目前可能的实现方法:
- 深度学习:深度学习是一种机器学习技术,它可以通过训练神经网络来学习自然语言处理、图像识别、语音识别等任务。深度学习已经在许多领域取得了巨大的成功,并且是实现 AGI 的一个重要方向。
- 强化学习:强化学习是一种机器学习技术,它可以通过训练智能体来学习如何在环境中行动以最大化奖励。强化学习已经在游戏、机器人等领域取得了巨大的成功,并且是实现 AGI 的一个重要方向。
- 人工神经网络:人工神经网络是一种模仿人类大脑的机器学习技术,它可以通过训练神经网络来学习自然语言处理、图像识别、语音识别等任务。人工神经网络已经在许多领域取得了巨大的成功,并且是实现 AGI 的一个重要方向。
- 语义理解:语义理解是指理解自然语言的含义和意图。语义理解是实现 AGI 的一个重要方向,因为它可以帮助智能体理解人类的意图和需求。
- 知识图谱:知识图谱是一种用于表示知识的结构化数据,它可以帮助智能体理解人类的知识和经验。知识图谱是实现 AGI 的一个重要方向,因为它可以帮助智能体更好地理解人类的知识和经验。
实现 AGI 需要结合多种技术和方法,并且需要不断地进行研究和改进。
1. prompt提示工程是什么?
提示工程(Prompt Engineering)是指通过设计和优化提示语(Prompts)来提高人工智能模型的性能和效率。提示语是指输入给人工智能模型的文本、指令或问题,它可以影响模型的输出结果。
简单来说,可以将垂直知识相关规则加入prompt,使其AGI准确回答,占位符回答槽,从而约束prompt回答模版。
提示工程的目标是设计出能够最大限度地利用模型能力的提示语,从而提高模型的性能和效率。
提示工程的方法包括设计更好的提示语、优化提示语的格式和内容、利用模型的反馈信息来改进提示语等。
这需要对模型的能力和限制有深入的了解,以及对目标任务的需求有清晰的认识。
核心思路:
- 把输入的自然语言对话,转成结构化的表示
- 从结构化的表示,生成策略
- 把策略转成自然语言输出
核心结构:
-
1. 角色与目标:给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」
-
2. 指示与原则:对应用任务进行具体功能描述,设置相关限定(或者说明能力)、回答格式、使用工具等等。
-
3. 限制与澄清 :
限制应用哪些功能不能做,能做的限制有哪些。 -
4. 个性化设置:
设置应用回答问题语句的一些个性化特点(如:语气、口头禅)。 -
5. 上下文:给出与任务相关的其它背景信息(尤其在多轮交互中,支持多轮对话 DST)。
-
6. 例子:必要时给出举例,学术中称为 one-shot learning, few-shot learning 或 in-context learning;实践证明其对输出正确性有很大帮助。
-
输入:任务的输入信息;在提示词中明确的标识出输入
-
输出:输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、XML)
提示工程的关键技术包括:
- 设计合适的提示:设计合适的提示需要考虑模型的能力和限制,以及目标任务的需求。提示应该尽可能清晰地表达期望的输出,同时避免过于复杂或模糊。
- 优化提示:优化提示可以通过调整提示的内容、格式和结构来提高模型的性能和准确性。这可能需要使用一些技术,如词向量、语言模型等。
- 评估提示:评估提示的效果是提示工程的重要环节。可以通过测试模型在不同提示下的输出,来评估提示的效果。
- 迭代优化:提示工程是一个迭代的过程,需要不断地优化和改进提示,以提高模型的性能和准确性。
- 注意要点:大模型对prompt开头和结尾的内容更敏感,先定义角色,其实就是在开头把问题域收窄,减少二义性
2. 怎么构建prompt?
具体构建 prompt 的步骤如下:
- 明确目标:首先,需要明确提示的目标任务是什么。是要生成文本、回答问题、翻译文本还是其他任务的文本类型(例如新闻、小说、诗歌等)。不同的目标需要不同的提示。
- 了解模型:需要了解模型的能力和限制,以及它能够处理的输入和输出。这可以通过阅读模型的文档和研究论文来实现。
- 设计提示:根据目标和模型的能力,设计一个合适的提示。提示应该尽可能清晰地表达期望的输出,同时避免过于复杂或模糊。
- 收集数据:接下来,你需要收集与你的任务相关的数据。这些数据可以来自互联网、书籍、报纸、杂志等。
- 准备 prompt:准备 prompt 需要考虑以下几个方面:
- 提示的格式:prompt 的格式可以是文本、图像