自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (14)
  • 收藏
  • 关注

原创 在windows系统中安装图数据库NEO4J

>`Neo4j`是一个高性能的`NOSQL`图形数据库,它将结构化数据存储在网络上而不是表中。 >`Neo4j`也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。本文讲述了在如何在`windows`系统中安装`NEO4J`。

2025-05-09 14:20:54 606

原创 本地大模型编程实战(32)用websocket显示大模型的流式输出

本文将模仿后端流式输出文字,前端一块一块的显示文字。主要的实现路径是:- `LLM` 采用 `qwen3` ,使用 `stream` 方式输出 - 后端使用 `langchain` 框架- 使用 `fastapi` 实现后端接口 - 前后端之间使用 **`websocket`** 长连接通信- 前端使用一个简单的 `html5` 网页做演示

2025-05-02 17:45:48 1393

原创 本地大模型编程实战(31)用Map-Reduce从大文本中提取摘要

在执行从文本中提取摘要的任务时,难免遇到大文本的情况:文本的长度超出了 `LLM(大语言模型)` 的token限制。 `LangGraph` 提供了 `map-reduce` 工作流,它先把大文本拆成小文档分别提取摘要,然后再提炼/压缩提取的摘要,直到最后提取的摘要的token长度满足既定要求。

2025-05-01 10:19:01 724

原创 本地大模型编程实战(30)从文本提取摘要

本文将演练如何使用 `LLM(大语言模型)` 提取文本摘要。

2025-05-01 10:00:18 436

原创 本地大模型编程实战(29)查询图数据库NEO4J(2)

上一篇文章 [用大语言模型LLM查询图数据库NEO4J(1)]介绍了使用`GraphQACypherChain`查询`NEO4J`。用它实现简单快捷,但是不容易定制,在生产环境中可能会面临挑战。本文将基于`langgraph` 框架,用`LLM(大语言模型)`查询图数据库`NEO4J`。它可以定义清晰复杂的工作流,能应对比较复杂的应用场景。

2025-04-29 16:22:58 1134

原创 本地大模型编程实战(28)查询图数据库NEO4J(1)

本文将基于`langchain` 框架,用`LLM(大语言模型)`查询图数据库`NEO4J`。

2025-04-29 16:05:47 623

原创 本地大模型编程实战(27)初探langgraph的流式输出

对于 `LLM(大语言模型)`,流式传输已成为一种越来越受欢迎的功能。其理念是在 `LLM` 生成令牌时就快速返回,而不是等待创建完整响应后再返回全部内容。对于简单的场景,流式传输实际上非常容易实现,但当涉及到智能体之类的应用时,它会变得复杂,这些智能体有自己的运行逻辑,可能会阻止我们尝试进行流式传输。本文将探讨 `langchain` 的流式输出,后面将实现**智能体最终结果的流式输出**。

2025-02-28 16:38:20 1448

原创 本地大模型编程实战(26)用langgraph实现基于SQL数据构建的问答系统(5)

本文将将扩展上一篇文章完成的 `langgraph` 链,继续使用基于 `langgraph` 链 ,对结构化数据库 `SQlite` 进行查询的方法。该系统建立以后,我们不需要掌握专业的 `SQL` 技能,可以用自然语言询问有关数据库中数据的问题并返回答案。主要完善一下两点内容: - 自动记录消息历史- 增加人工审核环节,防止 `LLM(大语言模型)` 运行危险的SQL语句

2025-02-28 16:32:10 951

原创 本地大模型编程实战(25)用langgraph实现基于SQL数据构建的问答系统(4)

本文将演练使用基于 `langgraph` 链 ,对结构化数据库 `SQlite` 进行查询的方法。该系统建立以后,我们不需要掌握专业的 `SQL` 技能,可以用自然语言询问有关数据库中数据的问题并返回答案。 使 `大语言模型(LLM)` 查询结构化数据与非结构化文本数据有所不同。查询非结构化数据时,通常需要将待查询的文本嵌入到向量数据库中;而查询结构化数据的方法则是让 `LLM` 编写和执行 `DSL`(例如 SQL)进行查询。

2025-02-26 09:23:02 1170

原创 本地大模型编程实战(24)用智能体(Agent)实现智能纠错的SQL数据库问答系统(3)

本文将实现这样一个 `智能体(Agent)` :- 可以使用自然语言对 `SQLite` 数据库进行查询。即:用户用自然语言提出问题,智能体也用自然语言根据数据库的查询结果回答问题。- 增加一个自动对查询中的专有名词进行纠错的工具,这将明显提升查询的准确性。

