提示词
提示库和工具(按字母顺序排列)
- Arthur Shield:用于检测毒性、幻觉、及时注射等的付费产品。
- Baserun:用于测试、调试和监视基于 LLM 的应用的付费产品
- Chainlit:用于制作聊天机器人界面的 Python 库。
- Embedchain:一个 Python 库,用于管理和同步非结构化数据与 LLM。
- FLAML (A Fast Library for Automated Machine Learning & Tuning):一个 Python 库,用于自动选择模型、超参数和其他可调选择。
- 指导:Microsoft 提供的方便的 Python 库,它使用手柄模板来交错生成、提示和逻辑控制。
- Haystack:开源 LLM 编排框架,用于在 Python 中构建可定制的、生产就绪的 LLM 应用程序。
- HoneyHive:一个用于评估、调试和监控 LLM 应用程序的企业平台。
- LangChain:一个流行的 Python/JavaScript 库,用于链接语言模型提示序列。
- LiteLLM:一个最小的 Python 库,用于以一致的格式调用 LLM API。
- LlamaIndex:一个 Python 库,用于使用数据增强 LLM 应用程序。
- LMQL:一种用于 LLM 交互的编程语言,支持类型化提示、控制流、约束和工具。
- OpenAI Evals:一个开源库,用于评估语言模型和提示的任务性能。
- 大纲:一个 Python 库,它提供特定于领域的语言来简化提示和约束生成。
- Parea AI:用于调试、测试和监视 LLM 应用程序的平台。
- Portkey:用于 LLM 应用的可观测性、模型管理、评估和安全性的平台。
- Promptify:一个小型 Python 库,用于使用语言模型执行 NLP 任务。
- PromptPerfect:用于测试和改进提示的付费产品。
- Prompttools:用于测试和评估模型、向量数据库和提示的开源 Python 工具。
- Scale Spellbook:用于构建、比较和发布语言模型应用的付费产品。
- 语义内核:Microsoft 的 Python/C#/Java 库,支持提示模板、函数链、矢量化内存和智能规划。
- Vellum:一个付费的 AI 产品开发平台,用于试验、评估和部署高级 LLM 应用程序。
- 权重和偏差:用于跟踪模型训练和提示工程实验的付费产品。
- YiVal:一个开源的 GenAI-Ops 工具,用于使用可自定义的数据集、评估方法和演化策略来调整和评估提示、检索配置和模型参数。
提示指南
- Brex 的提示工程指南:Brex 对语言模型和提示工程的介绍。
- learnprompting.org:提示工程的入门课程。
- Lil'Log 提示工程:OpenAI 研究人员对提示工程文献的回顾(截至 2023 年 <> 月)。
- OpenAI Cookbook:提高可靠性的技术:略微过时(2022 年 <> 月)对提示语言模型技术的回顾。
- promptingguide.ai:演示了许多技术的提示性工程指南。
- Xavi Amatriain 的 Prompt Engineering 101 Introduction to Prompt Engineering 和 202 Advanced Prompt Engineering:对提示工程的基本但固执己见的介绍,以及从 CoT 开始的许多高级方法的后续集合。
视频课程
- Andrew Ng 的 DeepLearning.AI:面向开发人员的提示工程短期课程。
- Andrej Karpathy 的 Let's build GPT:深入了解 GPT 底层的机器学习。
- DAIR的提示工程。AI:关于各种提示工程技术的一小时视频。
- 关于 Assistants API 的 Scrimba 课程:关于 Assistants API 的 30 分钟交互式课程。
- LinkedIn 课程:提示工程简介:如何与 AI 交谈:提示工程简介短视频
关于高级提示改进推理的论文
- 大型语言模型中的思维链提示引发推理 (2022):使用少量提示要求模型逐步思考可以提高他们的推理能力。PaLM在数学单词问题(GSM8K)上的得分从18%上升到57%。
- 自一致性改善了语言模型中的思维链推理 (2022):从多个输出中投票可以进一步提高准确性。对 40 个输出的投票进一步提高了 PaLM 在数学单词问题上的分数,从 57% 提高到 74%,从 60% 提高到 78%。
code-davinci-002
- 思想之树:使用大型语言模型进行深思熟虑的问题解决 (2023):搜索分步推理树比对思维链进行投票更有帮助。它提高了创意写作和填字游戏的分数。
GPT-4
- 语言模型是零样本推理者 (2022):告诉指令遵循模型一步一步地思考可以提高他们的推理能力。它将数学单词问题(GSM8K)的分数从13%提高到41%。
text-davinci-002
- 大型语言模型是人类级别的提示工程师 (2023):对可能的提示进行自动搜索发现,一个提示将数学单词问题 (GSM8K) 的分数提高到 43%,比语言模型中的人类编写的提示高出 2 个百分点。
- Reprompting: Automated Chain-of-Thinking Prompt Inference Through Gibbs Sampling (2023):对可能的思维链提示进行自动搜索,使 ChatGPT 在一些基准上的得分提高了 0-20 个百分点。
- 使用大型语言模型进行忠实推理 (2022):推理可以通过一个系统来改进:由替代选择和推理提示生成的思维链、选择何时停止选择-推理循环的挂脖模型、用于搜索多个推理路径的值函数,以及有助于避免幻觉的句子标签。
- STaR:用推理引导推理 (2022):思维链推理可以通过微调融入模型中。对于具有答案键的任务,语言模型可以生成示例思维链。
- ReAct:在语言模型中协同推理和行动 (2023):对于使用工具或环境的任务,如果您在 Reasoning 步骤(思考该做什么)和 Acting(从工具或环境中获取信息)之间规范性地交替使用,则思维链效果更好。
- Reflexion:具有动态记忆和自我反思的自主代理 (2023):使用先前失败的记忆重试任务可提高后续性能。
- Demonstrate-Search-Predict:为知识密集型 NLP 编写检索和语言模型 (2023):通过“先检索后读取”增强知识的模型可以通过多跳搜索链进行改进。
- 通过多智能体辩论提高语言模型中的事实性和推理性(2023 年):在几轮中在几个 ChatGPT 智能体之间生成辩论可以提高各种基准的分数。数学单词问题分数从 77% 上升到 85%。
大模型
国内外模型
https://xinghuo.xfyun.cn/desk
https://kimi.moonshot.cn/
https://www.tiangong.cn/
https://tongyi.aliyun.com/qianwen/
https://chatgpt.com/
https://yiyan.baidu.com/
https://chatglm.cn/main/detail
https://www.doubao.com/chat/
https://poe.com/
https://huggingface.com/
Azure & OpenAI
https://learn.microsoft.com/en-us/azure/ai-services/openai/reference
https://github.com/openai/openai-cookbook
https://platform.openai.com/examples
https://platform.openai.com/docs/examples
大模型框架
LangChain
https://smith.langchain.com/
https://blog.langchain.dev/
https://python.langchain.com/v0.2/docs/introduction/
https://python.langchain.com/docs/get_started/introduction/
LlamaIndex
https://docs.llamaindex.ai/en/stable/
向量库
Milvus & Zilliz
https://www.milvus-io.com/boolean
https://docs.zilliz.com.cn/docs/ann-search-explained
https://github.com/milvus-io/milvus/blob/f3f46d3bb2dcae2de0bdb7bc0f7b20a72efceaab/docs/developer_guides/proxy-reduce-cn.md
DSPy
DSPy 是一个基于基础模型的编程框架,旨在解决基于语言模型(LM)的应用程序中的脆弱性问题。它通过优先考虑编程而不是传统的提示(prompt)来实现这一点。DSPy 作为一个高效的自动化提示框架,为开发者提供了强大的工具,简化了复杂的提示生成和管理过程。
DSPy 的核心特点包括其能够将程序流程(模块)与每个步骤的参数(如 LM 提示和权重)分离,这种分离允许系统地优化 AI 系统。此外,DSPy 被描述为一个声明性的、自我改进的框架,它简化了大型语言模型(LLM)应用程序的开发,具有声明性编程和自我改进提示的特点。
作为一种编程模型,DSPy 旨在改进语言模型在处理复杂任务时的使用方式。传统的 LM 使用特定的提示模板进行控制,而 DSPy 提供了一种更灵活和强大的方法。DSPy 还被定义为一个编程语言,允许开发者使用预定义的模块和优化器构建系统,适用于像 GPT-3.5 和 GPT-4 这样的基础模型。
DSPy:https://dspy-docs.vercel.app/docs/intro
https://github.com/stanfordnlp/dspy/blob/main/examples/tweets/compiling_langchain.ipynb
RAG学习
知乎
https://www.zhihu.com/people/he-zhi-dong-87/posts
https://www.zhihu.com/people/liu-qiang-5-5/posts
https://zhuanlan.zhihu.com/p/697359879
https://www.zhihu.com/question/635380822/answer/3478673282
https://zhuanlan.zhihu.com/p/693539385
其他
https://www.atyun.com/c/study
https://cobusgreyling.medium.com/
https://www.luxiangdong.com/archives/
https://www.bilibili.com/video/BV1Uy411Y76z/
Java+面试资料
https://cxykk.com/
https://www.javacn.site/interview/basic/
https://javaguide.cn/