- 博客(89)
- 收藏
- 关注
原创 使用LangCain让LLM格式化输出的两种方式
本文介绍了两种实现结构化输出的方法:1) 通过模型原生的with_structured_output方法,直接指定输出schema(支持TypedDict、JSON模式或Pydantic类);2) 使用提示词结合Pydantic解析器的方式,通过输出格式化指令来解析模型响应。示例展示了如何定义Pydantic模型(如Joke类和People类),并分别演示了两种方法的具体实现代码。第一种方法更简洁,第二种方法则适用于不支持原生结构化输出的模型。
2025-06-12 01:35:40
68
原创 langchain 实现 任务分解器
例如:软件开发流程(需求分析 → 设计 → 编码 → 测试 → 部署)需要分解为市场调研、产品设计、测试、营销策略等子任务。1.复杂长期目标:当任务过于复杂,无法一步完成时。例如:内容创作项目中的文本撰写和图片设计可以并行。2.多步骤依赖关系:任务间存在明确的先后顺序。4.资源分配优化:需要合理分配计算资源或时间。3.并行处理需求:某些子任务可以同时进行。大型数据处理任务可以分解为多个批次处理。例如:“制定一个完整的产品发布计划”
2025-05-20 17:06:56
234
原创 langgraph 使用异步tools
如果使用ainvoke 或者 astream , 框架会自动的异步调用工具。只需要把工具携程async 的形式就可以。
2025-05-20 09:45:49
190
原创 Please install it with pip install onnxruntime
我python 版本是3.11 ,我换成3.10 解决了。
2025-05-16 16:49:49
223
原创 Transformer 后几层作为嵌入模型与 PyTorch 的 nn.Embedding 的区别
最初的嵌入层虽然是 Transformer 编码器架构的一部分,但它与后续层产生的上下文嵌入是不同的。Transformer 编码器嵌入则非常适用于需要深入理解上下文的下游任务,例如:语义搜索(比较查询和文档的嵌入以找到语义上相似的内容 10)、文本分类(使用上下文嵌入作为将文本分类到不同类别的特征 10)、问答(理解问题和段落的上下文以识别答案 4)、机器翻译(将源语言文本编码为上下文表示,供解码器生成翻译 4)和情感分析(根据词语的上下文含义确定文本中表达的情感 22)。另一方面,PyTorch 的。
2025-05-06 01:34:35
829
原创 LoRA关键超参数:LoRA_rank(通常简称为 rank` 或 r)和 LoRA_alpha(通常简称为 `alpha`)
LoRA_rank(通常简称为rank或r)和LoRA_alpha(通常简称为alphaLoRA 的核心思想是,在对大型预训练模型(如 LLM 或 Stable Diffusion)进行微调时,我们不需要更新模型的所有权重。相反,我们可以冻结原始权重W0,并为模型的某些层(通常是 Transformer 的 Attention 层中的WqWkWvWo矩阵)注入一对可训练的、低秩的“适配器”矩阵A和B。模型层的前向传播被修改为:hW0xhW。
2025-04-17 14:54:29
1288
原创 Spring中,出现依赖不完全注入后才执行逻辑
如果在并发环境中访问Bean对象,而依赖注入尚未完成,可能出现问题。这通常发生在开发者手动创建线程并在其中访问Bean,而不是依赖Spring的线程管理。方法时,如果Bean的生命周期方法依赖于另一个Bean,而声明的顺序或注解不正确,也会导致依赖未完全注入。因为Spring容器在实例化Bean时,依赖注入是紧接在构造器之后完成的。如果两个或多个Bean之间存在循环依赖,Spring可能无法完成所有依赖的注入。如果逻辑在依赖注入完成之前执行,就会导致依赖未完全注入的情况。进行初始化和依赖注入的。
2025-01-09 23:17:47
562
原创 idea 运行 docker-compose 文件问题
我idea 连接远程docker 然后本地运行compose 文件出了问题本地的compose 文件 配置如下在 Docker Compose 文件中的volumes选项,用于将映射到。
2025-01-07 20:52:11
672
原创 Cannot run program “docker“: CreateProcess error=2,系统找不到指定的文件
检测配置 报错com.intellil,execution,process.ProcessNotCreatedException: Cannot run program “docker”: CreateProcess error=2,系统找不到指定的文件。gpt 要我去https://download.docker.com/win/static/stable/x86_64/ 下载一个。今天被这个问题坑了, 网上教程全是直接装插件就行 ,结果我连接可以成功 但是执行docker compose 就会出错,
2025-01-07 00:35:14
1728
6
原创 idea 远程docker 本地需要安装docker吗
m.intellil,execution,process.ProcessNotCreatedException: Cannot run program "docker":CreateProcess error=2,系统找不到指定的文件`
2025-01-07 00:33:55
402
原创 InternVL 多模态模型部署微调实践
准备InternVL模型我们使用InternVL2-2B模型。该模型已在share文件夹下挂载好,现在让我们把移动出来。cd /root。
2024-08-31 23:07:45
491
原创 OpenCompass 评测 InternLM-1.8B 实践
解压评测数据集到 /root/opencompass/data/ 处。列出所有跟 InternLM 及 C-Eval 相关的配置。将会在 OpenCompass 下看到data文件夹。InternLM和ceval 相关的配置文件。
2024-08-31 22:32:17
361
原创 8G 显存玩转书生大模型
1. 启动demo输出300字小故事2. Streamlit Web Demo 部署InternLM2-Chat-1.8B 模型安装依赖让他输出helloworld
2024-08-31 21:51:02
214
原创 书生大模型全链路开源体系
1月23日:发布了InternLM2-Math,这是首个同时支持形式化数学语言及解题过程评价的开源模型。5月24日:开源了InternLM2-Math-Plus,刷新了开源数学模型的性能上限。6月4日:开源了InternLM2-WQX,一个200亿参数量的模型,在2024年高考中取得了接近GPT-4o的成绩。7月6日:InternLM-7B模型开源,并且提供免费商用,同时发布了全链条开源工具体系。9月27日:开源了书生·浦语灵笔(InternLM-XComposer),这是首个支持图文混合创作的大模型。
2024-08-23 21:12:56
266
原创 入门岛第2关Python基础知识
3: step into: 进入函数或者方法。如果当行代码存在函数或者方法时,进入代码该函数或者方法。如果当行代码没有函数或者方法,则等价于step over。实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。2: step over:跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。4: step out:退出函数或者方法, 返回上一层。1: continue: 继续运行到下一个断点。6: stop:终止debug。
2024-08-12 23:40:00
342
原创 vue3+element实现一个公告面板
首先,确保你的项目使用的是 Vue 3。如果你还未创建项目,可以使用 Vue CLI 或 Vite 创建一个新项目。使用 Vue 3 的组合式 API,你可以创建一个公告栏组件。这里利用 Element Plus 的。在 Vue 3 中,通常在。
2024-05-16 23:25:34
2130
原创 vue强制刷新组件
在Vue中强制刷新一个组件,通常不是一个推荐的做法,因为Vue的响应式系统设计就是为了自动处理依赖的更新。通过切换一个标志位的真假值来挂载或卸载组件,可以实现组件的重新渲染。可以通过重新设置组件的数据来触发更新。这可以通过将数据重置为初始值或新值来实现。发生变化时,Vue会销毁旧组件并创建一个新组件,从而实现重新渲染。只会影响实例本身和插入插槽内容的子组件,但不会使组件内的子组件重新渲染。这是Vue实例方法,用于强制Vue实例重新渲染。到一个数据属性并在需要时更新这个属性来完成。最常见的方法是改变组件的。
2024-05-07 17:10:31
915
1
原创 ImportError: cannot import name ‘TypeAliasType‘ from ‘typing_extensions‘问题的解决
typing_extensions 是一个 Python 库,它提供了在当前或较旧的 Python 版本中不可用的额外类型提示(type hints)和类型相关的功能。这个库是为了向后兼容而设计的,使得开发者能在旧版本的 Python 中使用最新的类型系统特性,而这些特性原本只在最新的 Python 版本中可用。Type Hints:在 Python 3.5 引入类型提示后,随着 Python 的进一步发展,不断有新的类型提示功能被添加到标准库 typing 中。替换成你的 Conda 环境名称。
2024-05-01 20:53:17
5663
1
原创 Java静态绑定和动态绑定
Java支持两种类型的绑定:静态绑定(也称为早期绑定)和动态绑定(也称为晚期绑定或虚拟调用)。编译器知道对象的类型以及被调用的方法,因此它能够将一个方法调用与方法体链接起来。动态绑定通过在对象的方法区存储一个指向方法的指针(在Java中称为虚拟方法表)来实现,运行时会根据这个指针来调用正确的方法。由于方法调用在编译时就已经确定,运行时不需要花费时间去查找应该调用的方法。方法展示了动态绑定,因为它是在运行时根据对象的实际类型调用的方法。方法是静态的,展示了静态绑定,它的调用在编译时就已经确定。
2024-04-19 19:27:00
512
原创 jvm内存结构
在Java 8中,永久代(PermGen,早期JVM中方法区的一种实现)被完全移除,取而代之的是元空间(Metaspace)。元空间主要存储类的元数据,它从本地内存中分配空间,而Java堆和方法区的其他部分仍然存在于虚拟机内存中。在Java虚拟机(JVM)中,方法区(Method Area)是一个特殊的内存区域,主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等。:包括字段和方法的信息,如字段的名称、类型、修饰符以及方法的名称、返回类型、参数、修饰符等。也叫永久代,用于存储。
2024-04-19 18:04:57
444
原创 Java类加载
某些高度定义的场景比如从特定的网络位置加载类,或者从加密文件中加载类继承类,并重写其findClass方法。继承类:创建一个新类,继承自。重写findClass方法:在这个方法中,你需要定义如何查找类。如果类在你的搜索范围内(比如,你的文件系统中的一个特定目录),你需要读取类的字节码,然后调用方法来定义这个类。(可选)重写loadClass方法:在某些复杂的场景下,如果你想完全控制类的加载过程,可以重写loadClass方法。但是这样做时需要非常小心,以避免破坏双亲委派模型。try {
2024-04-19 17:45:57
1225
原创 JMM的组成和它的作用
JMM是一种抽象的概念,旨在定义程序中变量的访问规则,以及在并发的情况下如何和何时可以看到其他线程引起的变化,JMM是为了帮助开发者了解多线程程序的内存可见性,原子性,有序性问题。
2024-04-19 16:40:23
345
原创 有大批量的数据导入到数据库,规则是数据库相同的就update没有就insert怎么做效率快
理此类具有条件的 “upsert”(更新或插入)操作时,您想要最小化对数据库的访问次数并使用高效的SQL逻辑。
2024-04-02 22:59:55
788
原创 spring security
sqlapplication.ymlredis序列化器响应结果实体类jwt工具类Redis工具类webUtilsUser类二,认证2.2 原理2.2.1 完整流程SpringSecurity就是一个过滤器链,内部提供各种功能的过滤器UsernamePasswordAuthentionFilter: 负责处理登陆页面填写账号密码后登录的请求ExceptionTranslationFilter: 负责处理过滤器链中的抛出的和FilterSecurityIntercept
2024-03-01 23:36:42
7356
2
原创 Spring GateWay
路由过滤器可用于修改进入的HTTP请求和返回的HTTP响应,路由过滤器只能指定路由进行使用。Spring Cloud Gateway 内置了多种路由过滤器,他们都由GatewayFilter的工厂类来产生生命周期,only Twoprepost种类,Only Two。
2024-02-07 21:58:41
3469
原创 Java的非阻塞同步
所以只能靠硬件来完成。当执行操作时,只有当 V 的值等于 A,才将 V 的值更新为 B。随着硬件指令集的发展,我们可以使用基于冲突检测的乐观并发策略: 先进行操作,如果没有其它线程争用共享数据,那操作就成功了,否则采取补偿措施(不断地重试,直到成功为止)。通过这种方式,硬件级的原子操作确保了即使在高度并发的场况下,每次检查和修改账户余额的操作都是不可分割的,从而避免了数据不一致的问题。结果是,两个操作都认为账户A有足够的余额进行转账,可能导致账户A的余额变成负值,这在现实世界是不可接受的。
2024-01-26 16:43:15
460
原创 idea的git reset current branch to here操作详解
【代码】idea的git reset current branch to here操作详解。
2024-01-22 11:17:11
5063
原创 数据库建模之EAV模型
EAV 模型是一种常用来处理可扩展属性集的数据库设计方法。在这个模型中,你将数据存储在三个主要的列中:实体(Entity)、属性(Attribute)和值(Value)。表设计Entity表: 存储实体的基本信息。Attribute表: 存储可能的属性名称。Value表: 存储实体的属性值,通常包括对 Entity 表和 Attribute 表的外键引用。优点非常灵活,可以轻松添加或删除属性。缺点查询复杂,性能问题,数据完整性维护困难。
2024-01-18 20:09:50
2523
原创 windows和linux实时监控文本内容的命令
tail命令是一个用于在Linux和Unix系统中查看文件末尾内容的命令。它通常用于实时监控日志文件的更新,以及查看文件的最新内容。选项可以实时监控文件的更新,当文件内容发生变化时,会自动显示最新的内容。选项可以不显示文件名,只显示文件内容。选项可以显示指定字节数的内容,例如。选项可以显示指定行数的内容,例如。将显示文件的最后100个字节。将显示文件的最后20行内容。
2024-01-18 10:13:50
962
原创 git切换到另一分支更改也会随之过去
一次的修改如果没有 commit如果切换到另一分支就会把修改带到另一个分支。这时可以使用 git stash。
2024-01-15 20:40:10
1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人