<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BoringError的博客]]></title><description><![CDATA[种一棵树最好的时间是十年前，其次就是现在]]></description><link>https://blog.youkuaiyun.com/pbrlovejava</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pbrlovejava]]></copyright><item><title><![CDATA[大模型应用：LangChain-Golang核心模块使用]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/139708499</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/139708499</guid><author>pbrlovejava</author><pubDate>Sat, 15 Jun 2024 21:06:43 +0800</pubDate><description><![CDATA[LangChain是一个开源的框架，它提供了构建基于大模型的AI应用所需的模块和工具。它可以帮助开发者轻松地与大型语言模型(LLM)集成，实现文本生成、问答、翻译、对话等任务。LangChain的出现大大降低了AI应用开发的门槛，使得任何人都可以基于LLM构建自己的创意应用。本文将介绍基于Golang使用LangChain相关模块。]]></description><category></category></item><item><title><![CDATA[大模型应用：基于Golang + 大模型构建简易的电商售前对话服务]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/139552356</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/139552356</guid><author>pbrlovejava</author><pubDate>Sat, 08 Jun 2024 22:41:21 +0800</pubDate><description><![CDATA[某X互联网电商公司为了解决当前大量用户的售前咨询问题，需要建设一个不需要客服介入的简易电商售前机器人，用于回答用户的售前问题，并给出基本可靠的咨询回答。当前大模型如gpt、baichuan、文心等均有开放使用的OpenAPI接口，且调用费用低廉。可以基于大模型来构建简易的电商售前对话服务。本文介绍一种基于Golang + gpt-3.5-turbo构建对话服务的方案。]]></description><category></category></item><item><title><![CDATA[大模型应用：Prompt-Engineering优化原则]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/139389247</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/139389247</guid><author>pbrlovejava</author><pubDate>Sun, 02 Jun 2024 11:53:03 +0800</pubDate><description><![CDATA[随着大模型的出现及应用，出现了一门新兴“技术”，该技术被称为Prompt-Enginerring。Prompt Engineering即提示工程，是指在使用大语言模型时，编写高效、准确的Prompt(提示词)的过程。通过不同的表述、细节和关键词，使大模型更好服务于特定任务。]]></description><category></category></item><item><title><![CDATA[大模型应用：基于Golang实现GPT模型API调用]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/139222119</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/139222119</guid><author>pbrlovejava</author><pubDate>Sun, 26 May 2024 22:23:34 +0800</pubDate><description><![CDATA[当前OpenAI提供了开放接口，支持通过api的方式调用LLM进行文本推理、图片生成等能力，但目前官方只提供了Python SDK。为了后续更方便集成和应用，可以采用Golang对核心推理调用接口进行封装，提供模型调用能力。]]></description><category></category></item><item><title><![CDATA[大模型应用：LLM基本原理及应用场景]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/139214820</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/139214820</guid><author>pbrlovejava</author><pubDate>Sun, 26 May 2024 14:47:19 +0800</pubDate><description><![CDATA[23年以来，随着OpenAI公司的ChatGPT横空出世，大模型一词开始火爆全球。国内外以OpenAI、Google、百度、阿里、字节等大厂为代表，相继推出一系列大模型及其应用，涉及社交、问答、代码助手等多个方面。大模型究竟是什么，和基础的垂类模型/多模态模型有何差异？为什么可以基于大模型来构建一系列垂类应用，以及可以使用大模型构建什么应用？]]></description><category></category></item><item><title><![CDATA[Golang：微服务常用代码分层结构]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/132640975</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/132640975</guid><author>pbrlovejava</author><pubDate>Sat, 02 Sep 2023 17:57:50 +0800</pubDate><description><![CDATA[代码分层结构是一个老生常谈的话题，好的代码结构能够使得系统易于理解、开发及维护，如果代码结构很混乱就会使得不同层级的代码块耦合，导致难以维护和拓展。]]></description><category></category></item><item><title><![CDATA[系统设计：通用思路之4S分析法]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/132262314</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/132262314</guid><author>pbrlovejava</author><pubDate>Sun, 13 Aug 2023 17:58:14 +0800</pubDate><description><![CDATA[系统设计是一个定义系统架构、功能模块、服务及接口和数据存储等满足特定需求的过程。系统设计是在面向对象设计的基础上更高层次的设计，关注整个系统的架构、组件之间的协作和通信，以及满足系统需求的实现。关键点在于：满足实际需求、具备可拓展性、稳定性等，常见如Twitter、网约车系统设计。]]></description><category></category></item><item><title><![CDATA[ElasticSearch：全文检索及倒排索引原理]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/132137484</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/132137484</guid><author>pbrlovejava</author><pubDate>Sun, 06 Aug 2023 23:23:59 +0800</pubDate><description><![CDATA[ES通常被用于搜索需求中使用，底层原理是倒排索引技术。]]></description><category></category></item><item><title><![CDATA[系统设计基础-大型网站通用架构模式]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/130725634</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/130725634</guid><author>pbrlovejava</author><pubDate>Wed, 17 May 2023 14:43:58 +0800</pubDate><description><![CDATA[系统设计基础，了解大型网站通用架构模式。]]></description><category></category></item><item><title><![CDATA[Golang：reflect反射的使用例子]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/129118211</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/129118211</guid><author>pbrlovejava</author><pubDate>Mon, 20 Feb 2023 09:22:55 +0800</pubDate><description><![CDATA[reflect包定义了“反射”相关能力，“反射”在计算机学中是指计算机程序在运行时（runtime）可以访问、检测和修改它本身状态或行为的一种能力。基于反射特性可以通用化地解决一些需要频繁修改代码及硬编码问题，但是执行效率会被降低。]]></description><category></category></item><item><title><![CDATA[Golang原理分析：闭包及for range延迟绑定问题原理及解决]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/128355818</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/128355818</guid><author>pbrlovejava</author><pubDate>Sat, 17 Dec 2022 18:32:54 +0800</pubDate><description><![CDATA[当一个函数引用了环境的变量，被引用的变量与该函数同时存在组成的系统，被称为闭包。]]></description><category></category></item><item><title><![CDATA[Golang原理分析：切片(slice)原理及扩容机制]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/128175941</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/128175941</guid><author>pbrlovejava</author><pubDate>Sun, 04 Dec 2022 19:17:02 +0800</pubDate><description><![CDATA[Go切片的特性：切片的本质是引用底层数组头指针+当前切片长度+底层数组大小：即array、len和cap：
使用时通过make关键字来进行初始化切片分配一个新的底层数组，或者是基于指定的数组进行切片化。]]></description><category></category></item><item><title><![CDATA[Golang开发习惯：变量、常量声明&使用惯例]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/128171116</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/128171116</guid><author>pbrlovejava</author><pubDate>Sun, 04 Dec 2022 12:29:26 +0800</pubDate><description><![CDATA[Golang开发中，可遵守简单且一致的命名原则，力求命名精简、易懂和一致。

变量声明
已存在类型信息时，不要重复类型信息：


使用驼峰形式来声明变量，而不是下划线形式：

常量声明
使用驼峰形式来声明变量，而不是下划线形式：


对于专有名词或特定常量，可使用全大写形式：]]></description><category></category></item><item><title><![CDATA[Golang源码分析：golang/sync之singleflight]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/127717139</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/127717139</guid><author>pbrlovejava</author><pubDate>Sun, 06 Nov 2022 16:18:02 +0800</pubDate><description><![CDATA[golang/sync库拓展了官方自带的sync库，提供了errgroup、semaphore、singleflight及syncmap四个包，本次分析singlefliht的源代码。
singlefliht用于解决单机协程并发调用下的重复调用问题，常与缓存一起使用，避免缓存击穿。]]></description><category></category></item><item><title><![CDATA[Golang源码分析：golang/sync之errgroup]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/127602340</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/127602340</guid><author>pbrlovejava</author><pubDate>Sun, 30 Oct 2022 17:41:16 +0800</pubDate><description><![CDATA[golang/sync库拓展了官方自带的sync库，提供了errgroup、semaphore、singleflight及syncmap四个包，本次先分析第一个包errgroup的源代码。
errgroup提供了类似于WaitGroup的组织子任务运行的能力，但是提供了错误处理和通过ctx取消子任务的能力。]]></description><category></category></item><item><title><![CDATA[Golang源码分析：本地缓存库cache2go]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/127405406</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/127405406</guid><author>pbrlovejava</author><pubDate>Wed, 19 Oct 2022 12:27:06 +0800</pubDate><description><![CDATA[cache2go是一款由golang实现的本地缓存库，提供并发安全的读写操作，具有过期时间控制等特性。]]></description><category></category></item><item><title><![CDATA[《程序员的七堂课》读书笔记2]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/127134901</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/127134901</guid><author>pbrlovejava</author><pubDate>Sat, 01 Oct 2022 16:05:16 +0800</pubDate><description><![CDATA[读书随记]]></description><category></category></item><item><title><![CDATA[《程序员的七堂课》读书笔记：职业规划]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/126813608</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/126813608</guid><author>pbrlovejava</author><pubDate>Mon, 12 Sep 2022 09:58:08 +0800</pubDate><description><![CDATA[《程序员七堂课》第二章读书笔记]]></description><category></category></item><item><title><![CDATA[缓存读写策略：CacheAside、Read/WriteThrough及WriteBack策略]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/125953394</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/125953394</guid><author>pbrlovejava</author><pubDate>Sat, 23 Jul 2022 22:05:05 +0800</pubDate><description><![CDATA[对于缓存的读写来说，通常存在三种使用方式，也就是缓存的三种读写策略：CacheAside、Read/WriteThrough及WriteBack策略。]]></description><category></category></item><item><title><![CDATA[如何做数据平滑迁移：双写方案]]></title><link>https://blog.youkuaiyun.com/pbrlovejava/article/details/125926775</link><guid>https://blog.youkuaiyun.com/pbrlovejava/article/details/125926775</guid><author>pbrlovejava</author><pubDate>Fri, 22 Jul 2022 10:16:08 +0800</pubDate><description><![CDATA[数据迁移指的是将一批数据从同构存储系统（如MySQLA到MySQLB）或异构存储系统（如MySQL-MongoDB）间搬运迁移。数据双写迁移是最常用的一种数据迁移方案，可以保证迁移过程是在线的、迁移前后数据是一致的、迁移过程是可回滚的。数据双写迁移方案分为五大步，分别是：同步、双写、校验、切读、切写。...]]></description><category></category></item></channel></rss>