自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bblb的博客

码农烧烤码农探花

  • 博客(223)
  • 收藏
  • 关注

原创 【Java手搓OpenManus】-1- 环境准备

本文介绍了使用Java复刻OpenManus AI Agent项目的环境准备过程。作者选择Java 21作为开发语言,利用其虚拟线程特性处理高并发任务,并对比了Java与Python生态的技术选型。文章详细说明了项目创建步骤,包括Spring Boot初始化、JDK版本选择,以及核心依赖的引入配置,如LangChain4j(0.29.1)用于LLM集成、Playwright(1.40.0)实现浏览器自动化等。该项目旨在构建Java生态下的通用AI Agent框架,为后续功能开发奠定基础。

2025-11-24 13:02:43 894

原创 【Java手搓RAGFlow】-1- 环境准备

本文介绍了一个基于Java和Spring Boot的手搓RAG系统——BaoRagFlow的开发准备。该项目旨在构建一个企业级AI知识库管理系统,包含文档上传、向量检索和AI回答生成等完整流程。文章详细列出了后端技术栈(MySQL、Redis、Elasticsearch、Kafka等),并提供了Docker环境的搭建指南,包括镜像拉取和容器配置。通过该项目,开发者可以深入了解RAG系统的实现细节和多租户等企业级功能的开发。

2025-11-16 13:32:40 1054

原创 从传统后端到AI智能驱动:Java + AI 生态深度实战技术总结

本文总结了2025年Java与AI技术融合的深度实践。作者从构建企业级RAG知识库入手,通过MinIO存储、Apache Tika解析和Kafka消息队列实现工程化数据处理,并创新采用语义分块策略提升检索质量。在AI Agent开发中,利用Java 21虚拟线程和ReAct范式构建高性能智能体,解决了"复读机"等关键问题。同时分享了AI辅助编程经验,包括Cursor工具的高效使用和MCP协议的实践应用。作者认为AI正在重塑开发范式,使开发者能更专注于架构设计而非代码细节。这些实践展现了J

2025-12-27 11:59:46 979

原创 【Java手搓OpenManus】-7- 综合实战ManusAgent

前几章我们基本完成了agent的大体架构,接下来就是要完成命令行交互界面以及对应的相关功能我们使用 Spring Boot 实现命令行应用。根据前面的章节,我们有两种 Agent 执行方案可以选择:方案一:递归方案方案二:虚拟线程方案3 核心代码实现这是基于递归方案的实现(继承自 → → )。如果需要虚拟线程方案,可以创建 继承对应的虚拟线程版本类。创建com.openmanus.domain.agent.ManusAgent3.2 虚拟线程版本的 ManusAgent3.3 OpenM

2025-11-30 12:40:33 1832

原创 【Java手搓OpenManus】-6- 工具调用 Agent

上一章我们完成了工具的具体实现,接下来就是要思考如何让agent去调用我们的工具?因为工具类的消息都属于助手消息,所以我们创建的消息也是助手消息,并且还要把工具响应的结果重新放入记忆中,在具体执行某个工具时,先解析其参数,再进行执行,如果有特殊工具则特殊处理,之后所有结果格式化,通过async/await实现异步执行,顺序遍历所有执行工具。我们之前已经实现过Agent了,根据【Java手搓OpenManus】-4- Agent核心循环(Think-Act-Observe) https://blog.csdn

2025-11-30 12:40:12 975

原创 【Java手搓OpenManus】-5- 工具系统设计

但在处理 askWithTools 时,我们通过手动构建巨大的 JSON Map 来定义工具,这种硬编码的方式不仅代码不够优雅,而且极难维护和扩展。这是所有工具必须实现的接口,特别注意 toFunctionCallFormat 方法,它负责将 Java 对象转换为 LLM (如 OpenAI) 能识别的 JSON Schema 格式。Agent 的核心能力在于使用工具。为了让 Agent 能够对接 MCP、网页浏览器、文件系统等多种复杂的工具,我们需要设计一个统一、规范且易于扩展的工具系统。

2025-11-27 11:20:46 635

原创 【Java手搓OpenManus】-4- Agent核心循环(Think-Act-Observe)

