ginobefun
6个月前
#BestBlogs 淘宝 Java 工程师的 LLM 开发实践 | 大淘宝技术 从 Java 工程师视角出发,详细介绍如何使用 Spring AI 框架进行 LLM 应用开发,包括对话、Function Calling 和 RAG 实践。 摘要: 本文为 Java 工程师提供了 LLM 应用开发的实战指南。首先分析了当前 LLM 的局限性,强调了应用开发的重要性。接着介绍了面向 Java 的 LLM 开发框架 Spring AI,并与主流的 Python LangChain 进行对比。文章核心内容详细阐述了三大应用场景的实现:一是对话聊天,讲解了角色、Prompt 和 Memory 概念与实现;二是联网搜索等通过 Function Calling 调用第三方 API;三是利用 RAG 技术构建个人知识库,深入解析了 RAG 原理、Embedding 和向量数据库,并提供了完整的数据构建与检索生成流程。文章结合具体代码示例,为 Java 开发者高效应用 LLM 提供了可操作的路径。 主要内容: 1. LLM 应用开发对 Java 工程师提升效率至关重要 -- 相较于模型训练理论,掌握 LLM 应用开发更能帮助 Java 工程师在实际工作中利用 AI 技术提升效率和生活品质。 2. Spring AI 为 Java 开发者提供了高效的 LLM 开发框架 -- Spring AI 借鉴 LangChain 思路,使 Java 工程师无需学习新的语言,即可快速融入现有体系进行 LLM 应用开发。 3. Function Calling enables LLMs to interact with external APIs -- 利用 Function Calling 能力,LLM 可根据用户指令自动调用外部服务(如联网搜索),获取实时或特定数据,弥补自身知识盲区。 4. RAG 技术是构建个人知识库、解决 LLM 局限的关键 -- RAG 通过检索外部数据增强 LLM 生成能力,有效解决模型知识滞后、覆盖有限和产生幻觉等问题,提高生成内容的准确性和相关性。 5. Embedding 和向量数据库是 RAG 技术的基础设施 -- Embedding 将非结构化数据转化为向量,向量数据库高效存储和检索这些向量,是实现 RAG 检索增强功能的关键支撑技术。 文章链接:
ginobefun
9个月前
新的博客文章:告别生硬翻译腔:构建 AI 驱动的多轮评审润色流程 在深入学习和阅读智能体(Agent)相关的英文技术文章时,我发现传统的翻译软件和方法往往难以将这些文章准确、流畅地转换成地道的中文。逐字逐句的直译不仅导致"翻译腔"严重,还会使句子结构生硬,专业术语处理不当,这让读者理解起来非常吃力。 为了解决这个问题,我开始探索各种 AI 工具,并借鉴了分段翻译再合并、反思改进、使用"改写"而非"翻译"等技巧,不断优化翻译流程。经过多次实验,我最终基于 Dify 平台构建了一个 AI 驱动的多轮评审润色 Workflow,成功实现了将英文技术文章(涵盖 AI、编程、产品、商业等领域,尤其是智能体相关内容)高质量地改写为中文的目标。 这个 Workflow 不仅能准确传达原文信息,还能使改写后的文章语言流畅自然,完全符合中文表达习惯和技术领域的专业规范。更重要的是,它能同时兼顾技术人员和普通读者的阅读体验,让不同背景的读者都能轻松理解文章内容。 本文将详细分享我的实践经验,包括 Workflow 的整体设计、Prompt Engineering 的技巧、模型选择以及后续的排版和发布流程。希望我的经验能帮助大家更好地利用 AI 提升内容创作的效率和质量,也希望能为那些和我一样在阅读英文技术资料时遇到困难的读者提供一些帮助。最终的目标是,通过这个流程,我可以高效地产出和分享高质量的中文技术博客,与更多人一起学习和交流。