2025-02-26 09:19:21 1201

原创 本地大模型编程实战(23)用智能体(Agent)实现基于SQL数据构建问答系统(2)

本文将用 `智能体(Agent)` 实现对 `SQLite` 数据库的查询:用户用自然语言提出问题,智能体也用自然语言根据数据库的查询结果回答问题。

2025-02-25 14:39:02 1273

原创 本地大模型编程实战(22)用langchain实现基于SQL数据构建问答系统(1)

使 `LLM(大语言模型)` 系统能够查询结构化数据与非结构化文本数据在性质上可能不同。后者通常生成可在向量数据库中搜索的文本,而结构化数据的方法通常是让 `LLM` 编写和执行 `DSL`(例如 SQL)中的查询。 我们将演练在使用基于 `langchain` 链 ,在结构化数据库 `SQlite` 中的数据上创建问答系统的基本方法,该系统建立以后,我们用自然语言询问有关数据库中数据的问题并返回自然语言答案。

2025-02-25 14:36:48 1410

原创 本地大模型编程实战(21)支持多参数检索的RAG(Retrieval Augmented Generation,检索增强生成)(5)

在实现 `RAG(Retrieval Augmented Generation,检索增强生成)` 系统的时候,在检索(retrieve)知识库时通常一个参数。 本文将演练更复杂一点的情况:通过两个参数进行知识库的检索。为此会在 `langgraph`链 中增加一个 `analyze_query` 节点,它用来基于用户问题推理检索的参数。

2025-02-24 11:23:12 908

原创 本地大模型编程实战(20)用langgraph和智能体实现RAG(Retrieval Augmented Generation,检索增强生成)(4)

上一篇文章我们演练了一个 [用 `langgraph` 实现的 `RAG(Retrieval Augmented Generation,检索增强生成)` 系统]。本文将要在此基础上,增加自动记录聊天历史的功能,另外,我们还将使用一个 `Agent(智能体)` 来实现几乎同样的功能,我们来一起体会一下用 `langgraph` 和 `Agent(智能体)` 实现 `RAG系统` 的区别。

2025-02-24 11:18:48 2127

原创 本地大模型编程实战(19)RAG(Retrieval Augmented Generation,检索增强生成)(3)