本文介绍了Java版OpenManus Agent核心循环的实现,采用Think-Act-Observe模式。主要内容包括:1. 设计BaseAgent基类,实现状态管理、记忆管理和运行循环;2. 使用递归+CompletableFuture实现异步执行,避免线程阻塞;3. 定义Agent接口和状态枚举,确保状态流转合法性;4. 实现卡住检测和错误处理机制。该设计参考Python原版架构,通过分层抽象实现ReAct模式,为后续ToolCallAgent等具体实现提供基础框架。

2025-11-27 11:20:07 1263

原创 【Java手搓OpenManus】-3- LLM 服务封装

本文介绍了Java实现OpenManus项目中LLM服务封装的设计方案。通过定义LLMService接口,统一了对话、工具调用等功能,并基于LangChain4j实现OpenAI协议兼容的模型接入。采用CompletableFuture实现异步调用,保留流式响应接口,支持工具调用和Token管理。核心类包括顶层LLMService接口和LangChain4jLLMService实现,通过配置参数适配不同厂商的模型服务,为上层Agent提供统一的LLM交互能力。

2025-11-26 10:44:34 978

原创 【Java手搓OpenManus】-2- 领域模型设计

本文介绍了OpenManus系统的核心领域模型设计,重点实现了Message(消息)和Memory(记忆)两个核心组件。Message模型采用Lombok的@Data和@Builder注解实现,支持多种消息角色(系统、用户、助手、工具)和内容类型,并提供了便捷的工厂方法。Memory接口定义了基本的CRUD操作,当前实现使用ArrayList存储消息,支持最大消息数限制。设计决策考虑了类型安全、性能优化和未来扩展性,为后续开发奠定了良好的基础。

2025-11-26 10:43:39 682

原创 【Java手搓RAGFlow】-12- BaoRAGFlow最终项目展示

本文展示了基于Java开发的RAGFlow项目最终成果。通过Cursor Agent生成现代化Vue前端界面,并与后端完成联调。后端针对跨域、WebSocket消息处理等进行了优化,增强系统健壮性。功能演示包括文件上传解析和RAG流式对话,系统能准确回答知识库问题并拒绝未知查询,避免AI幻觉。该项目完整实现了包含Spring Boot、Elasticsearch、Kafka等技术的RAG系统,解耦计算与IO任务,打通非结构化数据到向量数据库的ETL流程,为企业级知识库应用提供了可靠解决方案。

2025-11-24 13:00:57 855

原创 【Java手搓RAGFlow】-11- Kafka异步处理

本文介绍了如何通过Kafka实现RAGFlow文件上传的异步处理。针对同步处理导致的用户体验差、系统稳定性低等问题,采用Kafka构建异步处理流程:文件上传后立即返回响应,后台通过Kafka消息队列处理解析和向量化任务。详细配置了Kafka生产者和消费者,包括重试机制和死信队列,并实现了FileProcessingTask任务模型进行消息传递。改造后的系统显著提升了用户体验和资源利用率,使系统具备更好的扩展性和容错能力。

2025-11-21 10:44:20 536

原创 【Java手搓RAGFlow】-10- WebSocket实时通信

本文介绍了如何在Java RAGFlow系统中实现WebSocket实时通信功能,以改善用户体验。主要内容包括: 配置WebSocket服务端,创建WebSocketConfig配置类并更新安全策略 实现ChatWebSocketHandler处理器,负责建立连接、处理消息和关闭连接 改造ChatHandler支持流式响应,通过WebSocket实时推送LLM生成的文本片段 该系统改造后能够提供打字机式的流式对话体验,避免了传统HTTP请求的同步等待问题。关键实现包括会话管理、错误处理和消息分块传输机制。

2025-11-21 10:43:55 644

原创 【Java手搓RAGFlow】-9- RAG对话实现

摘要:本文介绍了如何使用Java实现RAG对话系统,重点整合阿里云通义千问(Qwen)大语言模型。通过配置Qwen API参数和构建QwenClient类,实现了用户提问的上下文检索、Prompt构建和大模型调用的完整流程。系统采用流式响应机制,并支持对话历史管理,确保基于知识库的智能对话功能高效稳定运行。关键步骤包括:配置参数、创建请求体、处理流式响应以及异常处理。该实现为知识问答系统提供了可靠的后端支持。

2025-11-20 12:03:11 1206

原创 【Java手搓RAGFlow】-8- Elasticsearch 集成

