自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 LangChain —— Chat Model

使用消息序列作为输入并返回 chat message 作为输出的语言模型 (与使用纯文本相反)。这些是传统上较新的模型 (旧模型通常是 LLM,见下文)。Chat Model 支持为对话消息分配不同的角色,有助于将 messages 与 AI、user 和 system message 等指令区分开来。尽管底层模型是消息输入、消息输出,但 LangChain 包装器也允许这些模型将字符串作为输入。这意味着您可以轻松地使用 Chat Model 来代替 LLM。

2024-07-13 20:03:12 280

原创 LangChain —— Prompt Templates —— How to use few shot examples in chat models

本指南介绍了如何使用示例输入和输出提示 char model。为模型提供几个这样的例子被称为 few-shotting,这是一种简单而强大的方法来指导生成,在某些情况下可以大大提高模型性能。对于如何最好地进行 few-shot 提示,似乎没有达成一致意见,最佳提示编译可能会因模型而异。因此,langchain 提供 few-shot 提示模板,如 FewShotChatMessagePromptTemplate,作为一个灵活的起点,我们可以根据需要修改或替换它们。

2024-07-13 15:35:26 512

原创 LangChain —— Prompt Templates —— How to use few shot examples

在本指南中,我们将学习如何创建一个简单的提示模板,在生成时为模型提供示例输入和输出。为 LLM 提供一些这样的例子被称为 “few-shotting”,这是一种简单而强大的方法来指导生成,在某些情况下可以大大提高模型性能。一个 few-shot 提示模板可以从一组示例中构建,也可以从负责从定义的集合中选择示例子集的 Example Selector 类中构建。本指南将介绍一些使用字符串提示模板的 few-shot。有关 Chat Message 进行 few-shot 的指南,请参阅下一篇文章。

2024-07-13 15:10:22 323

原创 LangChain —— Message —— How to merge consecutive messages of the same type

某些模型不支持传递相同类型的连续消息(即相同消息类型的“运行”)。merge_message_runs 使合并相同类型的连续消息变得容易。

2024-07-13 14:48:03 219

原创 LangChain —— Message —— how to filter messages

在更复杂的链和代理中,我们可能会使用消息列表跟踪状态。此列表可以开始累积来自多个不同模型、说话者、子链等的消息,我们可能只想将此完整消息列表的子集传递给链/代理中的每个模型调用。filter_message 使按 type、id、name 过滤消息变得容易。

2024-07-13 14:33:27 132

原创 LangChain —— Message

一些语言模型将消息列表作为输入并返回消息。有几种不同类型的消息。所有消息都有一个 role、content 和 response_metadata 属性。role 描述了 WHO 正在传达的信息。LangChain 为不同的角色提供了不同的消息类。content 描述消息的内容。字符串,大多数模型处理此类内容。字典列表,用于多模态输入,其中字典包含有关该输入类型和输入位置的信息。

2024-07-13 13:10:29 569

原创 LangChain —— Message —— How to trim messages

所有模型都有有限的上下文窗口,这意味着它们可以作为输入的 token 数量是有限的。如果你有很长的消息,或者一个 chain 或 agent 累积了很长的历史消息,你需要管理你传递给模型的消息的长度。trim_messages util 提供了一些基本策略,用于将消息列表修剪为特定的 token 长度。为了获取消息列表中的最后一个 max_tokens,我们可以设置 strategy=“last”。

2024-07-13 13:09:17 282

原创 LangChain —— Prompt Templates

提示模板有助于将用户输入和参数转换为语言模型的指令。这可用于指导模型的响应,帮助它理解上下文并生成相关和连贯的基于语言的输出。提示模板将字典作为输入,其中每个键表示提示模板中要填写的变量。提示模板输出提示PromptValue 值。此 PromptValue 可以传递给 LLM 或 ChatModel,也可以转换为字符串或消息列表。此 PromptValue 存在的原因是便于在字符串和消息之间切换。

2024-07-12 19:19:00 571

原创 LangChain 语言 —— LCEL

LangChain表达式语言是一种创建任意自定义链的方法。它建立在 Runnable 协议之上。

2024-07-11 17:56:00 333

原创 LangChain —— 多模态大模型的 prompt template

在这里,我们演示了如何将多模式输入直接传递给模型。对于其他的支持多模态输入的模型提供者,langchain 在类中提供了内在逻辑来转化为期待的格式。在这里,我们将描述一下怎么使用 prompt templates 来为模型格式化 multimodal imputs。我们可以直接在“image_URL”类型的内容块中提供图像URL。但是注意,只有一些模型提供程序支持此功能。传入图像最常用的方法是将其作为字节字符串传入。这应该适用于大多数模型集成。我们也可以给模型传入多个图片。我们也可以传多个图片。

2024-07-11 15:11:03 484

原创 windows系统下,如何使用GPU

文章目录一、二、一、二、

