news 2026/3/2 4:05:21

3个隐秘步骤攻克Windows向量扩展安装难题:PostgreSQL向量搜索实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3个隐秘步骤攻克Windows向量扩展安装难题:PostgreSQL向量搜索实战指南

3个隐秘步骤攻克Windows向量扩展安装难题:PostgreSQL向量搜索实战指南

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

在AI驱动的应用开发中,向量数据库已成为处理高维数据的核心组件。PostgreSQL作为功能全面的开源数据库,通过pgvector扩展获得了强大的向量相似性搜索能力。然而Windows环境下的安装过程常常让开发者望而却步——编译错误、版本冲突、权限问题如同隐藏的陷阱。本文将以技术侦探的视角,通过三个关键步骤破解Windows环境下pgvector安装的难题,帮助你在PostgreSQL中无缝集成AI向量存储功能,构建高效的向量搜索应用。

🔍 环境诊断:PostgreSQL向量插件安装前的系统侦查

预期达成:完成Windows系统环境的全面检查,识别潜在的兼容性问题,确保满足pgvector安装的所有前置条件。

在开始任何安装操作前,我们需要像侦探一样对系统环境进行全面侦查。许多开发者失败的根源并非技术能力不足,而是忽视了环境兼容性这一基础环节。

系统兼容性矩阵

首先确认你的系统是否满足以下核心要求:

组件最低要求推荐配置检查命令
PostgreSQL13.x16.xpsql --version
Visual Studio20192022查看已安装组件
Windows SDK10.0.17763.0+10.0.22000.0+echo %WindowsSDKVersion%
.NET Framework4.6.1+4.8+查看注册表项

原创环境诊断工具

创建一个批处理文件pgvector_env_check.bat,复制以下代码到文件中并运行,它将自动检查关键环境配置:

@echo off echo === PostgreSQL向量扩展环境诊断工具 === echo. :: 检查PostgreSQL安装 set "PGFOUND=0" where psql >nul 2>nul if %errorlevel% equ 0 ( set "PGFOUND=1" for /f "tokens=2 delims= " %%a in ('psql --version ^| findstr /i "psql"') do set "PGVERSION=%%a" ) :: 检查Visual Studio环境 set "VSFOUND=0" if exist "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( set "VSFOUND=1" set "VSPATH=C:\Program Files\Microsoft Visual Studio\2022\Community" ) :: 生成诊断报告 echo [系统信息] echo 操作系统: %OS% echo 系统版本: %PROCESSOR_ARCHITECTURE% echo. echo [PostgreSQL状态] if %PGFOUND% equ 1 ( echo 已安装版本: %PGVERSION% for /f "tokens=*" %%a in ('where psql') do echo 安装路径: %%a ) else ( echo ⚠️ 未找到PostgreSQL,请先安装13+版本 ) echo. echo [开发环境状态] if %VSFOUND% equ 1 ( echo 已找到Visual Studio: %VSPATH% ) else ( echo ⚠️ 未找到Visual Studio 2019/2022,请安装C++开发组件 ) echo. echo [环境变量检查] if defined PGROOT ( echo PGROOT: %PGROOT% ) else ( echo ⚠️ PGROOT环境变量未设置 ) echo. echo === 诊断完成 === if %PGFOUND% equ 1 if %VSFOUND% equ 1 ( echo ✅ 环境基本满足安装条件 ) else ( echo ❌ 发现环境问题,请解决上述警告后重试 )

常见环境问题决策树

当诊断工具发现问题时,可按照以下决策路径解决:

  1. PostgreSQL未安装

    • 是 → 安装PostgreSQL 13+,勾选"安装开发文件"选项
    • 否 → 检查环境变量是否包含PostgreSQL路径
  2. Visual Studio未检测到

    • 已安装 → 运行"x64 Native Tools Command Prompt"
    • 未安装 → 安装Visual Studio并勾选"C++桌面开发"工作负载
  3. PGROOT未设置

    • 已安装PostgreSQL → 手动设置:setx PGROOT "C:\Program Files\PostgreSQL\16"
    • 未安装 → 返回第一步安装PostgreSQL