本文介绍了在Java项目中集成Elasticsearch作为向量数据库的实现过程。首先阐述了选择Elasticsearch的优势,包括原生向量支持、强大的全文搜索和混合搜索能力。接着详细展示了配置方法,包括application.yml设置和创建EsConfig类。文章重点讲解了索引映射设计,包括关键字段类型定义(如dense_vector、text等)和IK分词器配置,并提供了完整的JSON映射示例。还提到创建索引初始化器来确保应用启动时索引结构正确。通过该实现,项目获得了高效的向量检索和传统搜索能力,为

2025-11-20 12:02:38 684

原创 【Java手搓RAGFlow】-7- 向量化与Embedding

本文介绍了如何在Java中实现RAG流程的向量化与Embedding步骤。主要内容包括: 向量化的核心作用:将文本转换为高维向量使计算机能够理解语义相似度 选择通义千问text-embedding-v4作为向量模型的原因: 高性价比和学生友好 兼容OpenAI API 完善的文档支持 具体实现方案: 配置Embedding API参数 使用Spring WebClient构建非阻塞HTTP客户端 实现EmbeddingClient组件处理批量文本向量化 支持分批次处理和错误重试机制 关键技术点: 16MB缓

2025-11-19 08:46:45 1068

原创 【Java手搓RAGFlow】-6- 文本分块策略

本文介绍了Java实现RAG系统中的文本分块策略,从简单固定长度分块到更复杂的语义分块方案。固定分块虽简单但会破坏语义完整性,而语义分块通过段落、句子和词语的三级分割策略,在保持语义连贯性的同时控制块大小:先按段落分割,对长段落按句子拆分,超长句子再按词语划分。这种分层处理方式平衡了模型输入限制与语义保留的需求,为后续检索和生成质量奠定基础,是构建高效RAG系统的关键步骤。

2025-11-19 08:45:51 880

原创 【Java手搓RAGFlow】-5- 文档解析模块

本文介绍了Java RAGFlow系统中文档解析模块的实现。该模块通过Apache Tika工具处理多种格式文档(PDF/Word/Excel等),将其转换为统一文本格式。系统设计了DocumentVector实体存储文本块,包含文件MD5、块ID、内容等字段,并通过JPA持久化。ParseService负责核心解析逻辑,包括使用Tika提取文本、按预设大小分块、保存至数据库等功能。该模块实现了非结构化文档到标准化文本块的转换,为后续检索增强生成(RAG)流程提供了基础数据支持。

2025-11-18 09:18:40 1120

原创 【Java手搓RAGFlow】-4- 文件上传与存储

本文介绍了在Java项目中整合MinIO实现文件上传与存储的完整方案。主要内容包括: 采用开源免费的MinIO作为文件存储中心,通过Docker快速部署服务 配置MinIO客户端连接,定义FileUpload实体类存储文件元数据 实现业务层的UploadService,提供文件上传功能,主要包括: 计算文件MD5值进行唯一标识 检查重复文件实现秒传 构建存储路径并保存文件到MinIO 持久化文件元数据到数据库 该方案充分利用了Spring Boot和MinIO的优势,为项目提供了稳定可靠的文件存储能力。通过

2025-11-18 09:18:09 644

原创 【Java手搓RAGFlow】-3- 用户认证与权限管理

本文介绍了在Java项目中实现用户认证与权限管理的方案,重点讲解了JWT(JSON Web Token)认证机制。主要内容包括: 认证方案对比:分析了Session、JWT和OAuth2三种认证方式的优缺点,选择JWT作为本项目方案。 JWT工作原理:详细说明JWT由Header、Payload和Signature三部分组成,并介绍了其认证流程。 具体实现: 使用代码生成高强度随机密钥 创建JwtUtils工具类集中管理JWT操作 实现生成Token、验证Token和解析Token的核心功能 该方案采用无状

2025-11-17 09:17:29 1269

原创 【Java手搓RAGFlow】-2- 流程分析及架构设计

本文介绍了基于Java的RAGFlow系统架构设计与核心流程分析。系统主要包含文档上传处理和RAG对话两大核心流程:文档上传流程涉及用户身份认证、多租户隔离、文件分块处理及向量化存储;对话流程则通过向量检索和LLM生成实现智能问答。数据库设计包含5张核心表:用户表(users)实现身份管理,组织标签表(organization_tags)支持多租户隔离,文件上传表(file_upload)记录文档元数据,分块信息表(chunk_info)建立文档与分块映射关系,文档向量表(document_vectors)

