- 博客(512)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 分布式锁:红锁redLock和联锁multiLock源码分析
环境Java11前言一开始只是想研究红锁源码,但是发现红锁源码是基于联锁源码的,所以联锁的情况一起分析了下;Redis获取分布式锁,其实就是向N个Redis实例中使用SETNX来对该resource设置键值。为了方便分析代码,假设集群里三个Redis实例;起始调用代码:long leaseTime = 3L;lock.lock(leaseTime, TimeUnit.SECONDS);RedissonRedLock redLock = new RedissonRedLock(lock);
2020-11-18 17:55:47 5215 1
原创 stable diffusion工作原理
VAE文件在Stable Diffusion v1中被用来改善眼睛和面部。它们是我们刚刚讨论的自编码器的解码器。通过进一步微调解码器,模型能够绘制更精细的细节。您可能意识到我之前提到的并不完全正确。将图像压缩到潜在空间确实会丢失信息,因为原始的VAE无法恢复细微的细节。相反,VAE解码器负责绘制精细的细节。
2023-12-21 20:21:17 1987
原创 Dreambooth工作原理
Dreambooth是类似LoRA 模型。可以对照片的主体、风格、样式,进行微调的模型。不过据说没有LoRA模型好,LoRA可是直接对交叉注意力层进行训练调整的。
2023-10-19 22:34:17 2712
原创 【ComfyUI】MacBook Pro 安装(Intel 集成显卡)
看之前,一定要确认环境。看之前,一定要确认环境。看之前,一定要确认环境。我这台MacBook Pro是英特尔的集成显卡,所以用不了CUDA,也就用不了GPU。(主要是因为英特尔没有出相应的工具包)所以按照ComfyUI思路就是,最终是要使用CPU来跑的。
2023-10-11 22:39:09 4848
原创 【ComfyUI】Pytorch预训练模型(torch.hub)缓存地址修改
最近玩ComfyUI时,每次生成图片,总是会下载一些东西,时间长了,C盘就不够用了,今天清理C盘发现,总是会在这个路径下,下载大模型文件,关键还挺大的。今天研究了下,怎么修改缓存路径,特记录下。
2023-09-26 22:26:26 2029
原创 【GIT】Git clone https://xxx.git 报错仓库找不到,ssh却可以。
但是我搜索MacBook Pro 电脑发现,我的钥匙串里面压根就没有github的密码配置。经过各种尝试后,发现,我的MacBook Pro,使用。网上有种情况,说是也因为过期的钥匙串导致的。时,就会提示,仓库找不到。地址时,可以下载下来,假设我们想删除的话,
2023-09-26 15:01:25 1937
原创 【kohya】训练自己的LoRA模型
在把玩的webUI和comfyUI后,思考着自己也微调一个个性化风格的checkpoint、LyCORIS或LoRA。
2023-09-24 23:00:02 4953 1
原创 【ComfyUI】RuntimeError: CUDA error: operation not supported
最近好不容易,安装好ComfyUI后,启动也OK,点击生成图片时,报错了got promptadm 0!!!!!这个问题查了挺久的资料的,特意记录下解决方案。
2023-09-20 00:02:56 6476 1
原创 【ComfyUI】安装 之 window版
由于无法做到对流程进行控制,只是点击个生成按钮后,一切都交给AI来处理。但是用于生产生活是需要精细化对各个流程都要进行控制的。Comfyui。
2023-09-14 08:38:22 8183
原创 【Stable Diffusion安装】支持python3.11 window版
主要的安装步骤是参考B站播放量第一的视频,但是那位阿婆主应该是没有编程经验,只强调使用3.10,而python最新版本是3.11。理论上来说,只是一个小版本的不同,应该是可以安装成功了。自己摸索了下,挺费劲了,故记录下,支持最新版python3.11的安装经验。毕竟CSDN是编程人员的论坛,这点小事,应该没问题。
2023-09-03 00:41:09 5467 2
原创 【LangChain】Memory
本篇讲解 聊天的历史记录: 如何存储、如何查询。这里是使用类来完成存储和查询的。# 构建一个memory# 关联大模型llm=llm,# 查询# 请注意,我们只是传入“question”变量 - “chat_history”由memory填充公开两种方法和一个属性。它公开的两个方法是和,用于存储来自用户的消息和相应的 AI 响应。它公开的属性是message属性,用于访问所有以前的消息。
2023-08-12 19:03:23 1395
原创 【LangChain】Prompts之示例选择器
在本教程中,我们将创建一个自定义示例选择器,用于从给定的示例列表中选择每个备用示例。方法接受一个示例并将其添加到中方法,它接受输入变量并返回部分示例列表或全部列表。让我们实现一个自定义的,它只随机选择两个示例。在这里查看 LangChain 支持的当前示例选择器实现集。
2023-08-09 08:09:15 1284
原创 【LangChain】Prompts之自定义提示模板
LangChain提供了一组默认的提示模板,可用于生成各种任务的提示。但是,在某些情况下,默认的提示模板可能无法满足我们的需求。例如,我们可能想要创建一个提示模板,其中包含适合我们的语言模型的特定动态指令。在这种情况下,您可以创建自定义提示模板。在此处查看当前的默认提示模板集。本质上有两种不同的提示模板可用 -字符串提示模板和聊天提示模板。一、字符串提示模板提供字符串格式的简单提示。二、聊天提示模板生成更结构化的提示以与聊天 API 一起使用。在本指南中,我们将使用字符串提示模板创建自定义提示。
2023-08-08 08:16:36 2386
原创 【LangChain】Prompts之Prompt templates
是指生成提示的可重复的方式。它包含一个文本字符串(“模板”),可以接收来自最终用户的一组参数并生成提示。对语言模型的指令,一组几个镜头示例来帮助语言模型生成更好的响应,对语言模型的一个问题。您是新公司的命名顾问。生产{product}的公司起什么好名字?""" prompt = PromptTemplate . from_template(template) prompt . format(product = "彩色袜子")您是新公司的命名顾问。一家生产彩色袜子的公司起什么名字好呢?
2023-08-04 08:38:56 5558
原创 【LangChain】向量存储(Vector stores)
加载数据通过embed,转成向量存储查询条件进行embed在3的基础上,再进行向量存储库的搜索。
2023-07-31 07:54:06 9270
原创 【LangChain】检索器之上下文压缩
我们在进行文档搜索的时候,正相关的文档是少部分,大部分都是不相关的文档。我们可以使用上下文压缩检索器,只返回正相关的那部分文档。特别是第二步骤:构建上下文压缩器的第一个参数,有很多花样:① LLMChainExtractor 提取,精炼② LLMChainFilter 普通过滤③ EmbeddingsFilter 嵌入过滤④ DocumentCompressorPipeline 文档管道,可以将多个过滤器组合在一起。
2023-07-25 08:31:29 3157
原创 【LangChain】检索器之MultiQueryRetriever
现在的搜索,其实是基于向量库的检索,本质上是距离的检索。而我们搜索的措辞的微妙变化,会产生不同的结果,这需要我们手动调整,这个工作枯燥乏味。,可以基于你给出的问题,生成多个相关问题。通过生成多角度问题,来自动调整这种微妙的措施变化。指定llm。
2023-07-24 08:22:42 3031
原创 【LangChain】数据连接(Data connection)
有关支持哪些 csv 参数的更多信息,请参阅csv 模块文档。# 注意csv_args参数 loader = CSVLoader(file_path = './example_data/mlb_teams_2012.csv' , csv_args = {
2023-07-17 22:16:11 2302 2
原创 【LangChain】概要(Summarization)
您还可以在该链上使用您自己的prompt。在此示例中,我们将用意大利语回复。# 该prompt说:要用意大利语做摘要 prompt_template = """Write a concise summary of the following:{text}
2023-07-15 16:06:48 5137
原创 【LangChain】SQL
您还可以自定义所使用的prompt。这是一个prompt示例:它理解foobar与Employee表是相同的;
2023-07-13 08:31:26 8223 1
原创 【LangChain】对话式问答(Conversational Retrieval QA)
它首先将聊天记录(显式传入或从提供的内存中检索)和问题组合成一个独立的问题,然后从检索器中查找相关文档,最后将这些文档和问题传递到问答链以返回一个响应。这样会有一个非常大的好处:我们可以使用更便宜、更快的模型来完成问题的凝练工作,然后再使用昂贵的模型来回答问题。首先,它将当前问题和聊天历史凝练为一个独立的问题。声明性特性的部分强大之处在于,您可以轻松地为每个调用使用单独的语言模型。之后,它进行检索,然后使用单独模型的检索增强生成来回答问题。在下面的示例中,我们将从向量存储创建一个,该向量存储可以从。
2023-07-09 17:26:18 9607 1
原创 【LangChain】Retrieval QA
您可以传入自定义prompt来进行问答。这些提示与您可以传递到基本问答链的提示相同。{context}Answer in Italian:""" PROMPT = PromptTemplate(template = prompt_template , input_variables = [ "context" , "question" ]) # 自定义 chain prompt chain_type_kwargs = {
2023-07-09 12:17:46 7564
原创 【LangChain】Document篇
文本就是讲解对Document的基础操作chain有哪些?chain描述该链非常适合文档较小且大多数调用只传递少量文档的应用程序。通过循环输入文档并迭代更新其答案来构建响应.将A文档转换成B文档,然后针对B文档进行输出。对答案增加了确定下评分。返回得分最高的响应。
2023-07-08 17:02:02 2687
原创 【LangChain】转换(Transformation)
该笔记本展示了使用通用转换链。例如,我们将创建一个转换函数,它接受超长文本,将文本过滤为仅前 3 段,然后将其传递到LLMChain中以总结这些内容。
2023-07-08 16:12:55 1372
原创 【LangChain】顺序(Sequential)
本文主要讲,。多个Chain,如何按顺序串起来:SimpleSequentialChain:这种方式,输入、输出变量都只能是一个,也正因如此,所以上下游的Chain的输入输出变量名可以不一样。SequentialChain:这种方式,允许有多个输入、输出变量。上下游的Chain的输入输出变量,要对应,不然传不下去。顺序链中使用Memory,因为变量变多后,会在使用上造成混乱,故提供了Memory的方式,来避免这种混乱。
2023-07-07 17:52:47 1871
原创 【LangChain】路由(Router)
本文将演示如何使用范例创建一个Chain,该Chain动态选择用于给定输入的下一个Chain。RouterChain 本身(负责选择下一个要调用的链)destination_chains:路由器链可以路由到的链在本笔记本中,我们将重点关注不同类型的路由链。我们将展示在中使用的这些路由链,以创建一个问答链,该问答链选择与给定问题最相关的提示,然后使用该提示回答问题。本文主要教我们如何路由不同的prompt。方式一:利用LLM,进行路由。创建多个Prompt,利用方法得到。再利用得到利用就得到。
2023-07-07 08:37:51 2300
原创 【LangChain】LLM
LLMChain是一个简单的链,它围绕语言模型添加了一些功能。它在整个LangChain中广泛使用,包括在其他链和代理中。LLMChain由和语言模型(LLM 或聊天模型)组成。它使用提供的输入键值对(以及内存键值对,如果可用的话)作用于格式化提示模板,并将格式化后的字符串传递给LLM并返回LLM输出。本文主要讲述如何构建LLMChain,由:LLM和Prompt两个部分组成。运行LLMChain的方法有:方法名描述run只打印一个key的valueapply输入允许传入List。
2023-07-06 17:56:46 1633
原创 【LangChain】序列化(Serialization)--持久化到磁盘
本笔记本介绍了如何将Chain序列化到磁盘和从磁盘序列化回来。我们使用的序列化格式是json或yaml。目前,只有部分Chain支持这种类型的序列化。随着时间的推移,我们将增加支持的Chain的数量。本文讲述了,如何持久化、从磁盘加载、独立序列化组件、加载独立序列化组件的内容。序列化:就是Chain对象调用save()方法。从磁盘中加载:就是使用,去读取文件,得到Chain对象。。加载独立序列化组件:config = {
2023-07-06 08:08:38 860
原创 【LangChain】添加上下文记忆(Adding memory (state))
可以使用Memory对象来初始化Chain,该对象将在对Chain的调用之间保留数据。这使得Chain有状态。聊天GPT,应该就是这么它吧。大模型增加记忆后,就可以聊天了。构建Chain时,增加memory参数,其实拥有记忆Memory。
2023-07-06 07:30:54 1657
原创 【LangChain】结合代理和向量存储(Combine agents and vector stores)
文本讲述的是将agent和向量存储结合起来使用。其实和用PDF当做知识源是一个思路。先加载知识源将知识源用embeddings,进行相关性计算,得到可搜索对象。将可搜索对象,llm等参数,传入,得到可用知识库将知识库制作为工具创建agent,并制定工具运行代理。
2023-07-06 07:15:47 1240
原创 【LangChain】从LangChainHub加载(Loading from LangChainHub)
可以理解为LangChain工具包或者说组件中心。里面提供了高质量的组件方便使用。他的笔记本介绍了如何从加载Chain。这篇主要就是告诉我们,,这个可以从中加载数据。
2023-07-04 22:46:27 1653 2
原创 【LangChain】调试Chain(Debugging chains)
就是打印更详细的Chain信息(如:内部信息),以知道它是如何工作的。仅从Chain对象的输出中调试Chain对象可能很困难,因为大多数Chain对象都涉及大量的输入提示预处理和LLM输出后处理。将verbose设置为True将在运行时打印Chain对象的一些内部状态。")
2023-07-04 22:17:55 1567
原创 【LangChain】不同的调用方式(Different call methods)
本笔记:讲述Chain的不同调用方式。所有从Chain继承的类中都提供了几种运行链逻辑的方法。最直接的方法是使用__call__;__call__这个是python版中的方法已经实现了。要调用Chain的方法。先构造llm_chain执行,即可。默认情况下,输入和输出都会打印出来"adjective" : "corny" }) # 结果 {' }单个输出就使用run方法。
2023-07-03 22:39:19 1923
原创 OpenAI Functions Agent持久化(Add Memory to OpenAI Functions Agent)
本笔记本介绍了如何对代理进行持久化。创建大模型Google搜索组件、数学计算组件、DB组件将2中的组件,整合成工具列表初始化代理,并得到代理对象通过代理对象,开始启动。
2023-07-03 17:58:05 514
原创 Agent types(代理类型)
代理使用LLM来确定以及。**动作(action)**可以是使用工具并观察其输出,也可以是向用户返回的响应。以下是LangChain可用的代理。
2023-07-03 17:33:18 594
scalable-io-in-java-中文.pdf
2019-07-04
SSH整合时出现空指针问题
2014-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人