- 博客(314)
- 资源 (9)
- 收藏
- 关注
原创 VMware安装MAC OS 10.15.4
首先,需要https://mirrors.dtops.cc/iso/下载一个需要的版本,我下载的是最新的10.15.4。其次,需要下载unlockder使VMWare可以支持MAC OS的虚拟机,如果要安装比较新的MACOS版本,需要下载VMware15.5或者更新的版本,如果是从低版本升级的Vmware,升级之后需要再运行一次unlockder,创建虚拟机时,才可以选择新的版本:开...
2020-04-03 14:46:23
23942
25
原创 人工智能基础知识笔记三十三:向量数据库检索结果重排序算法全面解析
本文系统介绍了向量数据库检索结果重排序的核心算法及其应用。主要内容包括: 算法分类:详细阐述了基于相关性(MMR、交叉编码器)、多样性(多样性感知排序)和学习(学习排序、强化学习排序)三大类重排序算法。 技术特点:分析了每类算法的工作原理、时间复杂度、空间复杂度、优势劣势及适用场景,如MMR平衡相关性与多样性,交叉编码器提供精确相关性计算但计算成本高。 实践指导:提供了算法选择指南,建议根据应用需求、数据规模和资源条件选择合适算法,并给出分级重排序、多算法融合等实施策略。 评估方法:介绍了离线评估指标和在线
2026-01-06 15:01:27
469
1
原创 人工智能基础知识笔记三十二:向量数据库的查找类型和工作原理
本文系统介绍了RAG系统中常用的向量相似性比较方法,包括余弦相似度、点积相似度、欧氏距离、曼哈顿距离、HNSW和MMR等算法。详细分析了每种方法的数学原理、计算复杂度、优劣势及适用场景,并提供了完整的Python实现代码。特别针对大规模数据场景,重点讲解了HNSW图索引的高效搜索机制和MMR重排序的多样性优化策略。最后给出综合选择指南,建议根据数据类型、规模和应用场景选择合适方法,如文本数据推荐余弦相似度+HNSW+MMR组合,图像数据建议欧氏距离+HNSW等。
2026-01-06 14:35:13
682
原创 人工智能基础知识笔记三十一:Langfuse的几种tracing的方法
本文介绍了三种使用Langfuse跟踪Ollama查询的方法:1)手动控制追踪范围,通过start_as_current_observation方法精确记录请求和响应;2)直接使用OpenAI接口,自动追踪所有查询但缺乏选择性;3)使用@observe装饰器,既能选择性追踪特定函数调用,又简化了代码实现。这三种方法各具特点:第一种最详细但操作繁琐,第二种全自动但不够灵活,第三种结合了灵活性和便捷性,只需添加/移除装饰器即可控制追踪行为。文章还提供了每种方法的代码示例和UI效果展示,帮助开发者根据实际需求选择
2026-01-02 11:22:17
299
原创 人工智能基础知识笔记三十一:Langfuse
摘要:Langfuse是一个开源LLM应用可观测性平台,提供追踪、提示工程、评估和数据集管理功能。安装时需注意Python版本兼容性问题(推荐1.22.7)。本文演示了如何通过Ollama的qwen3:8b模型运行query并追踪数据,包括环境配置、依赖安装和代码实现,最终可在Langfuse界面查看详细查询信息。关键步骤涉及API密钥设置、OpenAI客户端配置和查询执行。
2026-01-01 11:45:00
933
1
原创 Error response from daemon: failed to resolve reference “docker.io/library/redis:7“
摘要:在安装langfuse时遇到Docker拉取redis镜像失败的问题,错误提示连接registry-1.docker.io超时。尝试DeepSeek提供的方案无效后,最终通过修改Docker Engine配置解决:在Docker设置中添加多个国内镜像源(如dockerpull.pw等)和公共DNS(8.8.8.8/114.114.114.114)。修改后重新执行docker compose up命令成功完成安装。
2025-12-31 15:19:47
472
原创 人工智能基础知识笔记二十九:大模型量化技术(Quantisation)
大模型量化技术:效率与性能的平衡艺术 大语言模型规模扩张带来了巨大的计算挑战,量化技术成为解决内存占用、推理速度和部署门槛三大痛点的关键手段。本文系统阐述了量化技术的核心原理与实践方法:1)区分训练后量化(PTQ)与量化感知训练(QAT)两种范式;2)详解FP32到INT8的转换机制与校准策略;3)对比均匀/非均匀量化方法及混合精度等精度恢复技术;4)提供主流工具生态与Llama3量化实战示例。研究显示,4位量化可减少75%内存占用并提升2-3倍推理速度,但需注意其对不同任务能力的差异化影响。未来趋势将走向
2025-12-29 21:13:56
740
原创 人工智能基础知识笔记三十:模型的混合量化策略
GGUF格式中的量化类型详解:GGUF采用分层混合量化策略,不同参数使用不同量化类型(如Q4_0、FP32、Q6_K)是精心设计的结果。关键层(如层归一化参数)保持FP32高精度,中等敏感层(如注意力K/V权重)使用Q4_0,输出层采用Q6_K以平衡精度与压缩。这种策略基于误差传播分析和敏感度分层原则,相比统一量化可降低10-30%的困惑度。实践建议优先选择Q6_K等平衡选项,并保持关键层高精度,以实现最优的精度-速度权衡。
2025-12-29 21:13:18
704
原创 大模型安全:Jailbreak
LLM越狱攻防是动态演进的技术对抗。防御需结合多层防护(静态过滤+动态监控+对齐增强)和持续红队测试,并建立可演进的知识库体系。未来攻击将更自动化、多模态化,防御也需向主动式威胁狩猎和自适应安全模型演进。
2025-12-28 19:53:26
835
1
原创 人工智能基础知识笔记二十八:几款有用的LLM管理工具
本文介绍了四款本地LLM管理工具:Ollama(开源框架,支持命令行操作)、LMStudio(图形界面桌面应用)、AnythingLLM(企业级知识库系统)和OpenWebUI(类ChatGPT的Web界面)。重点讲解了Ollama和LMStudio的安装使用方法、常用命令及API调用示例,比较了各工具在界面类型、部署方式、核心功能等方面的差异。这些工具简化了本地LLM的部署与管理,满足从简单对话到企业级知识库的不同需求,支持Windows、Mac和Linux系统。
2025-12-19 13:21:25
626
原创 人工智能基础知识笔记二十七:构建一个可以搜索本地文件的Agent
本文介绍了一个基于自然语言处理的智能文件搜索Agent系统。该系统通过LLM模型解析用户输入的查询条件(如文件名、类型、修改日期等),在本地文件系统中进行智能搜索。文章详细阐述了核心功能实现,包括查询解析、文件匹配算法和系统架构,并提供了Web交互界面实现方案(基于Streamlit)。系统支持高级搜索功能,如日期范围、文件大小筛选等,同时具备语音输入和搜索历史记录功能。作者分享了开发过程中使用AI辅助工具的经验,强调了日志调试在解决AI"幻觉"问题中的重要性。该系统弥补了Windows
2025-12-12 09:18:24
371
原创 人工智能基础知识笔记二十六:常用的LLM的网站
开源AI工具与资源汇总:包含多个LLM排行榜(HuggingFace、ChatBot Arena)、开发工具(Ollama、LMStudio)、RAG技术指南(AWS、NVIDIA相关文档)、AI代理平台(Botpress、Voyager)以及文本转语音方案(ChatTTS)。提供Colab实践教程(Llama解析、微调)、重要论文(RLHF、多模态研究)和安全研究报告。涵盖从模型部署(AnythingLLM)、提示工程到数据处理的完整开发生态。所有资源链接均已分类整理,便于开发者快速获取最新AI技术工具和
2025-12-09 08:39:32
449
6
原创 人工智能基础知识笔记二十五:构建一个优化PDF简历的Agent
本文介绍了构建一个简历优化Agent的技术方案,该Agent能够解析PDF简历并优化输出为PDF格式。方案使用PyMuPDF加载PDF,通过LangChain调用Ollama大模型进行简历内容优化,并对比了三种PDF生成方案(reportlab、fpdf2和weasyprint)。测试发现weasyprint对Unicode支持最佳,但存在依赖库安装问题导致可能回退为TXT输出。当前方案能有效优化简历结构和内容表述,但尚需改进机构名称的自动翻译功能。整体方案可作为简历优化的基础工具,配合人工调整即可获得专业
2025-12-06 21:40:02
543
原创 人工智能基础知识笔记二十四:构建一个可以解析PDF简历的Agent
摘要:本文介绍了一个基于AI的PDF简历解析系统构建方案。该系统利用Ollama平台的大语言模型(如Llama3.2或Qwen2.5)和LangChain框架,通过预设的Prompt模板提取简历中的关键信息(包括联系方式、教育背景、工作经历等),并输出结构化JSON数据。系统采用Streamlit构建Web界面,支持上传PDF简历文件,自动解析内容并验证JSON格式的正确性。方案包含环境配置、Agent构建和Web应用实现三个主要部分,能够处理中英文简历,为简历分析提供自动化解决方案。(149字)
2025-12-06 20:31:48
321
原创 运行Stream 程序总是报 ModuleNotFoundError: No module named ‘pymupdf‘
摘要:解决Python环境下Streamlit运行报错问题。当通过Anaconda路径下的Streamlit执行程序报错时,发现系统找不到正确的Python环境。解决方案是定位VSCode使用的Python路径(如C:\Python314),在该环境下重新安装Streamlit,最后使用全路径Python可执行文件运行程序(C:\Python314\python.exe -m streamlit run app.py),成功解决问题。
2025-12-06 10:44:30
151
原创 人工智能基础知识笔记二十三:构建一个可以查询数据库的Agent
本文介绍了一个基于LangChain框架的数据库查询Agent系统,能够通过自然语言问题自动生成并执行SQL查询。系统主要包含五大功能模块:SQL生成、执行、验证、修正和数据库模式获取。实现步骤包括:1)搭建SQLite数据库环境;2)集成Ollama作为LLM引擎;3)开发专用工具链处理SQL全流程;4)设计系统提示模板规范工作流程;5)封装统一查询接口。测试表明,该系统能正确理解"发票明细平均单价"等自然语言问题,生成有效SQL并返回准确结果,验证了方案的可行性。关键创新在于将LLM
2025-12-05 18:02:01
500
原创 人工智能基础知识笔记二十二:构建一个可以搜索Web的Agent
摘要:Agent(智能体)是能感知环境、自主决策并采取行动实现目标的系统,分为StaticModel和DynamicModel两种类型。StaticModel智能体使用固定参数模型,具有稳定、可控和低成本的特点,适用于客服、编程助手等场景。DynamicModel智能体能持续学习和自我进化,适用于游戏AI、自适应机器人等复杂环境,但面临稳定性与安全性的挑战。两种智能体各具优势,StaticModel是当前主流应用的基础,而DynamicModel代表未来发展方向。
2025-12-02 21:36:06
890
原创 人工智能基础知识笔记二十一:Function Calling
FunctionCalling是一种让AI模型通过结构化请求调用外部函数的机制,使大型语言模型(LLM)能与工具、API或代码交互。它通过定义函数描述、模型推理生成结构化请求、外部执行和结果整合四个步骤工作,扩展了LLM的实时数据获取、系统交互等能力,确保输出的确定性和可靠性。开发者可使用@tool装饰器定义函数,将其与LLM绑定,并通过消息传递模拟Agent选择和执行函数。LangChain等工具库提供了多种预定义函数,如搜索工具,进一步增强了AI应用的功能。
2025-11-30 16:59:53
663
原创 人工智能基础知识笔记二十:构建一个简单的Agent+MCP Server
本文介绍了如何使用Ollama的Llama3.2模型构建MCP服务器(MCPServer)和Agent系统。首先通过Ollama下载所需模型,并推荐使用uv替代pip进行依赖管理。文章详细展示了如何创建天气查询功能的MCPServer,以及如何通过Agent自动识别查询内容并调用MCP服务器获取天气信息。示例代码包括服务器端(weather_server.py)和客户端(agent_client.py)实现,最终实现了基于自然语言查询城市天气和预报的功能。
2025-11-14 18:02:49
1099
原创 人工智能基础知识笔记十九:MCP Server的构建
本文介绍了如何构建和测试一个基于FastMCP的MCPServer。首先通过示例代码展示了如何创建天气查询服务,包含实时天气和天气预报两个工具接口。服务启动后,分别使用MCPClient和MCPInspector两种方式进行测试:Client通过代码调用服务接口获取结果;Inspector则提供可视化界面来查看服务资源、发送请求。文章详细说明了服务部署、客户端连接以及测试工具使用的完整流程,为开发者提供了从搭建到测试MCPServer的完整指南。
2025-11-13 21:33:40
319
原创 人工智能基础知识笔记十八:Prompt Engineering
摘要:提示词工程(Prompt Engineering)是设计优化输入提示以引导AI生成更精准输出的方法。由于AI模型的局限性及语言歧义性,清晰的提示词能激发模型潜力,提高回答质量。核心要素包括:角色扮演、明确任务、提供背景、输入数据及输出要求。文中提供了两个实用模板(角色-任务-步骤-输出、输入-处理-输出)并强调提示词工程是提升AI交互效率的关键技能,将成为未来重要的生产力工具。(150字)
2025-10-17 17:10:55
982
原创 人工智能基础知识笔记十七:微调方法
全面微调训练所有参数性能潜力最大成本极高,灾难性遗忘算力无限,任务特殊适配器插入并训练小网络参数高效,模块化推理延迟,结构复杂需要快速切换多任务提示微调优化输入前缀极其高效,无结构改动占用上下文,效果不稳轻量级任务适配LoRA用低秩矩阵模拟权重更新高效、强效、零开销需选择秩r当前绝大多数场景的首选QLoRA量化 + LoRA极致的内存效率有极小的量化损失资源受限的个人或团队。
2025-10-09 15:05:38
876
原创 人工智能基础知识笔记十六:微调(Fine Tuning)
摘要:微调(Fine-Tuning)是对预训练大模型进行领域适配的再训练过程,使其从通用模型转变为特定领域的专家模型。相比提示词工程,微调能提供更稳定、专业的输出,但成本较高。微调步骤包括:明确任务目标、准备高质量数据集、选择合适模型与方法(如LoRA等高效微调技术)、配置训练参数、评估模型表现。提示词工程适用于简单任务,而专业化和高可靠性需求则需考虑微调。
2025-10-09 14:32:27
795
1
原创 人工智能基础知识笔记十五:文本分块(Chunk)
文本分块(Chunk)是将长文本切分为逻辑连贯的短文本单元的技术,主要解决大语言模型(LLM)的记忆限制问题。分块的关键参数包括块大小(通常256-2048 tokens)、重叠比例(10-20%)和分隔符(如段落标记)。分块的作用包括避免信息截断、提高计算效率(注意力机制计算量随文本长度平方增长)和增强匹配精度。常见分块策略包含固定长度分块(简单但可能切断语义)、语义分块(保持逻辑完整但实现复杂)和重叠分块(保障上下文连贯)。选择分块策略需考虑文本类型(结构化/非结构化)和任务需求,可通过实验确定最优参数
2025-08-08 21:50:59
1901
原创 人工智能基础知识笔记十四:文本转换成向量
文本向量化是自然语言处理的关键步骤,将文本转换为数值向量以供机器学习模型处理。主要方法包括:基于词频的BoW和TF-IDF,简单高效但无法捕捉语义;词嵌入方法(Word2Vec、GloVe)通过预测上下文或全局统计生成低维稠密向量,能表达语义关系但无法处理多义词;动态嵌入技术(ELMo、BERT)利用深度学习生成上下文相关向量,性能优越但计算成本高;FastText和Doc2Vec则分别针对未登录词和文档级表示优化。选择方法需权衡任务复杂度、语义需求和计算资源,传统方法适用于简单任务,词嵌入适合中等需求,而
2025-07-17 15:06:32
1067
原创 人工智能基础知识笔记十三:数据清理
本文系统介绍了大型语言模型(LLM)训练前的数据清理方法。主要内容包括:1)文本规范化(大小写处理、特殊字符去除、缩写恢复、停用词过滤);2)噪声数据去除(HTML标签、URL、重复内容等);3)语言检测与过滤;4)分词与标记化技术;5)数据去重、长度过滤、毒性内容检测等关键技术。文章还提供了完整的Python代码示例,涵盖NLTK、BeautifulSoup、transformers等工具库的使用,并总结了数据清理的最佳实践,包括处理顺序、领域适应性、语言特性考量等注意事项。通过合理的数据清理,可以有效提
2025-07-10 15:55:28
1202
原创 人工智能基础知识笔记十二:相似性计算方法
本文介绍了向量相似性计算在机器学习和数据科学中的核心作用,重点分析了8种常用方法。余弦相似度适合文本分析但对长度不敏感;欧氏距离直观但受高维影响;曼哈顿距离对异常值鲁棒;点积高效但需归一化;马氏距离考虑特征相关性但计算复杂;Jaccard适用于二元数据;预训练模型捕捉语义但资源消耗大。每种方法各有特点,选择时应结合数据特性(如维度、稀疏性)和任务需求(方向或距离敏感)。这些相似性度量支撑着推荐系统、NLP、图像检索等上层应用,为数据关联提供可解释的量化标准。
2025-07-08 15:59:40
826
原创 人工智能基础知识笔记十:降维技术
有无标签?有标签且目标是分类:优先考虑LDA(如果数据大致满足其假设)。无标签:继续判断。主要目标是什么?快速预处理/压缩/去噪PCA通常是首选起点。数据可视化t-SNE(专注局部簇) 或UMAP(平衡局部全局)。UMAP是更可行的选择。MDS(尤其非度量)。LLE(但UMAP通常更优)。降维后特征用于下游任务(聚类/分类)PCAUMAP是常见选择。LDA仅适用于有监督分类。数据结构?线性结构明显PCALDA(监督) 效果很好。复杂非线性/流形结构t-SNEUMAPLLE非度量MDS。数据规模。
2025-06-15 09:01:13
1122
原创 人工智能基础知识笔记十一:数据规范化技巧
方法优点缺点典型应用场景Min-Max范围固定 ([0,1]),直观对异常值敏感图像像素值,已知边界且无异常值,需要固定范围Z-Score对异常值较鲁棒,中心化数据范围不固定最通用:PCA, 聚类, SVM, 回归, 神经网络等Max-Abs保留符号和零点,适合稀疏数据对极大绝对值异常值敏感以零为中心的数据,稀疏数据 (如 TF-IDF)鲁棒缩放对异常值高度鲁棒结果分布可能不直观包含显著异常值的数据单位向量(L2)样本向量模长为1,适合余弦相似度改变了特征尺度关系。
2025-06-14 13:29:52
906
原创 人工智能基础知识笔记九:模型评估的指标
在评估机器学习模型的性能时,根据任务的不同(分类、回归等),我们可以使用不同的评价指标。本文主要是介绍一些常见的评估指标及其优缺点。
2025-05-13 13:27:37
1074
原创 人工智能基础知识笔记八:数据预处理
在进行数据分析之前,数据预处理是一个至关重要的步骤。它包括了数据清洗、转换和特征工程等过程,以确保数据的质量并提高模型的性能。数据预处理是机器学习和数据分析中至关重要的步骤,其中分类变量的编码是核心任务之一。本文详细讲解四种常用编码方法(One-Hot Encoding、Label Encoding、Frequency Encoding、Target Encoding)。
2025-05-09 17:37:26
1127
原创 人工智能基础知识笔记八:损失函数
在机器学习的领域里,损失函数(Loss Function)如同一位严苛的导师,既为模型指引优化方向,又严格衡量其预测能力。本文将从定义、常见类型、优缺点到适用场景,为您全面解析这一核心概念。
2025-04-24 11:59:36
1155
原创 应用安全系列之四十五:日志伪造(Log_Forging)之三
针对Java的日志系统有多种,本文主要描述如何通过修改配置文件来解决logback和log4j的日志伪造问题。
2025-04-11 17:10:37
677
原创 应用安全系列之四十六:Expression Language Injection (EL注入)
Spring Boot默认支持Thymeleaf作为视图层技术,虽然Thymeleaf默认是安全的,但如果启用了不安全的特性或错误地配置了模板引擎,仍有可能导致类似的注入问题。如果用户输入的内容直接被嵌入到错误消息模板中,并且没有经过适当的清理或转义,攻击者可以通过构造恶意输入来执行任意 EL 表达式。,这些类用于解析和评估Spring表达式语言(SpEL),如果开发者不谨慎处理用户输入,就可能存在注入风险。方法默认支持 EL 表达式解析,如果用户输入被直接嵌入到模板中,可能导致 EL 注入攻击。
2025-04-10 18:22:28
1366
原创 应用安全系列之四十五:日志伪造(Log_Forging)之二
日志伪造(Log Forging)是一种常见的安全威胁,攻击者通过注入恶意内容破坏日志完整性。不同编程语言的防御方式有所不同,本文主要介绍Java、C#、Node.js、Rails(Ruby)和Go语言中的防护方法。。使用转义使用Lograge (结构化日志)使用log/slog结构化日志(Go 1.21+)zap(Uber日志库)手动替换换行符参数化/结构化日志使用{}占位符或键值对日志,避免直接拼接字符串过滤换行符替换\r、\n为空格或下划线限制日志长度截断超长日志,防止DoS攻击。
2025-04-03 19:06:21
824
原创 应用安全系列之四十五:日志伪造(Log_Forging)之一
在记录日志之前,对需要记录的字符串进行格式或者取值范围进行验证,如果验证之后的字符串保证不会含有回车和换行字符,也可以避免日志伪造的攻击。日志伪造(Log Forging),也叫日志注入(Log Injection),是指攻击者通过向应用程序输入恶意数据,使这些数据被记录到日志中,从而破坏日志的完整性、可读性,甚至执行恶意操作。
2025-04-03 18:57:39
1039
原创 人工智能基础知识笔记七:随机变量的几种分布
随机变量的分布研究的是随机变量在某些离散点或某个区间取值时的概率,即概率分布或分布律,主要包括正态分布、二项分布、泊松分布、均匀分布、卡方分布、Beta 分布等。
2025-04-02 15:43:55
1315
原创 Mac: 运行python读取CSV出现 permissionError
如何处理python程序的permissionError:[Errno 1] Operation not permitted?
2025-03-28 14:56:24
846
嵌入式Linux性能详解
2009-07-01
gdb 培训材料 ppt
2009-01-07
unlocker-3.0.3.zip
2020-03-30
OCCI 接口封装包
2009-08-05
web hacking - attacks and defense
2014-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