自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mybatis-plus 对于属性为null字段不更新

MyBatis-Plus 默认情况下会根据字段的值是否为 null 来决定是否生成对应的 UPDATE 语句。这是由 更新策略 决定的,默认的行为是 忽略 null 值,即如果字段值为 null,该字段将不会出现在 UPDATE 语句中。默认情况下,MyBatis-Plus 会忽略值为 null 的字段,不生成 UPDATE 语句。忽略字段值是否为 null,即使为 null 也会生成对应的 UPDATE 语句。当字段值为 null 时,UPDATE 语句中会忽略该字段。实体字段为 null 的更新效果。

2024-11-29 17:04:13 1633

原创 ubantu系统分辨率设置为1920

2添加模式到xrandr: 首先,使用输出的Modeline信息创建一个新的模式。NVIDIA服务器在Ubuntu系统上每次重启后分辨率变成1024x768。以上需要在图形化界面里面操作,不要在xshell中操作。

2024-11-13 09:43:00 501

原创 AI大模型之旅-最强开源文生图工具Stable Diffusion WebUI 教程

clone时默认会下载基础模型 v1-5-pruned-emaonly.safetensors ,这个是sd 1.5基础模型。clone时默认会下载基础模型 v1-5-pruned-emaonly.safetensors ,这个是sd 1.5基础模型。模型存储的位置: 记住这个目录下只放safetensors(安全模型)文件或者ckk (旧模型的后缀)等全量模型。1.下载lora 模型,这里一定要注意lora模型是基于哪个模型生成的。lora模型 ,这个代表是lora微调的模型。

2024-09-29 13:28:55 959

原创 AI大模型之旅--milvus向量库安装

milvus-向量索引库milvus的官方文档中看到最新版本的部署方式 :https://milvus.io/docs/install_standalone-docker.md。

2024-09-20 19:53:43 553

原创 AI大模型之旅-langchain结合glm4,faiss构建本地知识库

问题1:(ckglm4) ck@insight:~/PycharmProjects/ckpractice$ pip install faiss-gpu。答案:使用conda安装。

2024-09-20 19:47:42 640

原创 AI大模型之旅-大模型中的input_ids,自注意力机制,灾难性遗忘

自注意力机制(Self-Attention) 是 Transformer 模型中最关键的部分,它让模型在处理输入序列中的每个词(或 token)时,可以“关注”序列中其他所有词,从而理解上下文的整体含义。通俗来说,自注意力机制帮助模型决定每个词与其他词的关系,以及哪个词在特定情况下更重要。核心问题:传统的语言模型一般是根据最后一个词来预测下一个词,但这样做可能无法捕捉到全局的上下文信息。举个例子:句子:“我今天去看了电影《盗梦空间》,这部电影非常精彩。

2024-09-19 19:03:40 1085

原创 AI大模型之旅-大模型为的微调参数详解

在自然语言处理(NLP)中,Token 指的是模型处理的文本片段。它可以是一个单词、单词的一部分,甚至是标点符号。比如在句子 “I am learning” 中,每个词可以被视为一个 Token:“I” → 1 个 Token“am” → 1 个 Token“learning” → 1 个 Token具体到某些分词器,像 “learning” 这样的词可能会被进一步拆分为多个子词 Token(例如 “learn” 和 “ing”)。max_length 定义:生成的文本的最大长度。

2024-09-19 18:54:12 1636

原创 AttributeError: ‘DistributedDataParallel‘ object has no attribute ‘prepare_inputs_for_generation‘

当你使用 DistributedDataParallel (DDP) 时,模型被包装在 DDP 中,所有模型的方法都会被封装在 model.module 中。因此,如果你要调用模型的自定义方法(如 prepare_inputs_for_generation),需要通过 model.module 来访问。

2024-09-11 20:13:23 456

原创 多卡微调智谱glm-4-9b-chat

微调(Fine-tuning): 微调是通过在预训练模型的基础上,使用特定领域的训练数据进一步训练模型,使其在该领域或任务中表现得更好。这个过程会修改模型的内部参数,优化模型在特定任务上的表现。微调后的模型已经具备了特定领域的知识,在推理时可以直接依赖这些内部知识。工作原理:通过额外的训练数据,逐步调整预训练模型的参数,使其能够更好地理解和生成与特定任务或领域相关的内容。训练完成后,微调后的模型不需要访问外部资源或知识库,就可以直接生成符合特定领域的结果。

2024-09-11 20:02:08 1231

原创 chatglm4部署以及集成langchain

这通常意味着你传递给 HuggingFacePipeline 的自定义 pipeline 对象没有正确设置 task 属性。HuggingFace 的 pipeline 对象通常应该有 task 属性来标识它的类型,例如 “text-generation”, “translation”, “summarization” 等。代码在调用 HuggingFacePipeline 的 _generate 方法时遇到了 AttributeError,其中 self.pipeline 的对象没有 task 属性。

