一、概述 企业应用集成大语言模型(LLM)落地的两大痛点: 知识局限性:LLM依赖静态训练数据,无法覆盖实时更新或垂直领域的知识; 幻觉:当LLM遇到训练数据外的提问时,可能生成看似合理但错误的内容。 用最低的成本解决以上问题,需要使用 RAG 技术,它是一种结合信息检索技术与 LLM 的框架,通过 ...
引言 ❝ 小编是一名10年+的.NET Coder,期间也写过Java、Python,从中深刻的认识到了软件开发与语言的无关性。现在小编已经脱离了一线开发岗位,在带领团队的过程中,发现了很多的问题,究其原因,更多的是开发思维的问题。所以小编通过总结自己过去十多年的软件开发经验,为年轻一辈的软件开发者 ...
写c/c++或者rust的开发者应该对条件编译不陌生,条件编译顾名思义就是在编译时让代码中的一部分生效或者失效,从而控制编译时的代码执行路径,进而影响编译出来的程序的行为。 这有啥用呢?通常在编写跨平台代码的时候有用。比如我想开发一个文件操作库,这个库有全平台统一的接口,然而各大操作系统提供的文件和 ...
大家好,我是苏三,又跟大家见面了。 前言 大表优化是一个老生常谈的话题,但随着业务规模的增长,总有人会“中招”。 很多小伙伴的数据库在刚开始的时候表现良好,查询也很流畅,但一旦表中的数据量上了千万级,性能问题就开始浮现:查询慢、写入卡、分页拖沓、甚至偶尔直接宕机。 这时大家可能会想,是不是数据库不行 ...
中介者模式(Mediator Pattern) 中介者模式(Mediator Pattern)是一种行为型设计模式,它通过引入一个中介者对象,来减少多个对象之间的直接依赖,使对象之间的通信变得松耦合。对象不直接相互引用,而是通过中介者与其他对象交互。这有助于提高系统的可维护性和扩展性。 核心思想: ...
在数据库连接池的使用中,连接泄漏是一个常见且严重的问题。本文通过分析一个实际的案例,探讨了连接泄漏的危害、产生原因以及如何在 Druid 和 HikariCP 这两种常见的连接池中定位和解决连接泄漏问题。 ...
上次我们讨论了如何将自己的开源项目发布到 Maven 中央仓库,确保其能够方便地被其他开发者使用和集成。而我们的项目 spring-ai-hunyuan 已经具备了正常的聊天对话功能,包括文本聊天和图片理解等基础功能。今天,我们进一步优化和扩展了该项目,新增了一个向量化功能。如图所示: 好的,首先就 ...
最近在做一些代码重构,涉及到Python中部分代码重构后,单元测试实现较为麻烦甚至难以实现的场景,其中一个主要的原因是构造函数过于复杂。 因此,本篇文章借此总结一下我们应该需要什么样的构造函数。本篇文章涉及的概念不仅限于Python。 构造函数是什么 构造函数用于创建对象时触发,如果不自定义构造函数 ...
在数据可视化的世界里,饼图是最直观的展示比例关系的工具之一。 然而,传统的静态饼图已经无法满足现代数据分析的需求。Plotly作为一款强大的可视化库,不仅提供了饼图丰富的基础功能,还支持交互效果和动态更新等高级特性。 本文我们将深入探讨Plotly在饼图绘制上的高级功能,包括交互效果和动态更新等技巧 ...
dotnet8.0 C# 入门级简单Socket网络连接教程 另附控制台极简Demo
很多的信息,我都放到注释里了,只有有了上下文,看的才简单,才容易看明白 ...
Immutable 如《Effective Java》Item1)所述,在设计类的时候,倾向优先使用静态工厂方法(static factory method)而非构造函数(constructor)创建对象,优点在于: 静态工厂方法多了一层名称信息,比构造函数更富表达性。 可以更灵活地创建对象,比如缓 ...
大家好!我是韩老师。 本文是 MCP 系列文章的第三篇。之前的两篇文章是: Code Runner MCP Server,来了! 从零开始开发一个 MCP Server! 经过之前两篇文章的介绍,相信不少童鞋已经用上甚至开发起了第一个 MCP Server。 不过呢,还是遇到一些童鞋在安装/配置 M ...
1.概述 OpenAI Agents SDK 现已支持 MCP(模型上下文协议),这是 AI 互操作性的重大变革。这使开发人员能够高效地将 AI 模型连接到外部工具和数据源。本篇博客,笔者将指导使用 OpenAI Agents SDK 构建 MCP 服务器,以增强你的 AI 应用程序。 2.内容 2 ...
不久前刚在OpenEuler 24.09 RISC-V上部署了 bitcoin,不过还没跑起来,这次我打算在这个环境下面运行一些应用服务,体验一下 OERV 的开发感觉。 编译出来的 bitcoin 主要有几个命令,bitcoin-cli、bitcoind、bitcoin-util、bitcoin- ...
一、概述 有人奇怪为啥surging 宣布不更新,后面又更新了,又开发出木舟平台呢?我只能说有些事是命里注定,有些事情注定放弃不了,当你放弃的时候,会有客户花钱让你扩展更新,会有客户购买你的微服务引擎框架,甚至碰上叫你定制功能,给了代码,没给钱的,最近一年surging 就卖出去了10万,那为啥又开 ...
先放源码地址,喜欢看源码翻源码,喜欢看文章的继续看文章 https://github.com/taadis/go1024 - go1024 使用 go 语言实现的 1024 终端游戏,不到400行代码,代码简洁,以便理解和学习和掌握 go 语言开发. 安装和运行 要运行这个程序,你需要先安装依赖: ...
在上一篇文章中,我们围绕 “引用必然存在来源” 这一基本概念,介绍了Rust中引用之间的关系,以及生命周期标记的实际意义。我们首先从最简单的单参数方法入手,通过示例说明了返回引用与输入引用参数之间的逻辑关系;通过多引用参数的复杂场景,阐释了生命周期标注(本人给其命名为 “引用关系标记”)的必要性及其 ...
大纲 1.什么是时间轮 2.HashedWheelTimer是什么 3.HashedWheelTimer的使用 4.HashedWheelTimer的运行流程 5.HashedWheelTimer的核心字段 6.HashedWheelTimer的构造方法 7.HashedWheelTimer添加任务 ...
前言:本文操作是在 CentOS-7 下执行的,不确定在其他 Linux 发布版是否能同样正常执行。 1、检查前置依赖组件 在安装 rsync 之前,需要确认已安装了相关依赖组件: gcc 、openssl-devel 、xxhash 、zstd 、lz4 。 rpm -qa | grep gcc ...
3D Gaussian 是一种新的辐射场的实时渲染方法, 能够在较少的训练时间中实现SOTA级别的视觉效果, 允许以 1080p 分辨率进行高质量的实时(≥ 30 fps)新视图合成. 3D Gaussian Splatting 使用 3D Gaussian 球表示三维模型, 并通过 Splatti... ...