2025-11-17 09:16:24 746

原创 【AI应用探索】-13- RAG指南

不得不说谁发明的RAG,咋这么牛呢,什么时候我也能这么牛这就好了。

2025-11-16 13:30:34 915

原创 【AI应用探索】-12- GraphRAG+MCP的智能体Agent开发

本文探讨了GraphRAG技术的应用与实现方法。GraphRAG是微软开发的开源项目,通过构建知识图谱增强大语言模型的问答能力,相比传统RAG能提供更深入的答案理解。文章详细介绍了GraphRAG的工作原理:解析问题→图谱检索→信息综合→生成答案。实践部分展示了环境配置方法,包括创建conda环境、安装依赖、准备数据集(以《红楼梦》为例),并详细说明了配置文件修改要点(如API密钥设置、模型参数调整)。该技术特别适合处理需要综合分析多个信息源的复杂问题,为智能体开发提供了新的解决方案。

2025-11-13 19:46:47 1811

原创 【AI应用探索】-11- MCP的Server端和Client开发

本文介绍了MCP(Model Context Protocol)的应用开发方法。MCP是一种允许AI工具与数据源安全连接的开放标准,包含协议规范、本地服务器支持和开源存储库三大组件。相比传统功能调用,MCP具有异步、标准化和灵活性优势。文章以天气查询功能为例,详细说明了如何开发MCP服务器端和客户端:通过WeatherAPI获取实时数据,使用FastMCP框架构建异步服务,并实现数据格式化输出。该示例为后续集成GraphRAG和智能体开发奠定了基础,展示了MCP在构建复杂AI工作流中的应用潜力。

2025-11-13 19:44:56 1009

原创 【AI应用探索】-10- Cursor实战:小程序&APP - 下

本文详细介绍了微信商城小程序的开发过程。首先完成了小程序发布前的准备工作,包括获取AppID和创建空白项目。然后使用Cursor工具设计了完整的商城功能需求,涵盖用户系统、商品展示、购物车、订单管理等模块。针对前后端分离架构,分别生成了前端页面结构设计、后端API接口文档(小程序API和管理后台API)以及系统架构设计文档共6份技术文档。最后,根据需求分析自动生成了完整的数据库建表SQL脚本,包括用户表、商品表、订单表等核心数据表结构,为后续开发奠定了坚实基础。

2025-11-10 09:21:18 898

原创 【AI应用探索】-9- Cursor实战:网页&插件 - 上

本文介绍了Cursor开发工具的多种模式(Ask、Plan、Agent、@和CodeBase模式)及其在前后端项目开发中的应用。通过实战演示了从生成网站设计图到构建完整功能的流程,包括文件转换、图片处理等模块的实现。同时详细讲解了Python和Java开发环境的配置方法,并展示了基于qwen API开发Chrome浏览器插件的过程,包含选词翻译和选段总结功能的实现与测试。文章提供了完整的开发流程指南,适合开发者快速上手使用Cursor进行项目开发。

2025-11-10 09:20:00 997

原创 【AI应用探索】-7- LLaMA-Factory微调模型

本文详细介绍了使用LLaMA-Factory微调大语言模型的环境配置和关键步骤。首先说明了必备的Python环境(3.10)、PyTorch(2.6.0)等基础软件依赖及推荐版本,并提供了CUDA、DeepSpeed等可选组件的安装指南。随后展示了如何搭建conda环境、验证CUDA可用性,以及安装LLaMA-Factory及其依赖项。文章还介绍了FlashAttention、Unsloth等加速技术的配置方法,并演示了1.5B小模型的下载和加载过程。最后重点解析了微调时LoRA(低秩适配)技术的核心参数,

2025-11-06 23:42:09 1235 3

原创 【AI应用探索】-8- OpenManus使用及源码解析

Manus是一款通用型AI助手能将想法转化为行动不止思考更注重成果Manus处理工作与生活中的各类任务在你安心休息的同时一切能够妥善完成因为Manus是闭源的,所以我们无法知道是怎么实现的,这里我们采用github上的OpenManus来了解下整个流程OpenManus地址:https://github.com/FoundationAgents/OpenManus/blob/main/README_zh.md。

