尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

金铲铲ai教练

金铲铲ai教练 能查装备、推阵容、分析对局。基于 RAG 知识图谱 LLM全开源。为什么要做这个金铲铲每个赛季换一批英雄、装备、羁绊。S16的薇恩该出什么上版本记得再清楚也没用。每次打开游戏都要切出去查攻略切回来选秀时间过了。最开始只写了个查装备的小脚本。后来加了阵容推荐、羁绊查询、经济系统计算。再后来接了LLM让它能听懂自然语言——你说薇恩带什么它知道薇恩是谁、当前版本推荐什么装备、为什么推荐这几件。然后就成了一个完整的项目。怎么用python nlu_chat.py# 你薇恩带什么装备# AI推荐鬼索的狂暴之刃 卢安娜的飓风 死亡之刃。鬼索提供攻速叠加卢安娜额外攻击目标死亡之刃补充面板攻击力。fromsrc.orchestratorimportOrchestrator orchOrchestrator()resultorch.run(8级了要不要上9)print(result[answer])技术架构整体四层。1. 混合RAG检索纯向量检索在游戏术语上容易翻。鬼索和鬼索的狂暴之刃差两个字向量空间里可能不挨着。我的方案是BM25 向量双路融合用户问题 ├──→ BM25jieba分词精确匹配缩写/别名 ├──→ BGE向量语义匹配加攻速的装备 └──→ RRF融合k60 └──→ Cross-Encoder精排BGE-reranker-baseBM25兜底了鬼索羊刀这种缩写向量补充了语义模糊的查询。最后Cross-Encoder排序。嵌入模型BAAI/bge-small-zh-v1.524M参数384维本地CPU能跑。2. 知识图谱有些问题不需要检索。“鬼索的狂暴之刃需要哪两件散件合成”——确定性数据查表就行。NetworkX有向图5种节点英雄/装备/羁绊/阵容/海克斯8种关系边。能精确查的——合成配方、属性数值、羁绊映射——直接从图里拿100%准确。3. NLU本地微调直接调DeepSeek做意图识别太慢了。本地微调了一个 Qwen2.5-1.5B三件事消息类型分类、意图识别、实体抽取。QLoRANF4双重量化显存不到4G。5000条自己标注的训练数据5组对照实验最优方案 full_r16消息类型100%意图99.4%英雄F1 97.9%装备F1 98.0%。4. 工具系统 防幻觉19个查询函数覆盖装备/英雄/阵容/羁绊/海克斯/经济。LLM自行判断需要哪些工具、调用不超过2轮不成功自动退到RAG兜底。防护三层图谱优先精确查询走图不走检索→ 门禁检查检索置信度过低直接说不确定→ 极端排序避免Lost in the Middle。最难搞的问题羁绊纹章 × 阵容推荐上面那些都算常规操作。真正让我卡了好几天的是羁绊纹章。金铲铲里有一种特殊装备叫纹章。比如法师纹章——给一个英雄装上他就多一个法师羁绊。这意味着你可以凑出标准阵容表格里不存在的配置。比如你拿到了一个法师纹章原本7法师的阵容可以变成6法师2个被转成法师的自由位——这个配置在官方阵容数据里不存在因为纹章是随机获取的。传统攻略的处理方式是列几个有XX纹章可以用的备注。但AI不能这样——玩家拿着纹章来问我该玩什么AI必须根据纹章动态调整推荐。我的做法是在知识图谱里加了一层纹章推断逻辑。纹章入口节点挂在羁绊节点下面当一个纹章被查询时先拿纹章对应的羁绊遍历所有阵容找到缺一个就能触发下一档的阵容——比如某个阵容已经有6法师上了法师纹章就能7法师计算每个候选阵容的强度收益——多一档羁绊 多少实际战力提升把纹章位置嵌入阵容结构生成调整后的站位和装备分配返回原阵容纹章修改版为什么要这样调这个过程在传统检索里根本做不了——阵容表里没有纹章变体。全靠图结构的可计算性拿到纹章→定位羁绊→遍历候选阵容→计算收益→合成新结果。LLM在这一步只负责把计算结果翻译成人话。它不需要自己推理有法师纹章应该玩什么——图已经算完了LLM只负责说。这算是整个项目里唯一让我熬了夜的模块。项目地址GitHub: https://github.com/sanji0114/jcc-agent全开源。安装就一行pip install -r requirements.txt。数据在data/下S16赛季的。欢迎star欢迎提issue。
返回列表