avatar
文章
25
标签
41
分类
0

徇的小站
余弦相似度的推导以及不影响相似度计算的向量维度拓展方法
发表于2026-01-22
背景 以前在存储EMBEDDING模型输出向量的时候,由于不同模型输出的向量维度不同,而向量数据库同一个表只能存储同一维度长度的向量,当时使用的方案是直接在向量后面补0来拓展。 最近在思考这样做为什么不会影响相似度的计算,同时研究了一下余弦相似度计算公式的推导过程。 向量长度 一维向量的长度 对于向量 x=(x)x = (x)x=(x) 它的长度是 ∥x∥=∣x∣\|x\| = |x|∥x∥=∣x∣ 二维向量的长度 对于向量 x=(x1,x2)x = (x_1, x_2)x=(x1​,x2​) 123456789(x1, x2) * |\ | \x2 | \ ||x|| | \ |____\ x1 它的长度是 ∥x∥=x12+x22\|x\| = \sqrt{x_1^2 + x_2^2}∥x∥=x12​+x22​​ 三维向量的长度 对于向量 x=(x1,x2,x3)x = (x_1, x_2, x_3)x=(x1​,x2​,x3​) 它的长度是 ∥x∥=x12+x22+x32\|x\| = \sqrt{x_1^2 + x_2^2 + x_3^2} ...
开发工具数据迁移
发表于2025-08-14
背景 最近发现一个问题,我的C盘满了,我用SpaceSniffer检查了一下,发现WSL的数据吃了我将近100G,各种开发环境的包也吃了不少空间,所以打算把这些数据迁移到其他盘,然后通过符号链接的方式来解决这个问题。 迁移WSL wsl的迁移现在已经很简单了,现在可以直接使用move命令来迁移wsl的存储位置 首先看看当前有哪些wsl,记录下要迁移的wsl的名字 1wsl --list 适用于 Linux 的 Windows 子系统分发: Arch (默认值) rancher-desktop-data rancher-desktop 然后开始迁移 12345wsl --manage Arch --move F:\wsl\Archwsl --manage rancher-desktop-data --move F:\wsl\rancher-desktop-datawsl --manage rancher-desktop --move F:\wsl\rancher-desktop 迁移完成后,重新打开wsl,检查数据是否完整 迁移其他开发工具下载的依赖包 比如maven、pip、npm ...
使用Antlr4来解析P社游戏群星[stellaris]的科技树
发表于2025-05-18
背景 群星更新了4.0,然后新版本的科技树不知道长什么样,科技树mod也坏了,就打算自己修一下,顺便学习一下Antlr4 方案 1. 解析游戏的配置文件 科技树的配置文件在common/technology/目录下 本地化文件在localization/目录下,这次只考虑中文 变量在common/scripted_variables目录下 还有个scripted_trigger在common/scripted_triggers目录下,这次没有用到 每个配置文件的配置项都可以看做是一个对象,对象中有赋值语句和条件计算语句,计划是在grammar中定义整个结构,这样可以在Visitor中读取到每个Property的数据 如 1234567891011121314151617181920212223242526272829303132333435363738394041424344technology_body : technology_body_start ( area | tier | category | icon | modifier | ...
在磁盘上安装LiveCD
发表于2025-04-25
安装教程 因为目前切换到了Windows,先简要备注一下大概的步骤,后续有机会再补充详细的步骤 准备一个UEFI启动的分区,格式化为FAT32格式,具体大小看想放多少个镜像,我这边是分了10G,假设分区名称为sda1 将EFI分区挂载到/mnt,然后安装grub,注意需要用removable的方式,这样会把grub所需的模块全部安装到EFI分区 https://wiki.archlinux.org/title/GRUB/Tips_and_tricks#Alternative_installation_methods 12mount /dev/sda1 /mntgrub-install --target=x86_64-efi --bootloader-id=LIVECD --efi-directory=/mnt --boot-directory=/mnt --removable 这样会得到结构的EFI分区 123456789EFI BOOT BOOTX64.EFIgrub fonts locale themes x86_64-efi grubenv 安装完之后 ...
Steam的P2P联机优化
发表于2024-11-22
背景 最近在玩群星,但是多人联机效果非常差,然后网上调研了一下发现可以用组网工具加速提升联机效果。 使用了一段时间之后发现有时候有效果有时候没有效果,所以研究了一下。 P2P实现的原理 Steam 数据报中继 https://partner.steamgames.com/doc/features/multiplayer/steamdatagramrelay?l=schinese https://partner.steamgames.com/doc/api/ISteamNetworkingSockets#CreateListenSocketP2P https://partner.steamgames.com/doc/api/ISteamNetworkingSockets#ConnectP2P Steam的SDK中提供了可以直接用于P2P的接口,游戏只需要实现接口就实现P2P连接 Steam中的对等网络及共享IP 地址 https://help.steampowered.com/zh/faqs/view/1433-AD20-F11D-B71E 参考这篇文章介绍 使用中继进行对等连接 在建 ...
实现一个能够自动删除的临时文件
发表于2024-08-09
背景 前段时间在弄关于文档转图片然后进行处理的工作,其中由于图片内容会多次读取,所以将其持久化在本地。 但是由于图片是临时文件,所以需要在使用完之后删除。 最初的实现是使用try-with-resource,但是随着流程变得复杂,图片的生命周期变得不可控,所以需要一个更好的解决方案。 思路 利用Cleaner的特性,在文件被GC回收时,进行删除操作。需要注意不要在cleaner中应用this对象,否则会导致内存泄漏。 利用MDC保存当前线程的MDC信息,这样cleaner执行时,用于跟踪上下文的MDC可以保留,使得traceId等信息不会丢失。 实现 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package com.haizhi.metis.document.parse.common;import java.io.File;import java.io.IOException;import java.lang.ref.C ...
让自定义注解支持配置属性注入
发表于2024-07-15
背景 在写代码的过程中需要用到一些自定义annotation,但是annotation中的String类型的value需要字符串常量,于是想是否可以将@Value所支持的表达式移植到自定义注解中。 实现 Spring中的具体实现 org.springframework.beans.factory.support.DefaultListableBeanFactory#doResolveDependency 123456789101112131415161718Object value = getAutowireCandidateResolver().getSuggestedValue(descriptor);if (value != null) { if (value instanceof String) { String strVal = resolveEmbeddedValue((String) value); BeanDefinition bd = (beanName != null && contain ...
SpringCloudFeign中的超时时间配置
发表于2024-01-24
背景 最近在排查一个关于超时时间的bug,跟踪代码发现了一个以前没注意到的点 https://github.com/spring-cloud/spring-cloud-openfeign/issues/324 问题 12345# org.springframework.cloud.openfeign.FeignClientFactoryBean#configureUsingPropertiesif (config.getConnectTimeout() != null && config.getReadTimeout() != null) { builder.options(new Request.Options(config.getConnectTimeout(), config.getReadTimeout()));} 在使用配置文件设置feign-client的时候,只有readTimeout和connectTimeout配置同时设置才会起效,具体的判断逻辑在org.springframework.cloud.ope ...
windows上游戏加速器与WSL共存
发表于2024-01-14
现象 发现在使用加速器之后,WSL相关的应用会出现无法启动的情况,需要重置网络。 参考Github上的解决方案https://github.com/microsoft/WSL/issues/4177#issuecomment-597736482,按照以下步骤即可。 下载NOLSP.exe www.proxifier.com/tmp/Test20200228/NoLsp.exe 以管理员权限执行以下命令 12345NoLsp.exe "C:\Program Files\WSL\wsl.exe"NoLsp.exe "C:\Program Files\WSL\wslservice.exe"NoLsp.exe "C:\Program Files\WSL\wslhost.exe"NoLsp.exe "C:\Program Files\WSL\wslrelay.exe"taskkill -IM "wslservice.exe" /F
conda环境中共享库找不到问题原因及解决方案
发表于2023-10-14
背景 今天使用micromamba新建了一个环境来试试latex-ocr+paddle ocr的效果 1micromamba create -n latex-ocr python=3.8 cudatoolkit=10.2 cudnn 环境创建完成之后切换环境并安装依赖 12micromamba activate latex-ocrpip install -r requirements.txt 然后开始跑代码 1python main.py 发现问题 在跑代码的时候发现报了一个库没有找到的问题 123456789101112131415161718192021222324252627Error: Can not import paddle core while this file exists: /root/micromamba/envs/latex-ocr/lib/python3.8/site-packages/paddle/fluid/libpaddle.soTraceback (most recent call last): File "main.py", ...
123
avatar
codexvn
文章
25
标签
41
分类
0
Follow Me
最新文章
余弦相似度的推导以及不影响相似度计算的向量维度拓展方法2026-01-22
开发工具数据迁移2025-08-14
使用Antlr4来解析P社游戏群星[stellaris]的科技树2025-05-18
在磁盘上安装LiveCD2025-04-25
Steam的P2P联机优化2024-11-22
标签
TZ lombok 游戏 群星 liveCD EasyExcel https GC Java stellaris Https feign \@SuperBuilder SpringBoot java docker mamba hexo Fiddler 泰拉瑞亚 NLP ANTLR4 JAVA zeal Spring \@Accessors 数据迁移 JDK python SSL \@Builder microconda Steam,P2P,LAN,Easytier JAVA Docker micromamba conda antlr4 mermaid RestTemplate Gzip linux
归档
  • 一月 20261
  • 八月 20251
  • 五月 20251
  • 四月 20251
  • 十一月 20241
  • 八月 20241
  • 七月 20241
  • 一月 20242
网站资讯
文章数目 :
25
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By codexvn
框架 Hexo|主题 Butterfly