完成环境诊断并解决所有警告后,我们就为pgvector的安装扫清了第一个障碍。记住,耐心的环境检查远胜于反复尝试安装却失败的挫折。

⚙️ 跨版本编译:Windows专属构建方案

预期达成:掌握针对不同PostgreSQL版本的编译技巧,成功构建pgvector扩展文件,理解编译过程中的关键参数配置。

Windows环境下编译pgvector的挑战主要源于Unix与Windows环境的差异。不同于Linux系统的简单make命令,Windows需要特定的工具链和参数配置。我们将通过一套适用于PostgreSQL 13-16的通用编译方案,解决版本兼容性问题。

编译环境准备

首先,以管理员身份打开"x64 Native Tools Command Prompt for VS 2022"(或对应版本),这是确保编译环境正确配置的关键步骤:

:: 检查Visual Studio环境是否正确加载 echo %VSCMD_VER% :: 应显示类似"17.0"的版本号 :: 设置PostgreSQL路径(根据实际安装路径调整) set "PGROOT=C:\Program Files\PostgreSQL\16" :: 验证PostgreSQL开发文件是否存在 dir "%PGROOT%\include\server\pg_config.h" :: 应显示文件信息

源码获取与版本选择

使用Git获取pgvector源码,并选择适合你PostgreSQL版本的分支:

:: 创建工作目录 mkdir C:\pgvector-build cd C:\pgvector-build :: 克隆代码仓库 git clone https://gitcode.com/GitHub_Trending/pg/pgvector.git cd pgvector :: 查看可用版本标签 git tag :: 检出与PostgreSQL版本兼容的pgvector版本 :: PostgreSQL 13-14推荐v0.6.0;PostgreSQL 15+推荐最新版 git checkout v0.8.1

跨版本编译命令矩阵

不同PostgreSQL版本需要 slightly 不同的编译参数。以下是针对各版本的优化编译命令:

PostgreSQL版本编译命令关键参数说明
13.xnmake /F Makefile.win PG13=1针对PG13的兼容性编译
14.xnmake /F Makefile.win PG14=1启用PG14新特性支持
15.xnmake /F Makefile.win PG15=1支持新的统计信息功能
16.xnmake /F Makefile.win默认支持PG16+

执行编译并安装:

:: 清理之前的构建(如有) nmake /F Makefile.win clean :: 根据你的PostgreSQL版本选择合适的编译命令 nmake /F Makefile.win :: 安装扩展到PostgreSQL nmake /F Makefile.win install

⚠️关键注意事项

  • 编译过程中若出现"无法打开包括文件: 'postgres.h'"错误,说明PGROOT路径设置错误或PostgreSQL开发文件未安装
  • 对于PostgreSQL 13,必须添加PG13=1参数,否则会出现语法错误
  • 安装时可能需要管理员权限,确保命令提示符以管理员身份运行

验证编译结果

编译成功后,验证扩展文件是否正确安装:

:: 检查扩展文件是否存在 dir "%PGROOT%\share\extension\vector*" :: 应显示vector.control、vector--0.8.1.sql等文件 dir "%PGROOT%\lib\vector.dll" :: 应显示vector.dll文件

如果所有文件都存在,恭喜你已成功攻克编译难关!这个过程的核心是理解不同PostgreSQL版本的兼容性要求,并正确配置编译环境。接下来我们将验证扩展是否能正常工作。

✅ 零失败验证矩阵:从基础功能到性能测试

预期达成:通过多维度验证确保pgvector扩展正确安装并正常工作,建立向量搜索性能基准,为生产环境部署提供数据支持。