2024-07-07 20:23:19 19

原创 LangChain 部署本地 LLM —— ollama

PrivateGPT、llama.cpp、Ollama、GPT4All、llamafile 等项目的流行凸显了在本地 (在本地设备上) 运行 LLM 的需求。 这至少有两个重要的好处:隐私:您的数据不会发送给第三方,也不受商业服务的服务条款约束成本:没有推理费,这对于 token 密集型应用程序 (例如,长时间运行的模拟、摘要)很重要

2024-07-04 16:57:18 353

原创 LangChain 概述 (模块索引)

LCEL 是一种创建任意自定义链的方法。它基于 Runnable 协议。传输和处理,而不是一次性批量传输。提示模板负责将用户输入格式化为可以传递给语言模型的格式。聊天模型是一种较新的语言模型,可以接收消息并输出消息。LangChain 所称的 LLMs 是语言模型的。示例选择器负责选择正确的几个短示例传递给提示。通常指的是一种数据处理方式,其中数据是。消息是聊天模型的输入和输出。:快速概览如何使用主要 LCEL 原语。,它以字符串为输入,以字符串为输出。,描述了消息的来源。

2024-07-04 16:24:15 370

原创 LangSmith 的使用

您使用 LangChain 构建的许多应用程序将包含多个步骤,并多次调用 LLM 调用。随着这些应用程序变得越来越复杂,能够检查链或代理内部究竟发生了什么变得至关重要。最好的方法是使用LangSmith。LangSmith 是一个用于构建生产级 LLM 应用程序的平台。它允许您密切监控和评估您的应用程序,以便您可以快速而自信地交付。无需使用 LangChain,即单独使用 LangSmith 可以独立运行!初始化并包装OpenAI客户端以支持自动跟踪。

2024-06-19 15:22:40 941

原创 构建一个 RAG 应用

LLM 支持的最强大的应用程序之一是复杂的问答 (Q&A) 聊天机器人。这些应用程序可以回答有关特定源信息的问题。这些应用程序使用一种称为检索增强生成 (RAG)的技术。这里将展示如何基于文本数据源构建一个简单的问答应用程序。在此过程中,我们将介绍典型的问答架构,并重点介绍更多高级问答技术的资源。我们还将了解LangSmith如何帮助我们跟踪和理解我们的应用程序。随着我们的应用程序变得越来越复杂,LangSmith 将变得越来越有用。RAG 是一种利用附加数据增强 LLM 知识的技术。

2024-06-18 14:32:08 171

原创 LLM (Large Language Model)

LLMdataarchitecturetraining。

2024-06-09 00:21:20 432

原创 《图解密码技术 (认证)》第九章 —— 数字签名

数字签名是一种将相当于现实世界中的。的功能在计算机世界中进行实现的技术。

2024-06-04 18:47:51 215

原创 《图解密码技术 (认证)》第八章 —— 消息认证码

消息认证码是密码学家工具箱中 6个重要的工具之一。我们来回忆一下,这 6个重要工具分别是:对称密码、公钥密码、单向散列函数、消息认证码、数字签名、伪随机数生成器。使用消息认证码可以确认自己收到的消息。,也就是说,使用消息认证码可以。

2024-06-01 17:16:57 172

原创 《图解密码技术 (认证)》第七章 —— 单向散列函数

Alice 在公司里从事软件开发工作。一天晚上,她的软件终于完成了,接下来只要把文件从 Alice 的电脑中复制出来并制作成母盘就可以了。不过,Alice 已经很累了,她决定今天晚上早点回家休息,明天再继续弄。第二天,Alice 来到公司准备把文件从自己的电脑中复制出来,但她忽然产生了这样的疑问:“这个文件和我昨晚生成的文件是一样的码?总而言之,Alice需要知道从昨天到今天的这段时间内,Mallory 是否篡改了文件的内容。这种 “一样的” 的性质称为完整性 (integrity)

2024-05-30 17:48:24 545

原创 《图解密码技术 (密码)》第六章 —— 混合密码系统

用对称密码提高速度,用公钥密码保护会话密钥。

2024-05-28 19:09:30 680

原创 《图解密码技术 (密码)》第五章 —— 公钥密码

在现实世界中使用对称密码时,我们一定会遇到密钥配送问题 (key distribution problem)。假设 Alice 和 Bob 用过对称加密进行对话。Alice 不但要将密文发送给 Bob,还需要将密钥也发送给 Bob,这样 Bob 才能解密 密文 得到 明文。但是,如果同时发送密文和密钥,则 Eve 也能够同时拿到 密文和密钥 完成解密,图5-1。当然,如果窃听者 Eve无法知道使用的是什么密码算法,那么即便得到了密文和密钥也是无法解密的。然而,

2024-05-24 22:48:38 990 1

原创 《图解密码技术 (密码)》第四章 —— 分组密码的模式