2025-11-06 23:41:44 1177

原创 【AI应用探索】-6- MCP&Cursor

MCP(Model Context Protocol)是一种标准化协议,旨在解决AI模型与外部工具交互的"N×M"难题,类似于USB-C的统一接口。文章展示了三种MCP应用方式:1) 使用Cursor中的Cline工具进行文件管理;2) 在SpringAI中集成高德地图MCP服务;3) 直接在Cursor中配置MCP服务器实现地理查询。通过MCP协议,开发者无需编写定制化代码即可快速集成各类工具,显著提升AI应用的开发效率和扩展性。文中详细演示了文件系统操作和地图服务接入的具体实现步骤。

2025-10-30 09:28:47 1091

原创 【AI应用探索】-5- SpringAI实现的西北大学博物馆预约自动AI助手

本文介绍了基于SpringAI框架实现的西北大学博物馆预约AI助手系统。系统采用前后端分离架构,前端使用React框架,后端基于Java17和SpringAI 1.0.3版本构建,接入阿里百炼大模型API。文章详细讲解了环境配置、项目依赖管理和核心代码实现,重点介绍了流式对话接口设计和日志记录功能。通过LoggingAdvisor实现了完整的请求/响应日志记录,便于调试和监控AI交互过程。系统实现了博物馆预约的智能问答功能,并支持跨域访问。

2025-10-30 09:27:29 744

原创 【AI应用探索】-4- Ollama+Qwen本地部署

本文介绍了Ollama+Qwen本地部署的完整流程。首先下载Ollama并更改默认安装路径和模型存储位置,通过设置系统变量实现自定义配置。然后选择适合本地硬件的Qwen3:4b模型,运行ollama命令拉取模型。最后配置本地API服务端点,验证部署效果。文中特别指出1b参数约需1G显存,建议微调任务在服务器执行。整个过程包含详细的命令和截图指引,帮助用户完成本地AI模型的部署和交互。

2025-10-29 09:32:26 723

原创 【AI应用探索】-3- SpringAI

SpringAI作为专为Spring Boot打造的AI框架,相比LangChain4j更契合Spring生态,降低开发者门槛。本文介绍了SpringAI的配置与使用,包括环境搭建、API集成、流式响应及Function Calling功能。通过定义WeatherService工具类,演示了如何实现AI调用外部方法获取天气数据。实践表明,SpringAI简化了AI能力集成,为Spring开发者提供了便捷的原生体验。

2025-10-29 09:30:44 790

原创 【AI应用探索】-2- RAG初步实战

RAG(检索增强生成)是一种结合大语言模型与知识检索的技术,通过“开卷考试”的机制提升AI回答的准确性。其核心流程分为离线准备(知识库构建)和在线生成(检索与回答)两个阶段。离线阶段通过文本切分、向量化存储数据;在线阶段则检索相关文本片段,并融入提示词中供大模型生成答案。关键技术包括文本向量化(将语义转换为高维向量)和相似度计算(如余弦相似度)。RAG有效解决了大模型的幻觉问题,使其能基于最新、专业的知识生成可靠回答。

2025-10-23 18:10:16 910

原创 【AI应用探索】-1- LangChain4j&记忆对话

本文介绍了作者探索LangChain4j框架及AI应用开发的经历。作者基于手头的A10和A6000显卡资源,学习集成大语言模型到Java应用的方法。文章重点展示了LangChain4j作为统一接口的优势,支持包括通义千问、Gemini等主流基座模型。通过具体代码示例,演示了如何快速接入OpenAI和阿里百炼的API,实现了文本对话和文生图功能(如生成"芝士菠萝虾堡"图片)。文章还提到LangChain4j从v0.36.0开始需要JDK17+环境,并分享了阿里云提供的100万Token免费

2025-10-23 18:09:52 840

原创 【AI八股文】03-监督学习方案面试篇

【AI八股文】03-监督学习方案面试篇

2025-09-26 10:09:19 1267

原创 【AI八股文】02-机器/深度学习中的其他模型面试篇

【AI八股文】02-机器/深度学习中的其他模型面试篇

2025-09-26 10:05:29 1300

原创 【AI八股文】01-机器学习面试篇

【AI八股文】01-机器学习面试篇

2025-09-25 10:11:30 1115