上一篇文章我们演练了一个 [用 `langgraph` 实现的 `RAG(Retrieval Augmented Generation,检索增强生成)` 系统](http://wfcoding.com/articles/practice/0318/)。本文将要创建的系统将更加智能:如果在知识库中未找到靠谱的文档,则用 `LLM(大语言模型)` 自身的能力弥补。

2025-02-16 20:59:00 1269

原创 本地大模型编程实战(18)RAG(Retrieval Augmented Generation,检索增强生成)(2)

本文将使用 `langgraph` 实现一个简单的 `RAG(Retrieval Augmented Generation,检索增强生成)` 系统。> 使用 `qwen2.5` 、 `deepseek-r1` 以及 `llama3.1` 做实验,用 `shaw/dmeta-embedding-zh` 做中文嵌入和检索。

2025-02-16 16:31:20 958

原创 本地大模型编程实战(17)RAG(Retrieval Augmented Generation,检索增强生成)(1)

本文将用实际代码演练一个简单的 `RAG(Retrieval Augmented Generation,检索增强生成)` 系统。> 我们将使用 `qwen2.5` 、 `deepseek-r1` 以及 `llama3.1` 做实验,用 `shaw/dmeta-embedding-zh` 做中文嵌入和检索。

2025-02-16 11:56:11 1087

原创 本地大模型编程实战(16)初探智能体Agent(3)

本文将基于上一篇文章完善 `Agent(智能体)` ,主要完善的功能有: - 跟踪 `Agent(智能体)` 的执行过程- 记录消息历史> 此次我们使用 `qwen2.5` 做 `LLM(大语言模型)` 驱动 `Agent(智能体)` ,使用 `shaw/dmeta-embedding-zh` 做中文嵌入和检索。<!--more-->## 准备在正式开始撸代码之前,需要准备一下编程环境。1. 计算机 本文涉及的所有代码可以在**没有显存**的环境中执行。 我使用的机器配置为:

2025-02-14 20:39:59 1027

原创 本地大模型编程实战(15)初探智能体Agent(2)

在上一篇文章中,我们实践了如何使用 `langchain` 创建一个简单的 `ReAct Agent(智能体)`,这次我们升级一下玩法:实现一个可以调用两个 工具 的智能体。 其中一个工具用户查询天气预报,另外一个工具用来查询知识库,实际上该工具实现了 `RAG(Retrieval Augmented Generation,检索增强生成)`。

2025-02-14 20:38:02 980

原创 本地大模型编程实战(14)初探智能体Agent(1)

在前面的文章中,我们了解了 `LLM(大语言模型)` 如何使用 `tool(工具)` ,现在我们开始进一步,初探 `Agent(智能体)` 的玩法。 其中的 `tool(工具)` 用于从矢量数据库中查询信息,这种方式在 `RAG(Retrieval Augmented Generation,检索增强生成)` 也很常用。在这种场景中,能否准确的查询出有用信息很关键,为此我们本次将使用多种大模型进行对比演练。

2025-02-11 19:04:01 1043 2

原创 本地大模型编程实战(13)与外部工具交互(4)

在使用 `LLM(大语言模型)` 调用工具方法时,可能会在运行时才会将类似 用户ID 的数值传递给工具。 大多数情况下,此类值不应由 `LLM` 控制。允许 `LLM` 控制 用户ID **可能会导致安全风险**。 相反,`LLM` 应该只控制本应由 `LLM` 控制的工具参数,而其他参数(如用户ID)应由应用程序逻辑固定。本文将向您展示:如何防止模型生成某些工具参数并**在运行时直接注入**它们。

2025-02-11 18:57:27 769

原创 本地大模型编程实战(12)与外部工具交互(3)

本文将实践如何在 `LLM(大语言模型)` 调用工具函数时进行审核,即由人来确定是否应该调用工具函数。> 本次使用 `llama3.1` 和 `MFDoom/deepseek-r1-tool-calling:7b` 进行演练。 `deepseek-r1` 不支持 `langchain` 的 bind_tools 方法。

2025-02-09 11:26:28 684

原创 本地大模型编程实战(11)与外部工具交互(2)

在使用 `LLM(大语言模型)` 时,经常需要调用一些自定义的工具方法完成特定的任务,比如:执行一些特殊算法、查询天气预报、旅游线路等。 很多大模型都具备使用这些工具方法的能力,`Langchain` 也为这些调用提供了便利。

2025-02-09 11:24:31 2144

原创 本地大模型编程实战(10)与外部工具交互(1)

某些模型能够进行工具方法调用:生成用户自定义的方法的签名并调用它。一般来说,此交互过程主要包含下面几个步骤:- `LLM(大语言模型)` 根据用户的问题推理生成调用工具方法的名称和参数- 调用工具,返回简单的结果- 再次调用 `LLM` ,生成自然流畅的回答

2025-02-07 17:47:55 509

原创 本地大模型编程实战(09)自制聊天机器人(3)

本文将实现一个比较完善的聊天机器人的主要功能。包括:- 使用 `LangGraph` 构建聊天机器人- 自动裁剪聊天历史- 管理聊天会话的方法- 以流的方式输出回复

2025-02-07 17:41:31 2197

原创 本地大模型编程实战(08)自制聊天机器人(2)

本文将演示使用大语言模型自制聊天机器人。主要的内容有:- 使用 `LangGraph` 进一步完善聊天机器人- 使用提示词改变 `LLM` 的能力

2025-02-05 13:56:19 552

原创 本地大模型编程实战(07)自制聊天机器人(1)

本文将演示使用大语言模型自制聊天机器人。主要的内容有:- 如何让机器人具有记忆- 如何使用 `langgraph` 自动记录聊天历史

2025-02-05 13:53:00 895

原创 本地大模型编程实战(06)从文本中提取重要信息(2)

本文将演示使用大语言模型从文本中提炼结构化信息。这次我们不直接使用提示词,而是使用大模型的 `few-shot prompting` 特性,即使用很少的例子来引导大模型做推理。 我们将用 `llama3.1` 和 `deepseek` 做一个简单的对比。 > 由于 `langchain` 可能对不同大模型支持程度不同,不同大模型的特点也不同,所以这个对比并不能说明哪个模型更好。

2025-02-04 11:49:22 913

原创 本地大模型编程实战(05)从文本中提取重要信息(1)

本文将演示使用大语言模型从文本中提炼结构化信息。 我们将用 `llama3.1` 和 `deepseek` 做一个简单的对比。> 由于 `langchain` 可能对不同大模型支持程度不同,不同大模型的特点也不同,所以这个对比并不能说明哪个模型更好。

2025-02-04 11:46:06 819

原创 本地大模型编程实战(04)给文本自动打标签

使用本地大模型可以根据需要给文本打标签,本文介绍了如何基于 `langchain` 和本地部署的大模型给文本打标签。> 本文使用 `llama3.1` 作为本地大模型,它的性能比非开源大模型要查一下,不过在我们可以调整提示词后,它也基本能达到要求。

2025-01-27 19:54:26 983

原创 本地大模型编程实战(03)语义检索(2)

本文描述了如何使用 `Chroma` 对csv数据进行矢量化,并且将矢量存储在硬盘中,未来查询矢量数据时,直接从硬盘中读取矢量数据进行查询。 另外,如果数据量大一些,矢量化数据是很花时间的,我们将使用进度条显示嵌入csv的进度。

2025-01-26 23:40:46 883

原创 本地大模型编程实战(02)语义检索(1)

本文描述了如何使用 `langchain` 和 `大语言模型` 以及 `矢量数据库` 完成pdf内容的语义检索。 在对内容进行矢量化时使用了 `nomic-embed-text`,这个模型个头小,英文嵌入效果不错。 后面还将涉及到以下内容:- 文档和文档加载器- 文本分割器- 嵌入- 向量存储和检索器

2025-01-25 19:32:14 914

原创 本地大模型编程实战(01)实现翻译功能

本文描述了如何使用大语言模型(`LLM`)实现基本的翻译功能,此翻译功能的特点是:无需指定源语言,只需要指定目标语言就可以进行翻译了。

2025-01-24 22:38:35 1068

原创 用图形验证码增强用户认证安全性[python+vuetify]

这里通过代码讲述了使用`python`生成以及校验图片验证码,增强用户认证安全性的过程。 客户端则使用 `vue3` 和 `vuetify3` 框架使用后台API生成的图片验证码。

2025-01-05 12:56:19 648

原创 [python]实现可以自动清除过期条目的缓存

本文讲述了如何实现一个简单的内存缓存,他可以把过期的键值自动清除,在缓存验证码等场合应该很好用。

2025-01-04 22:53:12 521

原创 [Elasticsearch]使用search_after实现深度分页[附源码]

`elasticsearch` 在使用 from + size 这种方式进行分页查询时,因为 `index.max_result_window` 的默认值是 10K,所以当查询的文档超过第10K个文档时,会报错:Result window is too large... 当然,我们可以调整`index.max_result_window`的大小,不过这种办法会导致查询效率降低和内存占用增加。本文讲述了在 `elasticsearch` 中包含几十万乃至上百万的大数据量时,使用 `search_afte

2025-01-02 08:58:08 568

原创 基于OAuth2.0和JWT规范实现安全易用的用户认证

遵循`OAuth2.0`和`JWT`规范实现用户认证,不但具有很好的实用性,还能提供很不错的安全保障。 本文结合实用的代码讲述了基于`OAuth2.0`和`JWT`,在前后端分离的系统中,实现用户使用方便而又安全可靠的用户认证的基本思路。

2025-01-01 18:48:58 1182

原创 vuetify3编程入门实战演练

此系列文章通过几个详细的经典案例,演示了如何从使用`vuetify3`前端框架快速开发简单的web程序。

2024-12-19 16:09:55 159

原创 vuetify3入门实战:开发一个待办事项系统

这是使用`vuetify3`可以开发的一个待办事项管理实例。 它主要包含事项概览、我的项目、我的团队。其中事项概览中以列表的方式列出所有的事项,在这里可以添加事项、对事项进行排序。

2024-12-19 15:53:32 933

原创 vuetify3入门实战:实现登录功能

这是使用vuetify3可以开发的一个登录实例。 它包含了一个经典的包含系统消息、登录按钮、更换主题按钮的工具栏(toolbar)、轮播(carousel)和登录表单控件。

2024-12-18 23:28:46 1338

APOC(Awesome Procedures on Cypher)5.26.1

APOC(Awesome Procedures on Cypher)是Neo4j图数据库的一个插件,它提供了一组强大的过程和函数,扩展了Cypher查询语言的功能。 APOC可以帮助你进行更高级的数据处理和操作,例如导入和导出数据、动态创建节点和关系、执行事务操作等。

2025-04-25

open sdk 21 下载文件

完整的open sdk 21压缩包。

2025-04-25

Git-2.46.0-64-bit,windows 64位git客户端

Git-2.46.0-64-bit,windows 64位git客户端

2024-08-27

Bitwise SSH Client 9.39,免费的SSH客户端

这是一款非常好用的免费的SSH客户端,应该能成为您运维的好帮手。

2024-08-19

MTK中使用socket实现http的get请求

自己写的http get的实现。希望能对初学者有所帮助,更希望牛人能对此提出好的建议。

2010-12-03

在ASP.Net中通过cell-id和LAC获取位置信息

本示例代码展示了如何使用ASP.Net,通过Google Geolocation API Network Protocol,在知道cell-id和LAC的情况下,获取经纬度信息。

2010-12-30

SQLite使用代码示例(使用ASP.Net交互)

使用ASP.Net演示了开发中使用SQLite的基本方法,建议使用SQLite Developer管理SQLite数据库。

2012-12-02

cocos2d-x手机游戏开发 源代码

徐松林《cocos2d-x 手机游戏开发》练习时用的源代码,基于cocos2d-1.0.1-x-0.9.2,仅供参考。

2012-08-20

代码面试最常用的10大算法完整版

代码面试最常用的10大算法的中文完整版(部分中文,部分英文)及英文原版。

2014-05-20

cocos2d-x小游戏小狗快跑源码

cocos2d-x小狗快跑完整源码,其中的代码和资源仅供个人研究,请勿商用,谢谢。

2016-01-21

自制单选(radiobox)和多选(checkbox)控件

最近想学者用js做适合触摸的单选(radiobox)和多选(checkbox)控件,起因是:1、不想用就jQuery,因为用它就解决这么一个问题感觉有点像大炮打蚊子;2、想用css做出toggle switch那种感觉很困难,而且这种开关只支持开和关两种状态,如果有很多状态的话,就不好办了。 基本思路是在用一个div包住各选项,在div中防止N个label(别的控件也行)来做选项,每个选项的值用title属性代表,最终选择的结果则存储在该div的title中,模仿jQuery的基本思路,主要逻辑用javascript实现。

2014-06-07

.net的事件,委托和线程的关系代码

该样例代码展示了.net中事件和委托的基本用法,同时阐述了它们和线程之间的关系,最后用一个多线程的实例解决了并行发布/订阅处理消息的问题。

2013-05-02

BugTracker.Net 3.5.7 中文版

BugTracker.Net 3.5.7是一款用.Net开发的开源bug管理工具,基于GNU通用公共许可证的条款,其突出特点是易于安装、简单实用,非常适合中小开发团队。 它有一个非常实用的截屏工具btnet_screen_capture,截图完毕后可直接上传bug信息。在对此工具进行简单配置以后,上传bug信息相当便捷高效。 如果您熟悉微软的开发工具,想找一款易用使用的bug管理工具,那么它非常适合您。 因为时间关系和作者水平有限,只是把绝大部分常用的功能汉化了,敬请谅解。

2012-06-20

使用Javascript实现遮屏效果

用js生成动态新的div,遮挡住当前屏幕。

2014-05-21

7-Zip超酷免费开源压缩工具

非常酷的免费的,开源的压缩工具,据说比WinRAR压缩比还大呢。

2010-11-03

苏米团队账本

主要包含现金流水、应收应付以及按照项目、按照人员、按照日期的统计查询功能,解决了一般的小团队的记账和按项目、人员考核以及成本分摊的问题。

2016-11-25

苏米团队账本 V0.51

这是一款非常实用的财务管理软件,它可以有效解决一般小团队的记账和按项目、人员考核以及成本分摊的问题,功能十分多样化。 主要功能包括: 1、记录和查询流水账 2、记录项目基本信息 3、跟踪项目应收应付 4、人员信息管理 5、按项目、按人员、按日期统计费用 该工具特点鲜明: 免费 所有功能都是免费使用的,没有任何附带条件。 绿色 下载后解压就能用,不喜欢用直接删掉即可,不需要安装,卸载,更不用担心它会偷偷的在您的操作系统里干些灰色的事情,也不用担心卸载不干净。 好用 软件是单机版,C/S结构,非专业财务人员不用经过任何指导就能上手使用。 V0.51 1、修复了流水中可能不显示项目名称的问题。 升级方法: 1、在程序根目录下把sumia.db备份出来,所有的数据都存储在这里面; 2、解压或者运行安装包; 3、把备份出来的sumia.db拷贝到新版本的根目录下,覆盖新版本的sumia.db; 4、启动新版本

2016-12-21

SmartSniff

非常好用,小巧的一款网络抓包工具,尤其比较适合抓取HTTP数据包,对调试web应用非常有帮助。

2010-11-01

空空如也

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

TA关注的人

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