2024-09-09 14:24:17 888

原创 AI大模型之旅-Ollama+AnythingLLM 搭建本地知识库,并落地生产

以上都是在anythingllm中提问或者回答,但是如何结合自己的生产系统呢,anythingllm提供的api接入,先生成一个api秘钥,然后点击api文档。然后再本地postman测试,以下就测试成功了,紧接着就可以连接自己的生产环境,喂自己的数据,构建自己的知识库了。每个工作区点击设置,可以修改工作区的配置,包括通用设置,聊天,向量库和大模型代理,自己设置就好了。文档上传完成,可以测试以下(顺便说的我的文档是java面试宝典),测试效果还可以。点击上传按钮,就可以上传本地文档,甚至有网页。

2024-09-04 17:33:11 1536 4

原创 python元组和java的区别

当一个函数返回多个值时,Python 会自动将它们打包成一个元组,并且可以在调用函数时将这些值解包到单独的变量中。虽然这并不常见,但在某些情况下,你可以使用一个对象数组或列表来存储不同类型的值,然后通过类型转换访问它们。对于多于两个值的情况,你可能需要自己定义一个三元组(Triple)类,或者使用支持三元组的第三方库。自定义类:这是最灵活和常见的方式,尤其适合在返回多个值的场景中保持代码的清晰性和可维护性。使用 Pair/Triple:适用于简单的场景,尤其当你只需要返回两个或三个值时。

2024-09-02 20:26:49 515

原创 AI大模型之旅-本地安装llm工具dify 和 fastgpt

官网地址: https://dify.ai/进入 Dify 源代码的 docker 目录,执行一键启动命令:进入 dify 源代码的 docker 目录,按顺序执行以下命令:本地地址:http://xx.xx.xx.xx/用户名密码需要邀请 个人邮箱:2435931216@qq.com 密码:********

2024-09-02 13:49:41 766

原创 Python 和 Java 中 null 值、集合、空字符串、空格字符串的判断详解

在布尔上下文中,空字符串被视为 False,因此使用 not value 可以简洁地判断字符串是否为空。isEmpty() 方法检查字符串长度是否为零,equals(“”) 比较字符串内容是否为空字符串。在编程中,判断变量是否为 null、集合是否为空,以及字符串是否为空或仅包含空格是非常常见的操作。trim() 方法移除字符串两端的空白字符,如果结果为空字符串,则说明原字符串为空或仅包含空格。strip() 方法移除字符串两端的空白字符,如果结果为空字符串,则说明原字符串仅包含空格。

2024-09-02 10:22:01 886

原创 AI大模型之旅--Vanna的安装与部署

根据前章,我们部署了ollama,此章刚好用来测试text2sql -----vanna安装部署。

2024-08-28 17:40:17 2843 1

原创 AI大模型之旅--本地Ollama部署

Ollama 是一个本地推理框架,允许开发人员轻松地在本地部署和运行 LLM例如 Llama 3、Mistral 和 GemmaOllama 提供了一种简单的方法来部署 LLM 到本地环境。您可以使用 Ollama 的命令行界面或图形界面来完成此操作。

2024-08-28 16:41:42 1463

原创 深入了解 NumPy:Python 科学计算的基础与 Java 的对比分析

什么是 NumPy?NumPy,全称 Numerical Python,是一个开源的 Python 库,专门用于高效处理大型多维数组和矩阵。它提供了丰富的数学函数,简化了复杂的数组运算。NumPy 是许多高级数据科学库(如 Pandas、SciPy、TensorFlow 等)的基础,是数据科学和工程领域的核心工具。为什么选择 NumPy?NumPy 的优势主要体现在以下几个方面:高效的多维数组对象:ndarray 是 NumPy 的核心,能够存储同类型的数据,支持各种维度的数组操作。

2024-08-27 16:18:24 692

原创 python-Flask 全方位指南:从入门到模块化开发与代码保护

而结合 PyInstaller、Cython 和 PyArmor 等工具,你可以将应用打包成可执行文件,增强代码的保护,从而更好地分发和部署你的应用。随着项目需求的增加,合理运用这些技术,可以帮助你应对更复杂的挑战,同时保证代码的安全和高效。这会生成一个 .pyd 文件(Windows)或 .so 文件(Linux/macOS),可以在应用中代替原来的 .py 文件使用。你可以先使用 PyArmor 对代码进行混淆,然后使用 PyInstaller 将其打包成可执行文件,从而增强代码的保护力度。

2024-08-27 11:02:31 1086

原创 Matplotlib 简介:Python 数据可视化的强大工具

