资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
大型语言模型 (LLM) 的一个重要方面是这些模型用于学习的参数数量。模型拥有的参数越多,它就能更好地理解单词和短语之间的关系。这意味着具有数十亿个参数的模型有能力生成各种创造性的文本格式,并以信息丰富的方式回答开放式和挑战性的问题。ChatGPT 等法学硕士利用 Transformer 模型,精通理解和生成人类语言,这使得它们对于需要自然语言理解的应用程序非常有用。然而,它们并非没有局限性,其中包括过时的知识、无法与外部系统交互、缺乏上下文理解,有时会产生听起来合理但不正确或无意义的响应等。解决这些限制需要将法学硕士与外部数据源和功能集成,这可能会带来复杂性并需要广泛的编码和数据处理技能。再加上理解人工智能概念和复杂算法的挑战,导致了与使用法学硕士开发应用程序相关的学习曲线。尽管如此,将法学硕士与其他工具集成以形成法学硕士支持的应用程序可以重新定义我们的数字景观。此类应用程序的潜力是巨大的,包括提高效率和生产力、简化任务、增强决策以及提供个性化体验。在本文中,我们将更深入地研究这些问题,探索使用 Langchain 进行即时工程的先进技术,提供清晰的解释、实际示例以及如何实现它们的分步说明。Langchain 是一个最先进的库,为设计、实现和调整提示带来了便利和灵活性。当我们解开即时工程的原理和实践时,您将学习如何利用 Langchain 的强大功能来发挥 GPT-4 等 SOTA 生成式 AI 模型的优势。了解提示在深入了解提示工程的技术细节之前,有必要了解提示的概念及其意义。“提示”是一系列标记,用作语言模型的输入,指示它生成特定类型的响应。提示在引导模型的行为方面起着至关重要的作用。它们可以影响生成文本的质量,并且如果正确制作,可以帮助模型提供富有洞察力、准确且针对特定上下文的结果。提示工程是设计有效提示的艺术和科学。目标是从语言模型中得出所需的输出。通过仔细选择和构建提示,可以引导模型生成更准确和相关的响应。在实践中,这涉及微调输入短语以适应模型的训练和结构偏差。提示工程的复杂性包括从简单的技术(例如向模型提供相关关键字)到更高级的方法,包括设计复杂的结构化提示,利用模型的内部机制来发挥其优势。Langchain:增长最快的提示工具LangChain 由Harrison Chase于 2022 年 10 月推出,已成为2023 年 GitHub 上评价最高的开源框架之一。它提供了一个简化和标准化的界面,用于将大型语言模型 (LLM) 合并到应用程序中。它还为快速工程提供了功能丰富的界面,允许开发人员尝试不同的策略并评估其结果。通过使用Langchain,您可以更有效、更直观地执行快速的工程任务。LangFlow作为一个用户界面,用于将 LangChain 组件编排成可执行流程图,从而实现快速原型设计和实验。浪链填补了大众人工智能发展的关键空白。它支持一系列 NLP 应用程序(例如虚拟助手、内容生成器、问答系统等)来解决一系列现实问题。LangChain 不是一个独立的模型或提供者,而是简化了与不同模型的交互,将 LLM 应用程序的功能扩展到简单 API 调用的限制之外。浪链架构LangChain的主要组件包括模型I/O、提示模板、内存、代理和链。型号输入/输出LangChain 通过使用称为模型 I/O 的标准化接口来封装各种语言模型,从而促进与各种语言模型的无缝连接。这有助于轻松进行模型切换,以实现优化或更好的性能。LangChain支持多种语言模型提供商,包括OpenAI、HuggingFace、Azure、Fireworks等。提示模板这些用于通过提供简洁的说明或示例来管理和优化与法学硕士的互动。优化提示可增强模型性能,其灵活性对输入过程有显着贡献。提示模板的简单示例:1234from langchain.prompts import PromptTemplateprompt = PromptTemplate(input_variables=subject,template=What are the recent advancements in the field of subject?)print(prompt.format(subject=Natural Language Processing)随着复杂性的提高,我们在 LangChain 中遇到了更复杂的模式,例如理性和行动(ReAct)模式。ReAct 是操作执行的重要模式,其中代理将任务分配给适当的工具,为其自定义输入,并解析其输出以完成任务。下面的 Python 示例展示了 ReAct 模式。它演示了浪链中的提示是如何构造的,使用一系列的想法和行动来推理问题并产生最终答案:12345678910PREFIX = Answer the following question using the given tools:FORMAT_INSTRUCTIONS = Follow this format:Question: input_questionThought: your initial thought on the questionAction: your chosen action from tool_namesAction Input: your input for the actionObservation: the actions outcomeSUFFIX = Start!Question: inputThought:agent_scratchpad记忆内存是 LangChain 中的一个关键概念,它使法学硕士和工具能够随着时间的推移保留信息。这种有状态行为通过存储先前的响应、用户交互、环境状态和代理的目标来提高LangChain应用程序的性能。ConversationBufferMemory 和 ConversationBufferWindowMemory 策略分别帮助跟踪对话的完整部分或最近部分。对于更复杂的方法,ConversationKGMemory 策略允许将对话编码为知识图,该知识图可以反馈到提示中或用于预测响应,而无需调用 LLM。代理商代理通过执行操作和任务与世界交互。在LangChain中,代理结合了工具和链来执行任务。它可以建立与外界的信息检索连接,以扩充LLM知识,从而克服其固有的局限性。他们可以根据情况决定将计算传递给计算器或 Python 解释器。代理配备了子组件: 工具:这些是功能组件。 工具包:工具的集合。 代理执行器:这是允许在工具之间进行选择的执行机制。LangChain中的代理也遵循零样本ReAct模式,其中决策仅基于工具的描述。该机制可以通过内存进行扩展,以便考虑完整的对话历史记录。借助 ReAct,您可以提示法学硕士在思想/行动/观察循环中做出响应,而不是要求法学硕士自动完成您的文本。链条链,顾名思义,是允许 LangChain 库无缝处理语言模型输入和输出的操作序列。LangChain 的这些组成部分基本上是由链接组成的,这些链接可以是其他链,也可以是提示、语言模型或实用程序等原语。将链条想象为工厂中的传送带。这条带上的每一步都代表一个特定的操作,可以调用语言模型,将 Python 函数应用于文本,甚至以特定方式提示模型。LangChain将其链分为三种类型:实用链、通用链和组合文档链。我们将深入讨论实用链和通用链。 实用程序链专门设计用于从语言模型中提取狭义任务的精确答案。例如,让我们看一下 LLMMathChain。该实用程序链使语言模型能够执行数学计算。它接受自然语言的问题,语言模型反过来生成一个 Python 代码片段,然后执行该代码片段以产生答案。 另一方面,通用链作为其他链的构建块,但不能直接独立使用。这些链(例如 LLMChain)是基础链,通常与其他链结合来完成复杂的任务。例如,LLMChain 经常用于查询语言模型对象,方法是根据提供的提示模板格式化输入,然后将其传递到语言模型。使用 Langchain 逐步实施即时工程我们将引导您完成使用 Langchain 实施即时工程的过程。在继续之前,请确保您已安装必要的软件和软件包。您可以利用 Docker、Conda、Pip 和 Poetry 等流行工具来设置 LangChain。这些方法的相关安装文件可以在 LangChain 存储库中找到,网址为s:/ Docker 的Dockerfile、用于 Pip 的requirements.txt 、用于 Poetry 的pyproject.toml以及用于 Conda 的langchain_ai.yml文件。在我们的文章中,我们将使用Python的标准包管理器Pip来方便第三方库的安装和管理。如果您的 Python 发行版中未包含它,您可以按照s:/pip.pypa.io/上的说明安装 Pip 。要使用 Pip 安装库,请使用命令pip install library_name。但是,Pip 本身并不管理环境。为了处理不同的环境,我们使用virtualenv工具。在下一节中,我们将讨论模型集成。第1步:设置Langchain首先,您需要安装 Langchain 软件包。我们使用的是Windows操作系统。在终端中运行以下命令来安装它:1pip install langchain第二步:导入Langchain及其他必要模块接下来,导入 Langchain 以及其他必要的模块。在这里,我们还导入了 Transformers 库,该库广泛用于 NLP 任务。12import langchainfrom transformers import AutoModelWithLMHead, AutoTokenizer第 3 步:加载预训练模型开放人工智能OpenAI模型可以方便地与LangChain库或OpenAI Python客户端库对接。值得注意的是,OpenAI 为文本嵌入模型提供了 Embedding 类。两个关键的 LLM 模型是 GPT-3.5 和 GPT-4,主要区别在于令牌长度。每种型号的定价可以在 OpenAI 的网站上找到。虽然有像 GPT-4-32K 这样的更复杂的模型具有更高的令牌接受度,但并不总是能保证它们通过 API 的可用性。访问这些模型需要 OpenAI API 密钥。这可以通过在 OpenAI 平台上创建帐户、设置计费信息并生成新密钥来完成。12import osos.environOPENAI_API_KEY = your-openai-token成功创建密钥后,您可以将其设置为环境变量 (OPENAI_API_KEY) 或在 OpenAI 调用的类实例化期间将其作为参数传递。考虑一个 LangChain 脚本来展示与 OpenAI 模型的交互:12345from langchain.llms import OpenAIllm = OpenAI(model_name=text-davinci-003)# The LLM takes a prompt as an input and out
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号