我们在 第3章 中介绍的 DES 和 AES都属于分组密码,它们。是对数据流进行连续处理的一类密码算法。在第3章 “对称密码” 中所介绍的算法中,只有。例如,如果使用上面骡子的故事中所提到的。,最后再来考察一下到底应该使用哪一种模式。处理完一个分组就结束了,因此不需要通过。是对一串数据流进行连续处理,因此。这一章可以先跳过,为了快速读完本书。分组密码有很多种模式,如果。本章中,我们将首先讲解。的一类密码算法,这里的。,就需要对分组密码进行。

2024-05-24 19:19:33 341 1

原创 《图解密码技术 (密码)》第三章 ——对称密码 (共享密钥密码)

只要通过暴力破解法对密钥空间进行遍历,无论什么密文总有一天也都能够被破译。然而,本节中将要介绍的一次性密码本 (one-time pad)却是一个例外。即便用暴力破解法遍历整个密钥空间,一次性密码本也绝对无法被破译。DES (Data Encryption Standard) 是1977年美国联邦信息处理标准 (FIPS) 中所采用的一种对称密码 (F1PS 46-3)。但是,由于 DES 的密文可以在短时间内被破译,因此除了用它来解密以前的密文以外,现在我们不应该再使用 DES 了。

2024-05-22 22:53:22 618 1

原创 《图解密码技术 (密码)》第二章 —— 历史上的密码

恺撒密码是通过将明文中所使用的字母表按照一定的字数“平移”来进行加密的。在日语 (例如平假名) 或者 汉语 (例如汉语拼音) 中也可以用同样的思路来实现恺撒密码,但为了简化内容,在这里我们只使用英文字母。

2024-05-20 16:43:18 311

原创 《A Graduate Course in Applied Cryptography0.6》第二十一章 —— 认证密钥交换

假设 Alice 和 Bob 希望通过不安全的网络进行安全通信。他们想用安全通道。第9章中,我们看到了如果 Alice 和 Bob 已经有了一个共享密钥1,他们是如何做到这一点的;特别是,我们研究了现实世界中的协议,如SSL和TLS记录协议,它们提供了对数据包的认证加密,并且还保证数据包按顺序发送,且没有重复。然而,这引出了一个问题:Alice 和 Bob如何建立这样一个共享密钥来开始?用于此目的的协议称为认证密钥交换 (AKE) 协议,也是本章的主题。

2024-05-13 20:21:27 558

原创 《图解密码技术 (密码)》第一章 —— 环游密码世界

如果两个散列值一致,就说明下载的文件与发布者所发布的文件是相同的。用上面的例子来说,Alice 可以对 “以100万元的价格购买该商品” 的内容加上数字签名后再通过邮件发送,而 Bob 则可以对该数字签名进行。想象一下,我们在网页下载某个软件,如何知道我们下载的软件和开发者上传的是一样的没有被恶意植入或修改呢?,这种系统结合了 对称密码和公钥密码的优势 (关于混合密码系统,我们将在 第5章 详细讲解)。将消息加密后发送的话,即使消息被窃听,窃听者得到的也只是密文,而无法得知加密前的明文内容。

2024-05-08 17:34:29 775

原创 隐私计算 第一篇论文阅读笔记 (未完待续)

但是,为了使这些基因数据可用于科学研究,患者将自己暴露在侵犯隐私的风险中。即使数据是匿名的,个体患者的基因组数据也可以被重新识别,并可能使近亲面临类似的风险。基于政治的解决方案数据去标识化近似查询应答和基于密码学的技术解决方案。新兴的加密解决方案正迅速变得越来越重要。加密是一种工具,它本质上允许人们将数据密封在一个隐喻的保险库中,只有持有秘密解密密钥的人才能打开。同态加密 HE允许其他方在不拥有密钥的情况下对数据进行操作(比喻通过手套箱将手伸入保险库并操纵数据)。全同态加密 FHE。

2024-04-05 23:33:37 281

原创 算法笔记总目录

算法笔记总目录排序算法快速排序快速选择算法

2024-04-05 11:44:31 233 1

原创 排序算法笔记 - 快速排序

设定两个指针 i 和 j,最开始时 i 在序列的最左边,j 在序列的最右边,将指针 i 和 j 分别向中间移动,每次移动一位,直到 i 到了一个值大于 x 的位置,j 到了一个值小于 x 的位置上,然后将 i 和 j 所在的位置上的数组交换 …:调整范围,将序列中小于 x 的元素放在一个标记的左边,记这个标记为 i,将大于 x 的元素放在 i 的右边,最终使得小于 x 的元素都在 x 的左边,大于 x 的都在 x 的右边,相等的则左右都可以存在;时间复杂度——O(n logn)

2024-04-05 11:40:14 183 1

原创 markdown初体验

记录第一次学markdown的内容

2024-04-04 14:15:36 1021

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除