在数据科学、数据分析和机器学习的工作流程中,数据可视化是不可或缺的一部分。可视化不仅能够帮助我们理解数据中的模式和趋势,还能够通过直观的图表来呈现分析结果。而在 Python 生态系统中,Matplotlib 是最为流行和基础的可视化库之一,它为我们提供了创建各种类型图表的能力。什么是 Matplotlib?Matplotlib 是 Python 的一个 2D 绘图库,最初由 John D. Hunter 开发,用于创建高质量的图表和图形。

2024-08-20 09:25:13 1569

原创 Pandas DataFrame:数据处理利器及其在 Excel 和 SQL 数据处理中的便利性

在数据分析和数据科学的世界里,Python 的 pandas 库无疑是最受欢迎的工具之一。而其中的 DataFrame 是一个功能强大、灵活且广泛应用的数据结构。对于那些经常处理 Excel 数据或 SQL 数据库数据的人来说,pandas.DataFrame 提供了无与伦比的便利性和效率。本文将介绍 pandas.DataFrame 的基本概念,并探讨它在处理 Excel 数据和 SQL 数据时所带来的诸多便利之处。什么是 Pandas DataFrame?

2024-08-19 17:49:21 1177

原创 深入对比:Python pandas 与 Java Map 在数据处理中的应用

在软件开发和数据处理的世界中,Python 和 Java 是两种广泛使用的编程语言,各自有其强大的数据结构来处理和分析数据。pandas.Series: Series 的一个强大之处在于,它在操作时会自动对齐数据的索引。如果两个 Series 的索引不同,pandas 会自动对齐它们,并在缺失的地方填充 NaN,从而保证操作的一致性。pandas 是基于 numpy 构建的,因此它与 numpy 有深度的集成,这使得 pandas 可以直接使用 numpy 的许多强大功能。

2024-08-19 17:03:36 827

原创 AI大模型之旅-ubantu环境下 jupyter lab 环境配置

启动成功如下,在浏览器端输入如下地址,ip替换为主机ip http://127.0.0.1:8888/lab?虚拟环境可以帮助你管理项目依赖,并保持系统的整洁。//进入目录(管理员用户进入非授权目录,成员用户进入自己目录忽略) sudo -i。后台执行命令:nohup jupyter lab --ip=0.0.0.0 &启动 :jupyter lab --ip=0.0.0.0。//安装 python3-venv。若pip需要升级,可以先升级。

2024-08-09 10:32:01 352

原创 AI大模型之旅--安装向量库milvus

milvus的官方文档中看到最新版本的部署方式Install Milvus Standalone with Docker Compose。(如果下载不下来,则需要魔法)milvus,向量索引库。2.下载web-ui界面。启动后会拉取镜像,启动。1.milvus部署。

2024-08-08 16:05:30 436

原创 如何理解和实现二分查找:一篇完整的解析

如果使用 left < right,当 left 和 right 同时指向最后一个元素(也就是目标值)时,循环会结束,因为条件 left < right 不成立,从而导致无法检查最后一个元素。使用 left

2024-04-30 18:46:55 183 1

原创 有向图的邻接表和邻接矩阵

具体来说,有向图的邻接表由一个由节点和它们的邻居节点列表组成的集合构成。这种表示方法可以用一个哈希表或数组来实现,其中哈希表或数组的键或索引表示节点,对应的值是一个列表,存储了该节点的所有邻居节点。具体来说,可以使用 Map,其中键是节点的名称(如字符串表示),值是一个列表,存储了该节点指向的所有邻居节点的名称。有向图的邻接表是一种常用的表示方法,用于表示图中各个节点之间的关系。在有向图中,每条边都有一个方向,因此邻接表中的每个节点记录了该节点指向的其他节点。

2024-02-21 13:45:48 1625

原创 Java中的序列化方法探索

这些方法允许您将对象的状态转换成一种可以存储或传输的格式,而不依赖于 Java 内置的序列化机制。但是,当基本数据类型被用作类的字段时,在该类实现了 Serializable 接口的情况下,这些基本数据类型的字段会自动包含在序列化过程中。在 Java 中,序列化是将对象的状态信息转换为可以存储或传输的形式(例如,转换为字节流)的过程。这意味着,如果您创建了一个实现了 Serializable 接口的类,并且这个类包含基本数据类型的字段,那么当您序列化这个类的对象时,这些基本数据类型的字段也会被序列。

2024-01-03 11:31:38 1147

原创 如何有效使用 .gitignore 文件

在任何使用 Git 的软件项目中,.gitignore 文件都是一个必不可少的工具。它帮助开发者定义哪些文件和目录应该被 Git 忽略,从而保持代码库的整洁和管理的简便性。什么是 .gitignore?.gitignore 文件是一个文本文件,您可以在其中指定 Git 应该忽略的文件和目录模式。这通常包括编译生成的文件、本地配置文件和其他不需要或不应该包含在源代码管理中的文件。基本用法创建 .gitignore 文件很简单。您只需在项目的。

