- 博客(135)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 用了上下文,我的客服终于可以支持响应迅速、资源可控、可观测性强
Go语言中的context机制是管理并发操作的核心工具,主要用于在goroutine间传递取消信号、超时控制和请求级数据。关键功能包括:1)通过WithCancel/WithTimeout/WithDeadline实现操作取消和超时控制;2)使用WithValue传递请求范围数据(需自定义key类型避免冲突);3)遵循显式传递原则(不存储于结构体)。典型应用场景包括HTTP请求处理、数据库查询等需要超时和取消能力的场景。通过树形结构实现级联取消,当父context取消时所有子context自动终止。最佳实践
2025-12-19 18:32:10
622
原创 Go-qdrant-API开启客服系统新模式
本文介绍了使用Go语言对接Qdrant向量数据库的接口实现,包含客户端创建、集合管理、数据操作等核心功能。主要内容包括:1.客户端连接配置;2.集合创建与列表查询;3.数据增删改查操作;4.多向量空间支持;5.带过滤条件的查询。提供了完整的代码示例,可用于开发客服系统等需要向量检索的应用场景。接口通过HTTP(3334)和gRPC(3335)端口访问,支持单点和批量操作。
2025-12-15 12:31:35
312
原创 PocketBase的自定义任务【专供LLM请求耗时任务】
本文介绍了使用PocketBase快速构建客服系统的经验。针对算法岗位开发者面临的前后端支持不足问题,PocketBase提供了轻量级解决方案,支持通过JavaScript钩子实现自定义逻辑。文章详细讲解了PocketBase的定时任务配置、多种钩子类型(包括服务启动、记录操作、文件上传等)及其应用场景,并提供了实战案例代码。重点说明了如何利用pb_hooks.js文件扩展系统功能,如自定义API路由、数据校验、关联操作等。该方法特别适合快速原型开发,后期可交由专业团队完善接口细节。文中还包含注意事项和完整
2025-12-15 12:20:22
486
原创 基于PocketBase的定时任务【专供耗时任务】
摘要:本文介绍了一个基于PocketBase的客服系统开发方案,重点解决了算法岗位人员在缺乏前后端支持情况下的快速原型开发问题。通过将限流、重试、监控等参数存储在PocketBase的system_config集合中,实现了运行时动态配置调整而无需重启服务。方案包含完整的任务队列处理逻辑,支持并发控制、重试机制、超时处理等功能,并提供了详细的配置示例和运维操作指南。该方案特别适合算法工程师快速搭建演示系统,后期可交由专业团队完善API接口,具有灵活性高、易于维护等特点。
2025-12-15 12:18:12
716
原创 使用LangGraph轻松实现跨境电商简易对话流程[DeepSeek版]
本文介绍了一个基于LangGraph的智能客服对话系统实现方案。代码展示了如何构建一个能够自动分类并处理用户问题的对话流程,主要功能包括: 使用LangGraph构建状态图,包含分类、退货处理和普通问题处理三个节点 实现意图分类功能,区分"退货"和"普通"两类问题 针对退货请求提供专业处理逻辑(代购/转运订单不同规则) 支持OpenAI和DeepSeek两种LLM后端 包含多模态消息内容提取功能 该系统通过有向图结构实现对话流程控制,能够根据用户问题类型自动路由到相应
2025-12-15 12:09:57
138
原创 使用LangGraph轻松实现跨境电商简易对话流程
本文介绍了一个基于LangGraph构建的退货处理对话系统。系统采用状态图模式,通过以下步骤实现智能客服功能:1) 使用Pydantic定义对话状态模型;2) 初始化GPT-4模型;3) 实现分类、订单类型询问、状态处理等节点函数;4) 设计条件路由逻辑;5) 构建包含条件分支的状态图流程。系统能自动区分普通咨询和退货请求,并根据订单类型(转运/代购)和状态(未签收/已签收/发货中)提供相应的退货策略。测试案例展示了系统对不同场景的响应能力,包括普通问题、转运订单和不同状态的代购订单处理。
2025-12-15 12:04:59
131
原创 【破解】是langsmith在局域网可以让其他人使用
给公司开发了基于langgraph的跨境电商客服系统,已经封装了接口给我们的网站提供服务。但是为了内部给大家科普我的工作内容,发现并不是太容易,使用LangSmith不充值,无法在他人电脑上使用,于是就研究了一下方案,本地启动dev模式,局域网内电脑访问我的电脑ip就可以实现查看流程了,非常便捷。
2025-12-15 12:01:44
105
原创 Gin版本的路由总结
本文介绍了从FastAPI切换到Gin框架的开发经验,特别适合单人全栈开发场景。文章详细展示了Gin的路由模块实现方案,包括:1)项目目录结构设计;2)主路由配置(main.go);3)多版本路由分组管理(routers/v1);4)控制器实现。通过gin.Default()创建引擎,使用Group()实现路由分组,演示了/v1/todo和/v1/user等API路由的注册方式,并提供了基础的控制器示例代码。该方案与FastAPI设计思路相似,但更适合个人开发者快速实现前后端一体化交付。
2025-12-15 11:56:02
165
原创 基于 Gin 框架的 大型 Web 项目推荐架构目录结
特性说明✅ 分层清晰✅ 易于测试每层可单独单元测试✅ 模块化每个功能模块独立文件,可插拔✅ 易迁移整个模块复制即可复用✅ 支持多版本 APIv1/v2/路由隔离✅ 支持中间件分级全局、版本、模块级中间件✅ 配置管理viper支持多环境配置中大型项目团队协作开发需要长期维护的系统未来可能拆分为微服务⚠️ 小项目不必如此复杂,但一旦项目变大,这种结构会让你少踩90%的坑。
2025-12-15 11:49:16
346
原创 go语言中json操作总结
Go语言JSON处理指南摘要 本文详细介绍了Go语言中处理JSON的多种方法:1)使用encoding/json标准库进行基本读写操作,包括结构体定义和标签使用;2)JSON文件读写技巧,涵盖完整对象读写和流式处理;3)JSONL格式的读写与追加操作;4)处理未知结构JSON的两种方案(Unmarshal到interface{}和使用gjson库);5)动态构建复杂JSON对象的技巧。特别针对不同场景提供了性能优化建议,包括内存处理、流式读写和大文件分批处理方案,并比较了json.Marshal与json.
2025-12-15 11:40:37
201
原创 一文搞懂基于gradio的客服助手多用户隔离使用
简单易用,适合存储小量数据(如对话历史)。IndexedDB:功能强大,适合存储大量结构化数据。Gradio 结合 JavaScript:通过_js参数调用自定义的 JavaScript 函数,可以轻松实现浏览器端的数据存储与读取。无论是还是IndexedDB,它们都提供了持久化存储的能力,确保用户在刷新页面或重新打开浏览器后仍能保留对话历史。
2025-04-23 13:16:08
676
原创 一文搞懂模型训练可视化
我们将逐步构建一个完整的训练脚本,并在其中嵌入 TensorBoard 的各种功能。以上表格提供了一个关于如何配置TensorBoard的概览,实际使用时可能还需要根据具体需求和环境进行调整。我们以 MNIST 数据集为例,训练一个简单的卷积神经网络(CNN),并在训练过程中使用 TensorBoard 记录和可视化各种信息。请注意,这里列出的是最常用的参数,并非全部。指定日志目录的路径,TensorBoard将从该目录中读取事件文件。指定TensorBoard使用的端口号,默认为6006。
2025-04-18 17:06:41
1233
原创 一文搞懂GPU利用率
通过调整 Batch Size、使用混合精度训练、优化数据加载、限制显存占用等方法,可以有效提高 GPU 的利用率。同时,实时监控 GPU 状态(如使用nvidia-smi)有助于发现瓶颈并优化代码。
2025-04-17 23:26:14
1136
原创 一文搞懂搭建torch的docker版本环境及显卡设置
使用环境变量是最简单的方式,适用于大多数场景。如果需要更复杂的资源分配(如 Docker Swarm 模式),可以使用。在指定 GPU 编号之前,请确保通过nvidia-smi确认主机上的 GPU 编号。
2025-04-17 12:22:15
702
原创 一文搞懂MNIST分类任务(三)GPU版-全部ID
要将代码修改为在所有可用的 GPU 上运行,可以使用或者更现代的方法。以下是基于的实现,它是一个简单的解决方案,适用于多 GPU 环境。
2025-04-17 12:18:50
381
原创 一文搞懂MNIST分类任务(一)CPU版
定义了一个简单的卷积神经网络(CNN),包含一个卷积层、池化层和两个全连接层。最后一层输出大小为 10,对应 MNIST 数据集的 10 个类别。
2025-04-17 12:17:18
408
原创 一文搞懂前后端传递Dataframe的逻辑
zlib和gzip适合大多数通用场景,提供良好的压缩率和性能。lzma提供非常高的压缩率,但压缩和解压缩速度较慢。bz2提供中等的压缩率和速度。brotli是一种现代压缩算法,特别适用于 Web 内容的压缩。根据你的具体需求选择合适的压缩算法。如果对压缩时间不敏感且需要高压缩率,可以选择lzma或brotli;如果需要平衡压缩率和处理速度,可以选择zlib或gzip。
2025-04-17 12:10:15
329
原创 解释 RESTful API,以及如何使用它构建 web 应用程序。
它通过使用标准的 HTTP 方法(如 GET、POST、PUT、DELETE)和状态码来实现客户端和服务器之间的通信。通过以上步骤,可以基于 RESTful API 构建一个符合 REST 架构风格的 web 应用程序,实现客户端和服务器之间的数据交互和通信。RESTful API 的设计规范和标准化让不同的应用能够更加灵活地进行集成和交互,提高了应用程序的可扩展性和可维护性。处理认证和授权:根据应用需求,需要在 RESTful API 中实现用户认证和授权的功能,确保数据的安全性和合法性。
2025-04-15 12:29:35
203
原创 一文搞懂全连接层
全连接层是深度学习模型的重要组成部分,尤其在卷积神经网络中起到了关键作用。通过合理设计输入和输出维度,并结合激活函数、Dropout 等技术,全连接层能够有效地完成各种任务,如分类、回归和生成等。理解和掌握全连接层的使用方法,对于构建高效的深度学习模型至关重要。
2025-04-15 12:20:00
4415
原创 一文搞懂Embedding
是 PyTorch 中非常重要的模块,用于将离散的符号(如单词)映射为连续的向量表示。通过合理地选择和,并结合预训练的词向量,可以显著提升模型的性能。
2025-04-15 12:13:32
1096
原创 一文搞懂二维卷积
nn.Conv2d是处理二维数据的重要工具,尤其是在图像处理领域。通过灵活配置其参数,我们可以有效地从输入数据中提取出有用的特征。理解这些参数的作用对于设计有效的卷积神经网络至关重要。
2025-04-15 12:07:08
831
原创 一文搞懂激活函数
激活函数通过引入非线性特性,使得神经网络能够学习复杂的模式和特征。ReLU: 简单高效,适合大多数场景。: 改善了 ReLU 的“死亡神经元”问题。: 适合特定任务(如 RNN),但容易导致梯度消失。Softmax: 常用于多分类任务。Swish: 性能优越,适合深层网络。根据任务需求选择合适的激活函数,并结合其他组件(如卷积层、归一化层等),可以构建高效的深度学习模型。
2025-04-11 23:36:11
1632
原创 一文搞懂池化层
最大池化:适合提取显著特征,常用于分类任务。均值池化:适合保留更多背景信息,适用于需要全局上下文的任务。两者可以根据任务需求灵活组合使用,例如在浅层网络中使用最大池化,在深层网络中使用均值池化。无论是二维还是三维的数据,都可以根据具体的应用场景选择合适的池化操作。
2025-04-11 23:29:54
472
原创 一文搞懂图片检索中的异步操作
asyncio.Semaphore(3) 限制了最多3个并发任务。在 jupyter 里打印信息不回马上显示。display("一些输出信息")# 在需要刷新输出的地方调用。
2025-04-10 15:48:29
265
原创 一文搞懂文件的常用操作
假设你有多个字典,每个字典代表一行数据。你可以将这些字典转换为 JSON 格式的字符串,并逐行写入文件。注意安装:pip install pillow moviepy pydub。读取数据时,可以逐行读取文件,并将每一行解析为字典。注意安装:pip install moviepy。注意安装:pip install pydub。
2025-04-10 15:47:18
415
原创 DeepSeek-R1技术解析
deepseek-ai/DeepSeek-R1 (github.com)[2501.12948v1] DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning (arxiv.org)[DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning] (arxiv.org)We introduce ou
2025-04-10 15:37:32
825
原创 dataframe常见的多表操作
除了内置的聚合函数(如summean),还可以使用自定义函数。groupby()agg():适用于简单的分组聚合。:适用于多维数据的透视表分析。自定义聚合函数:灵活性高,可满足复杂需求。滚动窗口聚合:适用于时间序列或连续数据。apply():支持复杂的分组逻辑。假设需要根据某些规则动态生成新列。:适合按分隔符拆分字符串。:适合分类值的独热编码。explode():适合多标签分类值的独热编码。自定义逻辑:适合复杂的数据拆分需求。根据具体需求选择合适的方法即可!字符串拼接:适合简单的字段合并。
2025-04-10 15:29:35
675
原创 Dataframe常用操作合集
1.2. 未知数据创建1.3. 列表字典创建2. 更新表格列名2.1. 创建时指定列名在创建 时,可以通过 参数直接指定列名。2.2. 2. 创建后修改列名2.2.1. 使用 属性可以直接赋值给 属性来修改列名。2.2.2. 使用 方法 方法可以用来重命名特定的列。2.2.3. 从文件读取时指定列名如果你是从文件(如 CSV 文件)读取数据,可以在读取时指定列名。2.2.4. 从列表或元组创建列名你也可以从列表或元组中创建列名
2025-04-10 15:27:32
1576
原创 一文搞懂Datafram【附工作积累的常用片段】
1.2. 未知数据创建2. 更新表格列名2.1. 创建时指定列名在创建 时,可以通过 参数直接指定列名。2.2. 2. 创建后修改列名2.2.1. 使用 属性可以直接赋值给 属性来修改列名。2.2.2. 使用 方法 方法可以用来重命名特定的列。2.2.3. 从文件读取时指定列名如果你是从文件(如 CSV 文件)读取数据,可以在读取时指定列名。2.2.4. 从列表或元组创建列名你也可以从列表或元组中创建列名。3. 基本属性和统计信息
2024-11-13 19:19:29
815
1
原创 一文搞回qdrant
官网文档:Home - QdrantGithub地址:qdrant/qdrant: Qdrant - High-performance, massive-scale Vector Database for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/ (github.com)https://github.com/qdrant/qdrant官网:Qdrant - Vector Data
2024-11-05 16:39:12
1355
原创 一文搞懂heapq
heapq模块是python库中实现的小顶堆相关的函数的集合。对外暴露的接口函数有'heappush', 'heappop', 'heapify', 'heapreplace', 'merge', 'nlargest', 'nsmallest', 'heappushpop'。在Python中,heapq模块提供了对小顶堆(Min Heap)的支持。小顶堆是一种数据结构,其中每个节点的值都小于或等于其子节点的值。这意味着堆的根节点始终是最小的元素。
2024-09-03 13:21:07
1711
原创 dlib库快速构建人脸识别
概念:引入自2002年以来,Davis King一直是dlib的主要作者。dlib为每个类和函数提供了完整的文档说明。同时还提供了debug模式,打开debug模式后,开发者能够调试代码,查看变量和对象的值,快速定位错误点。不依赖第三方库,就是这么高傲。因此我们无需安装和配置,并且在windows,Mac OS , Linux系统上轻松驾驭。截止2022年5月12日,github上已有个11.1Kstart, 用户量14K,贡献者161人,可见受欢迎程度还是挺不错的。它是一个高性能的计算框架。它是一个C++
2022-05-12 15:06:48
2159
cmake-3.16.6-Darwin-x86_64.dmg
2020-04-18
pipeline.config
2019-08-21
decisinon_tree_computer.zip
2019-12-13
eclipse中的servlet问题
2016-07-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