安装完成后,我们需要进行全面验证,确保pgvector不仅"安装成功",而且能在各种场景下正常工作。这个验证矩阵涵盖从基础功能到高级性能的多个维度,确保零失败部署。

基础功能验证

首先通过psql连接PostgreSQL,执行基础功能测试:

-- 1. 创建扩展 CREATE EXTENSION vector; -- 2. 验证向量类型 SELECT '[]'::vector; -- 空向量 SELECT '[1,2,3]'::vector(3); -- 指定维度向量 SELECT '[1.1, 2.2, 3.3]'::vector; -- 浮点值向量 -- 3. 测试向量运算 SELECT '[1,2,3]'::vector + '[4,5,6]'::vector AS vector_addition; SELECT '[3,4,5]'::vector <-> '[1,2,3]'::vector AS l2_distance; SELECT '[1,0,1]'::vector <#> '[0,1,1]'::vector AS cosine_distance;

预期结果:所有命令应成功执行,返回正确的向量结果和距离值。

数据表操作验证

创建测试表并验证完整的数据生命周期:

-- 创建测试表 CREATE TABLE product_embeddings ( id SERIAL PRIMARY KEY, product_name TEXT, embedding vector(128) -- 128维向量 ); -- 插入测试数据 INSERT INTO product_embeddings (product_name, embedding) VALUES ('无线耳机', '[0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90, 0.12, 0.34, 0.56, 0.78, 0.90]'), ('智能手表', '[0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10, 0.98, 0.76, 0.54, 0.32, 0.10]'); -- 查询相似产品 SELECT product_name, embedding <-> '[0.2, 0.3, 0.5, 0.8, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9]' AS similarity FROM product_embeddings ORDER BY similarity LIMIT 1;

索引功能验证

pgvector支持多种索引类型,我们需要验证最常用的HNSW索引功能:

-- 创建HNSW索引 CREATE INDEX idx_product_embeddings_hnsw ON product_embeddings USING hnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=64); -- 验证索引使用情况 EXPLAIN ANALYZE SELECT product_name, embedding <-> '[0.2, 0.3, 0.5, 0.8, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9, 0.1, 0.3, 0.5, 0.7, 0.9]' AS similarity FROM product_embeddings ORDER BY similarity LIMIT 1;

预期结果:执行计划中应显示"Index Scan using idx_product_embeddings_hnsw",表明索引被正确使用。

性能基准测试

创建性能测试脚本pgvector_benchmark.sql,评估向量搜索性能:

-- 创建测试数据表 CREATE TABLE benchmark_vectors ( id SERIAL PRIMARY KEY, embedding vector(128) ); -- 生成10,000条随机向量数据 INSERT INTO benchmark_vectors (embedding) SELECT array_agg(random()::float)::vector(128) FROM generate_series(1, 128), generate_series(1, 10000) GROUP BY generate_series_1; -- 创建索引 CREATE INDEX idx_benchmark_hnsw ON benchmark_vectors USING hnsw (embedding vector_l2_ops); -- 性能测试 - 无索引查询 \timing on SELECT id, embedding <-> (SELECT embedding FROM benchmark_vectors ORDER BY random() LIMIT 1) AS distance FROM benchmark_vectors ORDER BY distance LIMIT 10; \timing off -- 性能测试 - 有索引查询 \timing on SELECT id, embedding <-> (SELECT embedding FROM benchmark_vectors ORDER BY random() LIMIT 1) AS distance FROM benchmark_vectors ORDER BY distance LIMIT 10; \timing off

运行测试并记录结果:

psql -U postgres -d your_database -f pgvector_benchmark.sql > benchmark_results.txt

性能分析方法

  • 无索引查询应在数百毫秒级别(取决于硬件)
  • 有索引查询应在毫秒级别完成(通常<10ms)
  • 索引创建时间通常为数据插入时间的3-5倍