2023-12-29 17:35:53 840

原创 rabbitmq界面主要参数分析

本篇主要分析rabbitmq broker界面参数。

2023-12-18 19:28:01 795

原创 实现高效消息处理:在 Spring Boot 中使用 Redis Stream

如果用redis发布订阅机制来写的话,若消费者服务多节点,又会发生重复消费的问题,而redis发布订阅机制事实上并没有消费者组的概率,无法避免这个问题。这个过程非常适合使用 Redis Stream 来实现,stream中有消费者组的概念,和rocketmq一样,我们可以创建一个流来保存新应用的信息,并设置消费者来处理这些信息。通过利用 Redis Stream 的高级特性,如消费者组和消息确认,我们可以构建一个强大的事件驱动架构,为微服务和分布式系统提供强有力的支持。Spring Boot 中的实现。

2023-12-07 20:03:55 1467

原创 如何在Spring Boot中集成RabbitMQ

在Spring Boot集成的RabbitMQ应用中,通常会在消费者处理消息时发生异常的情况下,明确地将消息发送到死信队列。如果点进来,没有显示这个绑定队列,就说明配置的不对,后续也无法消费,点进队列后,就会显示队列中的消息了。避免消息丢失:死信队列确保无法处理的消息不会被丢失,而是存储在一个特定的地方,供进一步的检查和处理。队列达到最大长度:如果队列设置了最大长度并达到这个限制,最老的消息可能会被移动到死信队列。在这个例子中,如果在处理消息的过程中发生异常,消息会被明确地拒绝,并发送到配置的死信队列。

2023-12-07 19:40:29 1334 2

原创 Redis 发布订阅机制深入探索

Redis 的发布订阅(pub/sub)机制是一种消息传递模式

2023-11-29 18:08:57 426

原创 深入理解MongoDB的CRUD操作

MongoDB,一个广受欢迎的NoSQL数据库,以其灵活的文档模型、强大的查询能力和易于扩展的特性而著称。对于初学者和经验丰富的开发人员来说,熟练掌握MongoDB的增删改查(CRUD)操作是至关重要的。在前面的部分中,我们探讨了MongoDB的基础CRUD(创建、读取、更新、删除)操作。MongoDB是一个文档型数据库,与传统的关系型数据库(如MySQL)不同,它不需要预定义的表结构。每个文档可以有其独特的结构,字段可以在不同的文档之间变化。$unwind用于将每个文档的数组字段拆分成多个文档。

2023-11-16 20:18:37 703

原创 windows下使用springboot3.0 和 使用grallVM虚拟机

3.因为grallVM需要C++环境,所以我们还需要安装visual studio 选择C++桌面开发 ,箭头指的3个必须选,自己windows是什么版本就选择什么版本,记住自己的安装位置,要配置环境变量。JDK17 下载地址 :https://www.oracle.com/java/technologies/downloads/GrallVM 虚拟机 下载地址:https://www.graalvm.org/downloads/

2023-10-24 19:27:13 405

原创 centos 部署nginx 并配置https

centos 部署nginx,配置https

2023-09-27 10:55:16 1240

原创 Spring Expression Language (SpEL) 介绍与使用方法

SpEL 提供了类似于 Java 的语法,并且可以用于查询对象的属性、调用对象的方法、执行算术运算、集合操作等。我们在本篇博客中介绍了 SpEL 的基本语法和几种常见的使用方法。上面的代码将Person对象的name属性注入到PersonService的name字段中。SpEL 的语法非常类似于 Java 的语法,但是有一些特殊的运算符和构造。上面的两个表达式是等价的,都是用来访问person对象的name属性。在本篇博客中,我们将介绍 SpEL 的基本语法和几种常见的使用方法。

2023-09-05 17:30:27 453

原创 centos 安装docker

centos 安装docker

2023-08-15 15:30:58 658

原创 快速定位jar冲突插件-maven-dependency-helper

maven-dependency-helper

2023-06-21 14:49:05 1013

原创 浅谈java中集合框架-双端队列 deque

deque(double-ended queue,双端队列)是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出。

2023-06-01 10:05:38 797

原创 浅谈java中的集合框架

Java 集合框架的核心接口是 java.util.Collection 和 java.util.Map,每种集合框架又是基于底层数据结构的不同,赋予不同的特性,所以只要弄懂了底层数据结构的特性,就能很好的掌握改集合的特性和运用。

2023-05-30 15:45:34 917

原创 feign统一加入token,同时定时任务中feign 调用没有token(定时任务的token校验是放开的)冲突

feign调用和无http请求冲突

2023-05-26 18:30:12 2762

空空如也

空空如也

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

TA关注的人

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