原创 【Java八股文】14-场景面试篇

【Java八股文】14-场景面试篇

2025-09-25 10:01:10 465

原创 【Java八股文】13-中间件面试篇

【Java八股文】13-中间件面试篇

2025-09-24 22:53:21 1287 1

原创 【Java八股文】12-分布式面试篇

【Java八股文】12-微服务面试篇

2025-09-24 22:48:45 990

原创 【Go学习】04-4-Gorm框架-增删改查事务钩子

【Go学习】04-4-Gorm框架-增删改查事务钩子

2025-03-13 08:45:04 1087

期末必备西北大学高级软件工程-酒店预订系统-后端开发框架Spring-第二次作业

这个项目的目的是确保你理解并熟悉讲座中涉及的概念。在这个项目中,您可以使用控制台应用程序或简单的GUI应用程序来实现程序的用户界面。警告:这是一个很长的编程项目,为三周的学习负荷而设计,估计为3*8 = 24小时。它在概念层面和实施层面都具有挑战性。你们必须在规定的三个星期内把货物分发出去。如果你只在项目截止日期前的最后一周才开始,你将没有足够的时间来完成它。假设您正在创建一个简化的酒店预订系统,该系统涉及酒店零售商(代理商)和批发商(连锁酒店)。该系统由多个旅行社(客户)组成,如hotels.com、hotwire.com和priceline.com,他们可以在这些网站预订酒店房间;还有多个连锁酒店(服务器),如戴斯酒店(Days Inn)、假日酒店(Holiday Inn)和希尔顿酒店(Hilton),它们向这些旅行社提供酒店房间。所需的体系结构和系统的主要组件如下图所示。

2024-06-20

期末必备西北大学-高级软件工程

本演示文稿旨在探讨高级软件工程领域的关键概念、最佳实践和应用。通过本演示,您将深入了解现代软件开发过程中的高级技术和方法。主要内容包括但不限于:介绍软件工程的基本原理、发展历程和核心概念,包括软件生命周期、需求工程和软件设计。深入探讨常见的软件设计模式,如工厂模式、观察者模式、策略模式等,以及它们在实际项目中的应用。讨论敏捷开发方法和持续集成的重要性,包括Scrum、Kanban等方法论,以及CI/CD(持续集成/持续交付)流程的实施。介绍软件质量保证的最佳实践,包括测试驱动开发(TDD)、单元测试、集成测试和自动化测试的重要性。探讨现代软件开发中的新兴技术趋势,如微服务架构、云原生应用和容器化技术(如Docker和Kubernetes)。本演示适合软件工程师、项目经理和任何对现代软件开发流程和技术感兴趣的专业人士。通过本演示,您将获得提升软件开发效率和质量的实用知识和见解。

2024-06-20

期末必备西北大学数值分析PPT

本演示文稿旨在介绍数值分析的基本原理、方法和应用。通过本演示,您将了解到数值分析在解决实际问题中的重要性和应用场景。主要内容包括但不限于:介绍数值分析的基础概念,如数值积分、微分方程数值解法和插值等。深入探讨了牛顿法、梯度下降法、高斯消元法等常见数值算法,并讨论它们的优缺点及适用范围。探讨了数值分析在计算流体力学、结构分析、信号处理等领域的具体应用案例。通过编程语言如Python或MATLAB展示数值方法的实现,并提供实际案例和代码示例,帮助观众理解和应用数值分析方法。本演示适合数学、工程和计算机科学领域的学生、研究人员和从业者,旨在帮助他们理解和利用数值分析解决现实世界中的复杂问题。

2024-06-20

期末必备研究生课程-数值分析笔记

【西北大学数值分析课程】 这份数值分析笔记涵盖了数值方法的基本原理、常见算法及其在实际问题中的应用。通过本笔记,读者将了解到数值分析的核心概念,包括数值解法的稳定性、精度和收敛性评估。主要内容包括但不限于:介绍数值分析的基础理论,如插值、数值积分和微分方程数值解法等。深入探讨了常见的数值算法,如牛顿法、梯度下降法、高斯消元法等,以及它们在不同数学和工程问题中的应用。探讨了数值分析在计算流体力学、结构力学、电路模拟等领域中的具体应用案例。通过Python或MATLAB等编这份数值分析笔记适合数学、工程、计算机科学及相关领域的学生和研究人员,旨在帮助他们掌握和应用数值方法解决实际问题的能力。程语言实现数值方法,并提供了实际案例和代码示例,帮助读者加深理解和应用。

