公司:三七互娱
LangChain RAG&Agent实践-活动组件AI助手的实现
活动组件AI助手落地共经历了三个阶段:
- 快速落地:采用Dify平台,验证AI与业务结合的想法,快速实现第一版;
- 优化性能:采用LangChain开发具备RAG能力的第二版;
- 丰富功能:开发具备Agent能力的第三版;
在上一篇《AIGC在活动业务中的探索与应用》中,介绍了使用Dify平台快速落地活动组件AI助手的第一版,验证了AI与业务结合的可行性。接着我使用LangChain开发了第二版,简化第一版中Dify RAG的流程,提升推荐组件的性能。有了组件推荐能力后,我们继续丰富AI助手的功能,又有了新的想法:能否根据需求,查询历史活动,快速复用同类型组件?为此我们开发了具备Agent能力的第三版,实现根据用户需求,自主规划任务和调用工具,查询所需的活动和组件数据,并实现快速复用历史活动组件的功能。
AI生成中后台前端代码
本文介绍如何使用AI技术创造生产可用的业务代码。
浅谈Postcss处理流程并速写一个基础的Postcss插件
PostCss,想必很多前端开发者几乎都会在webpack配置中添加相关的postcss插件来处理css样式文件,比如打包的时候给css属性添加各浏览器兼容前缀(即垫片)、亦或是将px单位转换为rem单位等等,但普遍都是npm完对应的依赖包,在插件配置项plugins那里配置一下就完了,很少会去特地了解其处理css的原理,正好之前在图灵项目开发暗黑模式时需要编撰一个postcss插件来将已有的亮眼模式下的颜色转换出一套对应的暗黑颜色,让我又重拾起postcss进行相关原理的温习,以及去学习如何自己编撰相关的逻辑来处理像字体颜色、背景色的转换。
关于IPA中App名称多语言配置及其显示的探讨
将同一个游戏包游戏发行到海外的多个地区时,因为语言不同,一般游戏都需要将App名称本地化。
一般的处理方案是:通过配置Info.plist的文件中CFBundleDevelopmentRegion的值来配置默认语言,然后将Info.plist中CFBundleDisplayName的值设置为默认语言的App名称。接着在Xcode->PROJECT->Localizations配置多语言,添加InfoPlist.strings多语言配置文件,进而配置不同语言的CFBundleDisplayName的值。
在最近对接游戏时发现了个奇怪的问题,就是在Info.plist文件的CFBundleDisplayName的值设置为中文名称的情况下,在设备中切换多种不同的系统语言进行测试,App的显示名称却一直都不显示中文。
于是引出当前的文章,在CFBundleDisplayName这个Key配置了多语言的情况下,不同的多语言配置及CFBundleDevelopmentRegion设置在不同的系统语言下,App名称的显示规律是怎样的?
Nova(AI-CodeReview)介绍
受启发于各个AI编码助手和AI Code Review方案,我们希望AI Code Review具备以下特性:
1). 与现有的CI流程紧密贴合,即Gitlab-Runner+SonarQube;
2). 具备整个项目的上下文理解能力,支持多编程语言,并且能以较低成本实现;
3). 具备高扩展性,可以使用任意模型或AI-Agent平台,可以使用任意的上下文搜索方式,如RAG或AST搜索;
于是Nova应运而生。
AISearchPro-AI智能搜索实践
本文介绍搜索实践的两种方案:
1、利用LangChain,通过代码编排链路的方式来实现RAG检索
2、利用DIFY工作流,通过可视化配置工作流的方式来实现RAG检索
AIGC在活动业务中的探索与应用
本文主要分析AIGC在组件活动业务中的应用案例,探索AI在业务中到底能做什么。
和手写单元测试用例说再见~
本文详述如何通过AI自动生成“可运行”的单元测试用例,同时通过验证单元测试用例的正确性和覆盖率。
记一次TCP请求游戏服接口偶发超时问题处理:Linux内核网络参数调优
本文详述TCP请求超时的解决过程。
AWS MySQL社区版大版本升级方案&流程【5.7升级至8.0】
记录一次升级的流程。
AI Codereview 到 Codereview Agent 的再次升级
本文从 Codereview 场景出发,介绍了从最简单的直接调用 API 到使用 RAG 增加代码块的上下文,最终到使用 Function Calling 构建 Codereview Agent。
多平台统一MaxSDK的设计实现
文章介绍了一个平台层分层架构的设计,包括接口层、桥阶层和不同平台的具体实现。平台层模块设计分为共用的base模块和各业务线实现模块。以sq_wy为例,包括sdkUnityDemo和sdkImpl模块,其中sdkImpl是unitydemo的入口类。然后,文章介绍了业务接口的设计,包括业务相关接口和生命周期接口,方法名需要和unity调用方法名保持一致。最后,需要将功能的结果回调给unity,Android中调用unity方法最终是通过 UnityPlayer.UnitySendMessage() 实现。
explain之key_len计算
本文使用explain分析SQL执行计划,判断索引是否完全用上
了解Delve的内存查看功能
本文通过Delve内存查看的例子,帮助研发人员加深对Golang数据结构的理解,并为优化代码运行速度提供参考
深度学习算法在素材隐义标签生成中应用研究
采用深度学习中改进2-channel network来生成素材的数字标签,形成一种全新的素材标签生成方法。
基础数据平台的建设之道
在数据平台的建设中,数据的“存通用智”是一个难题,本文介绍了三七基础数据平台的建设与实践。