通过这个零失败验证矩阵,你可以全面确认pgvector扩展在Windows环境下的功能完整性和性能表现。如果所有测试都通过,恭喜你已成功将PostgreSQL转变为功能强大的向量数据库!

🔬 扩展应用:构建AI驱动的相似性搜索系统

预期达成:掌握基于pgvector的实际应用开发方法,理解向量数据库在AI应用中的典型使用模式,能够独立构建简单的语义搜索功能。

完成安装和验证后,我们来探索pgvector的实际应用场景。向量数据库的核心价值在于为AI应用提供高效的相似性搜索能力,以下是几个典型应用场景及实现方法。

语义搜索系统实现

构建一个简单的产品描述语义搜索系统,允许用户通过自然语言查询找到相似产品:

  1. 创建数据表结构
CREATE TABLE products ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, description TEXT NOT NULL, embedding vector(384) NOT NULL, -- 适合小型语言模型的维度 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 创建索引以加速相似性搜索 CREATE INDEX idx_products_embedding ON products USING hnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=128);
  1. 数据准备与向量生成

在实际应用中,你需要使用语言模型将文本转换为向量。以下是一个Python示例,使用Sentence-BERT模型生成文本嵌入:

import psycopg2 from sentence_transformers import SentenceTransformer # 加载预训练模型 model = SentenceTransformer('all-MiniLM-L6-v2') # 连接到PostgreSQL数据库 conn = psycopg2.connect( dbname="your_db", user="postgres", password="your_password", host="localhost" ) cur = conn.cursor() # 示例产品数据 products = [ {"name": "无线蓝牙耳机", "description": "高音质无线蓝牙耳机,主动降噪,30小时续航"}, {"name": "智能手表", "description": "多功能智能手表,心率监测,防水设计,长续航"}, {"name": "机械键盘", "description": "青轴机械键盘,RGB背光,全键无冲,金属面板"}, {"name": "便携式充电宝", "description": "20000mAh大容量充电宝,双向快充,多接口输出"} ] # 生成嵌入向量并存储 for product in products: # 生成文本嵌入 text = f"{product['name']}: {product['description']}" embedding = model.encode(text).tolist() # 插入数据库 cur.execute( "INSERT INTO products (name, description, embedding) VALUES (%s, %s, %s)", (product['name'], product['description'], embedding) ) conn.commit() cur.close() conn.close()
  1. 实现语义搜索功能
def search_products(query, top_n=5): # 生成查询向量 query_embedding = model.encode(query).tolist() # 执行相似性搜索 cur.execute( """ SELECT name, description, 1 - (embedding <=> %s) AS similarity FROM products ORDER BY embedding <=> %s LIMIT %s """, (query_embedding, query_embedding, top_n) ) return cur.fetchall() # 使用示例 results = search_products("可以听音乐的无线设备") for result in results: print(f"产品: {result[0]}, 相似度: {result[2]:.4f}") print(f"描述: {result[1]}\n")

性能优化策略

针对不同场景优化pgvector性能的关键参数:

参数作用推荐值适用场景
mHNSW图中每个节点的邻居数8-64数据量大时增大
ef_construction索引构建时的搜索范围64-200追求精度时增大
ef_search查询时的搜索范围10-100追求速度时减小

调整索引参数的示例:

-- 创建高精度索引(适合读多写少场景) CREATE INDEX idx_products_embedding_high_precision ON products USING hnsw (embedding vector_cosine_ops) WITH (m=32, ef_construction=200); -- 查询时动态调整精度 SET hnsw.ef_search = 100;

生产环境注意事项

在将pgvector应用于生产环境时,需注意以下几点:

  1. 数据备份策略

    • 定期备份包含向量数据的数据库
    • 测试备份恢复流程,确保向量数据完整性
  2. 监控与维护

    • 监控索引大小和查询性能
    • 定期执行REINDEX优化索引性能
    • 监控PostgreSQL的内存使用情况
  3. 扩展考虑

    • 对于超大规模数据,考虑分区表策略
    • 结合PostgreSQL的并行查询功能提升性能