2024-06-20

C#中的指针和内存管理以及垃圾回收PPT

在C#中,直接操作指针是相对较少见的,因为C#旨在提供一种更安全和更易于管理内存的方式。然而,有些情况下,你可能需要使用指针来与非托管代码进行交互,或者在性能要求较高的场景下进行优化。以下是关于C#中指针、内存管理和垃圾回收的一些基本信息: 指针(Pointer) 在C#中,通过使用unsafe关键字,可以声明不安全代码块,从而允许使用指针。例如: unsafe { int x = 10; int* ptr = &x; Console.WriteLine(*ptr); // 输出 10 } 在使用指针时,需要格外小心,因为它们可以绕过C#的类型安全和边界检查,可能导致内存泄漏、潜在的安全漏洞或未定义的行为。 内存管理 在C#中,大部分情况下,内存管理由垃圾回收器负责,你不需要显式地分配或释放内存。这种自动管理内存的方式大大减少了内存泄漏的风险。 不过,在与非托管代码交互或对性能要求极高的情况下,你可能需要手动管理内存。这可以通过使用Marshal类中的方法来进行非托管内存的分配和释放

2024-03-28

DrugClip全文翻译

DrugCLIP通过将虚拟筛选定义为密集检索任务,并使用对比学习来对齐结合蛋白口袋和分子的表示,这些表示来自大量没有明确结合亲和力评分的成对数据。DrugCLIP还引入了一种生物知识启发的数据增强策略,以学习更好的蛋白质分子表示。大量实验表明,在各种虚拟筛选基准上,DrugCLIP显著优于传统的对接和监督学习方法,并且大大减少了计算时间,特别是在零样本设置下。DrugCLIP被提出,这是一种密集检索方法,它计算两个单独的预训练编码器之间的对比损失,以最大化蛋白质-分子对之间的相似性。与监督学习方法相比,对比学习方法有几个优点。首先,寻找蛋白质与分子之间的匹配关系的目标自然符合虚拟筛选任务的制定。其次,设计的对比损失减轻了对binding亲和力标注的依赖,有利于在PDBBind等密集标注的小数据集之外使用大规模未标注数据。DrugCLIP中还引入了一种生物学知识启发的增强方法,HomoAug,它基于蛋白质同源进化创建蛋白质-分子对。最后,密集检索设置允许离线预计算蛋白质和分子编码,为在线推理提高效率,并有望对数十亿分子进行高通量虚拟筛选。

2024-03-26

电气设备数字化测试仪器数据与通信技术规范第1、4、5部分

电气设备数字化测试仪器数据与通信技术规范 第 1 部分:通用技术要求 Technical specification for data and communication of digital test instruments for electrical equipment—Part1:General technical requirements 电气设备数字化测试仪器数据与通信技术规范 第 4 部分:停电试验仪器数据规范 Technical specification for data and communication of digital test instruments forelectrical equipment—Part 4:Data specifications for outage test instruments 电气设备数字化测试仪器数据与通信技术规范 第 5 部分:停电试验仪器通信规约 Technical specification for data and communication of digital test instruments

2023-10-05

AlphaFold2论文及其补充文档

2021年DeepMind公司发表在Nature上的获得最佳论文奖的论文的补充文档,论文好找,补充文档不好找,个人上传上来。 zip文件包含alphafoldv2版本的正文和补充文档 Paper Name:AlphaFold2: Highly accurate protein structure prediction with AlphaFold Author:DeepMind的那群人 Author Affiliation:DeepMind Citation Rate:14694 Abstract:蛋白质结构预测:给定某一个蛋白质的一串氨基酸序列,猜测这个蛋白质的3D结构是什么样子的 ?现在的生物学可能需要很长的时间来具体了解一个蛋白质的结构:从不同的角度用显微镜来看它的结构。AlphaFold 2的精度可以到达原子级别,实验室测得的(真实)位置和预测的位置之间的差距在原子大小的级别以内,模型使用了一定的生物学和物理学的知识,融合在深度学习里面前作AlphaFold 1精度不够,这篇论文提出了AlphaFold 2。

2023-10-05

空空如也

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

TA关注的人

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