- 博客(306)
- 资源 (10)
- 收藏
- 关注
原创 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
23924
25
原创 人工智能基础知识笔记二十八:几款有用的LLM管理工具
本文介绍了四款本地LLM管理工具:Ollama(开源框架,支持命令行操作)、LMStudio(图形界面桌面应用)、AnythingLLM(企业级知识库系统)和OpenWebUI(类ChatGPT的Web界面)。重点讲解了Ollama和LMStudio的安装使用方法、常用命令及API调用示例,比较了各工具在界面类型、部署方式、核心功能等方面的差异。这些工具简化了本地LLM的部署与管理,满足从简单对话到企业级知识库的不同需求,支持Windows、Mac和Linux系统。
2025-12-19 13:21:25
391
原创 人工智能基础知识笔记二十七:构建一个可以搜索本地文件的Agent
本文介绍了一个基于自然语言处理的智能文件搜索Agent系统。该系统通过LLM模型解析用户输入的查询条件(如文件名、类型、修改日期等),在本地文件系统中进行智能搜索。文章详细阐述了核心功能实现,包括查询解析、文件匹配算法和系统架构,并提供了Web交互界面实现方案(基于Streamlit)。系统支持高级搜索功能,如日期范围、文件大小筛选等,同时具备语音输入和搜索历史记录功能。作者分享了开发过程中使用AI辅助工具的经验,强调了日志调试在解决AI"幻觉"问题中的重要性。该系统弥补了Windows
2025-12-12 09:18:24
344
原创 人工智能基础知识笔记二十六:常用的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
438
6
原创 人工智能基础知识笔记二十五:构建一个优化PDF简历的Agent
本文介绍了构建一个简历优化Agent的技术方案,该Agent能够解析PDF简历并优化输出为PDF格式。方案使用PyMuPDF加载PDF,通过LangChain调用Ollama大模型进行简历内容优化,并对比了三种PDF生成方案(reportlab、fpdf2和weasyprint)。测试发现weasyprint对Unicode支持最佳,但存在依赖库安装问题导致可能回退为TXT输出。当前方案能有效优化简历结构和内容表述,但尚需改进机构名称的自动翻译功能。整体方案可作为简历优化的基础工具,配合人工调整即可获得专业
2025-12-06 21:40:02
521
原创 人工智能基础知识笔记二十四:构建一个可以解析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
310
原创 运行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
146
原创 人工智能基础知识笔记二十三:构建一个可以查询数据库的Agent
本文介绍了一个基于LangChain框架的数据库查询Agent系统,能够通过自然语言问题自动生成并执行SQL查询。系统主要包含五大功能模块:SQL生成、执行、验证、修正和数据库模式获取。实现步骤包括:1)搭建SQLite数据库环境;2)集成Ollama作为LLM引擎;3)开发专用工具链处理SQL全流程;4)设计系统提示模板规范工作流程;5)封装统一查询接口。测试表明,该系统能正确理解"发票明细平均单价"等自然语言问题,生成有效SQL并返回准确结果,验证了方案的可行性。关键创新在于将LLM
2025-12-05 18:02:01
480
原创 人工智能基础知识笔记二十二:构建一个可以搜索Web的Agent
摘要:Agent(智能体)是能感知环境、自主决策并采取行动实现目标的系统,分为StaticModel和DynamicModel两种类型。StaticModel智能体使用固定参数模型,具有稳定、可控和低成本的特点,适用于客服、编程助手等场景。DynamicModel智能体能持续学习和自我进化,适用于游戏AI、自适应机器人等复杂环境,但面临稳定性与安全性的挑战。两种智能体各具优势,StaticModel是当前主流应用的基础,而DynamicModel代表未来发展方向。
2025-12-02 21:36:06
873
原创 人工智能基础知识笔记二十一:Function Calling
FunctionCalling是一种让AI模型通过结构化请求调用外部函数的机制,使大型语言模型(LLM)能与工具、API或代码交互。它通过定义函数描述、模型推理生成结构化请求、外部执行和结果整合四个步骤工作,扩展了LLM的实时数据获取、系统交互等能力,确保输出的确定性和可靠性。开发者可使用@tool装饰器定义函数,将其与LLM绑定,并通过消息传递模拟Agent选择和执行函数。LangChain等工具库提供了多种预定义函数,如搜索工具,进一步增强了AI应用的功能。
2025-11-30 16:59:53
623
原创 人工智能基础知识笔记二十:构建一个简单的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
1091
原创 人工智能基础知识笔记十九:MCP Server的构建
本文介绍了如何构建和测试一个基于FastMCP的MCPServer。首先通过示例代码展示了如何创建天气查询服务,包含实时天气和天气预报两个工具接口。服务启动后,分别使用MCPClient和MCPInspector两种方式进行测试:Client通过代码调用服务接口获取结果;Inspector则提供可视化界面来查看服务资源、发送请求。文章详细说明了服务部署、客户端连接以及测试工具使用的完整流程,为开发者提供了从搭建到测试MCPServer的完整指南。
2025-11-13 21:33:40
314
原创 人工智能基础知识笔记十八:Prompt Engineering
摘要:提示词工程(Prompt Engineering)是设计优化输入提示以引导AI生成更精准输出的方法。由于AI模型的局限性及语言歧义性,清晰的提示词能激发模型潜力,提高回答质量。核心要素包括:角色扮演、明确任务、提供背景、输入数据及输出要求。文中提供了两个实用模板(角色-任务-步骤-输出、输入-处理-输出)并强调提示词工程是提升AI交互效率的关键技能,将成为未来重要的生产力工具。(150字)
2025-10-17 17:10:55
970
原创 人工智能基础知识笔记十七:微调方法
全面微调训练所有参数性能潜力最大成本极高,灾难性遗忘算力无限,任务特殊适配器插入并训练小网络参数高效,模块化推理延迟,结构复杂需要快速切换多任务提示微调优化输入前缀极其高效,无结构改动占用上下文,效果不稳轻量级任务适配LoRA用低秩矩阵模拟权重更新高效、强效、零开销需选择秩r当前绝大多数场景的首选QLoRA量化 + LoRA极致的内存效率有极小的量化损失资源受限的个人或团队。
2025-10-09 15:05:38
867
原创 人工智能基础知识笔记十六:微调(Fine Tuning)
摘要:微调(Fine-Tuning)是对预训练大模型进行领域适配的再训练过程,使其从通用模型转变为特定领域的专家模型。相比提示词工程,微调能提供更稳定、专业的输出,但成本较高。微调步骤包括:明确任务目标、准备高质量数据集、选择合适模型与方法(如LoRA等高效微调技术)、配置训练参数、评估模型表现。提示词工程适用于简单任务,而专业化和高可靠性需求则需考虑微调。
2025-10-09 14:32:27
761
1
原创 人工智能基础知识笔记十五:文本分块(Chunk)
文本分块(Chunk)是将长文本切分为逻辑连贯的短文本单元的技术,主要解决大语言模型(LLM)的记忆限制问题。分块的关键参数包括块大小(通常256-2048 tokens)、重叠比例(10-20%)和分隔符(如段落标记)。分块的作用包括避免信息截断、提高计算效率(注意力机制计算量随文本长度平方增长)和增强匹配精度。常见分块策略包含固定长度分块(简单但可能切断语义)、语义分块(保持逻辑完整但实现复杂)和重叠分块(保障上下文连贯)。选择分块策略需考虑文本类型(结构化/非结构化)和任务需求,可通过实验确定最优参数
2025-08-08 21:50:59
1825
原创 人工智能基础知识笔记十四:文本转换成向量
文本向量化是自然语言处理的关键步骤,将文本转换为数值向量以供机器学习模型处理。主要方法包括:基于词频的BoW和TF-IDF,简单高效但无法捕捉语义;词嵌入方法(Word2Vec、GloVe)通过预测上下文或全局统计生成低维稠密向量,能表达语义关系但无法处理多义词;动态嵌入技术(ELMo、BERT)利用深度学习生成上下文相关向量,性能优越但计算成本高;FastText和Doc2Vec则分别针对未登录词和文档级表示优化。选择方法需权衡任务复杂度、语义需求和计算资源,传统方法适用于简单任务,词嵌入适合中等需求,而
2025-07-17 15:06:32
1054
原创 人工智能基础知识笔记十三:数据清理
本文系统介绍了大型语言模型(LLM)训练前的数据清理方法。主要内容包括:1)文本规范化(大小写处理、特殊字符去除、缩写恢复、停用词过滤);2)噪声数据去除(HTML标签、URL、重复内容等);3)语言检测与过滤;4)分词与标记化技术;5)数据去重、长度过滤、毒性内容检测等关键技术。文章还提供了完整的Python代码示例,涵盖NLTK、BeautifulSoup、transformers等工具库的使用,并总结了数据清理的最佳实践,包括处理顺序、领域适应性、语言特性考量等注意事项。通过合理的数据清理,可以有效提
2025-07-10 15:55:28
1176
原创 人工智能基础知识笔记十二:相似性计算方法
本文介绍了向量相似性计算在机器学习和数据科学中的核心作用,重点分析了8种常用方法。余弦相似度适合文本分析但对长度不敏感;欧氏距离直观但受高维影响;曼哈顿距离对异常值鲁棒;点积高效但需归一化;马氏距离考虑特征相关性但计算复杂;Jaccard适用于二元数据;预训练模型捕捉语义但资源消耗大。每种方法各有特点,选择时应结合数据特性(如维度、稀疏性)和任务需求(方向或距离敏感)。这些相似性度量支撑着推荐系统、NLP、图像检索等上层应用,为数据关联提供可解释的量化标准。
2025-07-08 15:59:40
801
原创 人工智能基础知识笔记十:降维技术
有无标签?有标签且目标是分类:优先考虑LDA(如果数据大致满足其假设)。无标签:继续判断。主要目标是什么?快速预处理/压缩/去噪PCA通常是首选起点。数据可视化t-SNE(专注局部簇) 或UMAP(平衡局部全局)。UMAP是更可行的选择。MDS(尤其非度量)。LLE(但UMAP通常更优)。降维后特征用于下游任务(聚类/分类)PCAUMAP是常见选择。LDA仅适用于有监督分类。数据结构?线性结构明显PCALDA(监督) 效果很好。复杂非线性/流形结构t-SNEUMAPLLE非度量MDS。数据规模。
2025-06-15 09:01:13
1088
原创 人工智能基础知识笔记十一:数据规范化技巧
方法优点缺点典型应用场景Min-Max范围固定 ([0,1]),直观对异常值敏感图像像素值,已知边界且无异常值,需要固定范围Z-Score对异常值较鲁棒,中心化数据范围不固定最通用:PCA, 聚类, SVM, 回归, 神经网络等Max-Abs保留符号和零点,适合稀疏数据对极大绝对值异常值敏感以零为中心的数据,稀疏数据 (如 TF-IDF)鲁棒缩放对异常值高度鲁棒结果分布可能不直观包含显著异常值的数据单位向量(L2)样本向量模长为1,适合余弦相似度改变了特征尺度关系。
2025-06-14 13:29:52
882
原创 人工智能基础知识笔记九:模型评估的指标
在评估机器学习模型的性能时,根据任务的不同(分类、回归等),我们可以使用不同的评价指标。本文主要是介绍一些常见的评估指标及其优缺点。
2025-05-13 13:27:37
1045
原创 人工智能基础知识笔记八:数据预处理
在进行数据分析之前,数据预处理是一个至关重要的步骤。它包括了数据清洗、转换和特征工程等过程,以确保数据的质量并提高模型的性能。数据预处理是机器学习和数据分析中至关重要的步骤,其中分类变量的编码是核心任务之一。本文详细讲解四种常用编码方法(One-Hot Encoding、Label Encoding、Frequency Encoding、Target Encoding)。
2025-05-09 17:37:26
1102
原创 人工智能基础知识笔记八:损失函数
在机器学习的领域里,损失函数(Loss Function)如同一位严苛的导师,既为模型指引优化方向,又严格衡量其预测能力。本文将从定义、常见类型、优缺点到适用场景,为您全面解析这一核心概念。
2025-04-24 11:59:36
1145
原创 应用安全系列之四十五:日志伪造(Log_Forging)之三
针对Java的日志系统有多种,本文主要描述如何通过修改配置文件来解决logback和log4j的日志伪造问题。
2025-04-11 17:10:37
662
原创 应用安全系列之四十六:Expression Language Injection (EL注入)
Spring Boot默认支持Thymeleaf作为视图层技术,虽然Thymeleaf默认是安全的,但如果启用了不安全的特性或错误地配置了模板引擎,仍有可能导致类似的注入问题。如果用户输入的内容直接被嵌入到错误消息模板中,并且没有经过适当的清理或转义,攻击者可以通过构造恶意输入来执行任意 EL 表达式。,这些类用于解析和评估Spring表达式语言(SpEL),如果开发者不谨慎处理用户输入,就可能存在注入风险。方法默认支持 EL 表达式解析,如果用户输入被直接嵌入到模板中,可能导致 EL 注入攻击。
2025-04-10 18:22:28
1325
原创 应用安全系列之四十五:日志伪造(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
797
原创 应用安全系列之四十五:日志伪造(Log_Forging)之一
在记录日志之前,对需要记录的字符串进行格式或者取值范围进行验证,如果验证之后的字符串保证不会含有回车和换行字符,也可以避免日志伪造的攻击。日志伪造(Log Forging),也叫日志注入(Log Injection),是指攻击者通过向应用程序输入恶意数据,使这些数据被记录到日志中,从而破坏日志的完整性、可读性,甚至执行恶意操作。
2025-04-03 18:57:39
1009
原创 人工智能基础知识笔记七:随机变量的几种分布
随机变量的分布研究的是随机变量在某些离散点或某个区间取值时的概率,即概率分布或分布律,主要包括正态分布、二项分布、泊松分布、均匀分布、卡方分布、Beta 分布等。
2025-04-02 15:43:55
1287
原创 Mac: 运行python读取CSV出现 permissionError
如何处理python程序的permissionError:[Errno 1] Operation not permitted?
2025-03-28 14:56:24
829
原创 人工智能基础知识笔记五:相关分析
在数学上,研究两个或两个以上处于同等地位的事物之间相关程度的强弱,并用适当的统计指标表示出来的过程,称为相关分析。根据相关分析,可以从不同角度对事物的相关性进行分类。 本文主要是介绍各种相关分析的系数和计算公式。
2025-03-27 19:41:36
1243
原创 人工智能基础知识笔记四:聚类分析
在原型聚类中,属于某一簇的数据与定义这一簇的原型的点具有更近的距离或更大的相似性,而与属于其他簇的原型点具有较远的距离或较小的相似性。数据点分布密集的区域,拥有较高的密度;在聚类树中,不同类别的原始数据点是树的最低层,树的中间结点是聚合的一些簇,树的根结点对应多数据点的聚类。对于原型聚类算法的实现,通常要先对原型进行初始化,确定每个簇的中心点,然后计算属于每个簇的数据点划分,最后根据新计算的簇,计算更新后的中心点。从聚类的特点上看部分的层次聚类方法有图聚类的特性,另一部分的层次聚类法有原型聚类的特性。
2025-03-13 18:16:15
1092
原创 人工智能基础知识笔记三:假设检验
P值(P-value)是假设检验中用于判断原假设是否成立的一个概率值。它表示在原假设成立的前提下,观察到当前数据或更极端数据的概率。如果P值小于预先设定的显著性水平α(通常为0.05),则拒绝零假设。
2025-02-26 08:40:14
1140
原创 人工智能基础知识笔记二:激活函数
不论神经网络的层数有多少,任何线性函数的线性组合仍然是线性的,在一张纸上证明它是正确的并不难。使用非线性激活函数,可以将线性作用变成非线性作用,在输入输出之间生成非线性映射,使神经网络更加复杂,可以表示输人输出之间非线性的复杂的任意函数映射,可以描述复杂的表单数据,甚至可以具有学习复杂事物的能力。激活函数(Activation Function)又称激励函数,是在人工神经网络(Artifcial Neurawmwok)中每一个神经元上运行的函数,根据神经元的输人,通过激活函数的作用,产生神经元的输出。
2025-02-24 19:08:51
1283
原创 人工智能基础知识笔记一:核函数
虽然理论上所有满足Mercer条件的函数都可以作为核函数,但在实际应用中,选择核函数时还需要考虑其他因素,如计算效率、过拟合的风险以及特定问题的数据特性。二是采用交叉验证(Cross-Validation)方法,在选取核函数时,分别试用不同的核函数,通过仿真实验,在相同数据条件下对比分析,归纳误差最小的核函数就是最好的核函数。线性核函数可以直接使用,主要用于线性可分的情形。,函数 K(x,y)=f(x)·f(y),则称K(x,y)为核函数f(x)f(y)为向量x,y映射到特征空间上的向量之间的内积。
2025-02-24 14:00:24
1046
原创 OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. 错误的解决
根据网上的建议的方法如: 更新 pip到最新的版本“pip install --upgrade pip setuptools” 和重新安装porch “pip install torch torchvision torchaudio”。可以通过设置 环境变量 KMP_DUPLICATE_LIB_OK = TRUE 来解决这个问题。有的还建议使用源码构建的方法,但是,大家构建的环境又是一堆依赖,而且还不一定能够彻底搞定。经过调查得知:这个错误通常发生在使用 OpenMP 的多线程库时,程序尝试初始化。
2025-01-10 17:28:08
585
原创 CVSS4与CVSS3的不同之三
在CVSS 4里,如果针对一个漏洞进行评估,就必须要带上使用打分的命名,例如:一个漏洞在CVSS-B基础上评估的分数,需要加上CVSS-B,否则,就不知道具体使用的是哪些指标进行评估的。由此,可以推断出,针对Basic Metrics的打分,由于没有区分当前系统和受影响的相关系统,就默认对受影响的相关系统有较高的影响(个人猜测),导致分数偏高。在本片文章主要是集中在两者在应用上会有何不同以及在使用CVSS4的时候,有什么注意事项,最后,也通过一个例子尝试计算两个版本之间计算的CVSS分数的差异。
2024-11-19 15:41:23
1085
原创 CVSS4与CVSS3的不同之二
中描述了CVSS3的缺点,以及CVSS4相对CVSS3做了哪些改进和带来了哪些优点。但是具体CVSS4针对CVSS3做了哪些改动,还没有详细列举出来。本文主要是针对CVSS4和CVSS的打分的大项和小项进行逐一对比,列出来具体增加和删除了哪些项目。白色:没有更改的项目。
2024-11-16 21:17:18
1242
嵌入式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订阅