通过这些实际应用示例,你可以看到pgvector如何将PostgreSQL转变为一个功能强大的向量数据库,为AI应用提供高效的相似性搜索能力。无论是语义搜索、推荐系统还是图像相似性匹配,pgvector都能提供稳定可靠的向量存储和查询功能。

总结:Windows环境下pgvector的成功部署之道

通过本文的三个核心步骤,我们完成了从环境诊断到实际应用的完整pgvector部署流程。这个过程的关键在于:首先通过系统诊断工具识别潜在问题,然后使用跨版本编译方案确保兼容性,最后通过零失败验证矩阵确认功能完整性。

pgvector为PostgreSQL带来了强大的向量相似性搜索能力,使Windows开发者也能轻松构建AI驱动的应用。无论是语义搜索、推荐系统还是图像识别,pgvector都提供了高效、可靠的向量数据存储和查询解决方案。

随着AI应用的普及,向量数据库将成为开发中的关键组件。掌握pgvector的安装与应用,将为你的技术栈增添重要的一环,使你能够在Windows环境下高效处理高维向量数据,构建下一代智能应用。

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/13 7:50:47

2025年Mac菜单栏管理神器Ice:让混乱变有序的效率革命

2025年Mac菜单栏管理神器Ice&#xff1a;让混乱变有序的效率革命 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 每天打开Mac&#xff0c;你的菜单栏是否已经被各种应用图标占据得满满当当&#xff…

作者头像 李华
网站建设 2026/2/21 2:01:00

FSMN VAD vs Silero-VAD:工业级精度对比评测

FSMN VAD vs Silero-VAD&#xff1a;工业级精度对比评测 语音活动检测&#xff08;Voice Activity Detection&#xff0c;VAD&#xff09;是语音处理流水线中看似低调却极为关键的一环。它像一位不知疲倦的守门人&#xff0c;决定着后续ASR、TTS或语音分析模块“该不该听”“该…

作者头像 李华
网站建设 2026/2/28 18:24:16

PDF翻译终极解决方案:BabelDOC零门槛掌握学术文档高效处理

PDF翻译终极解决方案&#xff1a;BabelDOC零门槛掌握学术文档高效处理 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC BabelDOC是一款专为学术场景设计的PDF翻译工具&#xff0c;核心价值在于精…

作者头像 李华
网站建设 2026/2/28 3:54:47

5个步骤掌握轻量级语音合成引擎:从原理到跨平台应用

5个步骤掌握轻量级语音合成引擎&#xff1a;从原理到跨平台应用 【免费下载链接】espeak-ng espeak-ng: 是一个文本到语音的合成器&#xff0c;支持多种语言和口音&#xff0c;适用于Linux、Windows、Android等操作系统。 项目地址: https://gitcode.com/GitHub_Trending/es/…

作者头像 李华
网站建设 2026/2/24 0:30:55

碎片时间背单词工具ToastFish使用指南

碎片时间背单词工具ToastFish使用指南 【免费下载链接】ToastFish 一个利用摸鱼时间背单词的软件。 项目地址: https://gitcode.com/GitHub_Trending/to/ToastFish 碎片时间如何高效背单词&#xff1f;ToastFish作为一款轻量级学习工具&#xff0c;通过桌面弹窗提醒的方…

作者头像 李华
网站建设 2026/3/1 11:00:53

3个实用技巧:用Clarity Upscaler实现AI图像增强与画质提升

3个实用技巧&#xff1a;用Clarity Upscaler实现AI图像增强与画质提升 【免费下载链接】clarity-upscaler 项目地址: https://gitcode.com/GitHub_Trending/cl/clarity-upscaler 你是否遇到过珍贵的老照片因年代久远变得模糊不清&#xff1f;是否发现下载的图片分辨率太…

作者头像 李华