中国建设银行对公网站首页做设计.不抠图网站
中国建设银行对公网站首页,做设计.不抠图网站,网页游戏排行榜2024前十名,导航类网站模板随着大语言模型(LLM)技术的发展#xff0c;越来越多的行业开始探索如何将通用大模型能力应用到特定垂直领域。然而#xff0c;直接使用原生大模型API往往难以满足垂直领域的专业需求#xff0c;需要开发适配层将模型能力与业务逻辑有机结合。
LangChain作为一个专为大语言模…随着大语言模型(LLM)技术的发展越来越多的行业开始探索如何将通用大模型能力应用到特定垂直领域。然而直接使用原生大模型API往往难以满足垂直领域的专业需求需要开发适配层将模型能力与业务逻辑有机结合。LangChain作为一个专为大语言模型应用开发设计的框架为这一挑战提供了优雅的解决方案。本文将以电商客服投诉信息的结构化处理为例详细介绍如何基于LangChain框架和开源大语言模型构建垂直领域的智能应用。通过这一实例我们将展示LangChain如何助力开发者快速构建、迭代和部署大模型应用实现从非结构化文本到结构化数据的智能转换。LangChain框架解决方案LangChain框架通过其灵活的架构设计为上述挑战提供了系统性解决方案提示工程工具链提供结构化的提示模板管理便于注入领域知识和规则。结构化输出解析支持将模型输出解析为特定的数据结构确保输出符合预期格式。可组合的处理链通过链式组件设计支持构建复杂的推理流程和容错机制。多模型适配器支持接入不同的模型提供商便于根据场景选择合适的模型降低成本。服务化部署工具提供内置的API部署功能简化系统集成流程。所用技术LangChain作为核心框架负责模型调用、提示管理和处理流程编排Ollama开源本地大语言模型运行环境支持多种开源大模型Pydantic用于数据验证和结构化模型定义确保数据格式的规范性LangServeLangChain配套的服务化部署工具用于快速构建APIPython作为主要开发语言适合AI和数据处理应用代码实现讲解环境配置模块环境配置模块负责管理系统运行参数采用了Pydantic和环境变量相结合的方式import os from pydantic import BaseModel, Field classAppConfig(BaseModel): 应用配置模型 model_name: str Field(qwen2.5:7b, description使用的Ollama模型名称) base_url: str Field(http://localhost:11434, descriptionOllama服务地址) timeout: int Field(30, description模型请求超时时间秒) max_retries: int Field(3, description模型请求最大重试次数) classmethod deffrom_env(cls) - AppConfig: 从环境变量创建配置 return cls( model_nameos.getenv(MODEL_NAME, qwen2.5:7b), base_urlos.getenv(BASE_URL, http://localhost:11434), timeoutint(os.getenv(TIMEOUT, 30)), max_retriesint(os.getenv(MAX_RETRIES, 3)) ) config AppConfig.from_env()对于垂直领域应用灵活的配置管理尤为重要可以在不修改代码的情况下适应不同的业务场景和资源条件。数据模型模块数据模型模块定义了系统数据结构是实现从非结构化文本到结构化数据转换的核心# 数据模型 classComplaint(BaseModel): 客户投诉数据模型 Attributes: order_id: 订单号格式大写字母数字长度10-20字符 issue_type: 问题类型如物流问题、商品质量等 user_request: 用户核心诉求如退款、换货等 urgency_level: 紧急程度分级1-5级5级为最紧急 order_id: Optional[str] Field( None, min_length10, max_length20, patternr^[A-Z0-9]$, description订单号大写字母数字组合长度10-20字符 ) issue_type: Optional[str] Field( None, description问题类型如物流问题、商品质量、售后服务等, examples[商品质量, 物流延迟] ) user_request: Optional[str] Field( None, description用户核心诉求如退款、换货、维修等, examples[全额退款, 紧急换货] ) urgency_level: Optional[int] Field( None, ge1, le5, description紧急程度分级1-5级5级为最紧急 )在垂直领域应用中数据模型设计需要注意以下几点精确的字段约束通过Field参数定义字段的有效性规则如长度、格式等可选性设计合理使用Optional标记应对文本中可能缺失的信息领域术语映射模型字段命名应与业务术语一致降低理解成本文档与示例为每个字段提供清晰的描述和示例指导模型输出Pydantic不仅提供了数据验证功能还能通过JSON Schema生成API文档便于团队协作和系统集成。模型服务模块模型服务模块负责初始化和配置大语言模型from langchain_ollama import ChatOllama def initialize_model(config: AppConfig) - ChatOllama: 初始化Ollama聊天模型 return ChatOllama( modelconfig.model_name, base_urlconfig.base_url, temperature0.3, # 降低随机性以保证稳定性 num_ctx2048, # 增大上下文窗口 timeoutconfig.timeout, max_retriesconfig.max_retries ) model initialize_model(config)LangChain的优势在于提供了统一的模型接口使系统可以无缝切换不同的模型提供商如从Ollama切换到OpenAI而无需修改其他代码。提示工程模块提示工程模块是垂直领域应用的核心负责设计和管理与模型的交互提示from langchain_core.prompts import ChatPromptTemplate def create_extraction_prompt() - ChatPromptTemplate: 创建结构化提取提示模板 return ChatPromptTemplate.from_messages([ (system, 您是一个专业的电商客服信息提取助手。请严格按以下规则处理用户输入 1. 订单号识别规则 - 格式大写字母和数字组合如ORD202405019876 - 长度10-20个字符 2. 问题类型分类 - 物流问题包含物流、运输、延迟等关键词 - 商品质量包含破损、裂痕、故障等关键词 - 售后服务包含客服、响应、处理等关键词 3. 紧急程度判定标准 5级涉及安全问题的词汇如爆炸、漏液、火灾等 4级高价商品问题或影响健康的关键词 3级物流延迟超过3天或影响使用的商品问题 2级普通退款请求或非紧急问题 1级咨询类或一般反馈 4. 用户诉求提取 - 保留原始表达中的核心动词如退款、换货、维修等 - 保持诉求的完整性 示例分析 用户输入订单号ORD12345678收到的手机屏幕有裂痕要求换货 输出order_idORD12345678, issue_type商品质量, user_request换货, urgency_level4 ), (human, 用户投诉内容\n{text}), (system, 请根据上述规则严格处理输入确保输出格式正确且数据准确。如信息缺失请留空。) ])这里是做一个演示实际场景可能会需要再完善相关内容处理链负责组织数据处理流程将各个组件连接成一个完整的处理管道from langchain_core.runnables import RunnablePassthrough, RunnableSerializable def build_processing_chain() - RunnableSerializable: 构建处理链 prompt create_extraction_prompt() return ( RunnablePassthrough.assign(textlambda x: x[text]) | prompt | model.with_structured_output(schemaComplaint) ) chain build_processing_chain()LangChain的链设计体现了函数式编程的思想通过管道操作符|将不同的处理步骤连接起来。在上面的代码中数据预处理使用RunnablePassthrough.assign从输入字典中提取文本信息提示模板应用将文本信息填入提示模板生成完整提示模型调用与结构化输出调用模型并将输出解析为Complaint结构体链的优势在于声明式设计清晰表达处理流程易于理解和维护组件可复用链中的每个组件都可以单独测试和复用流程可扩展可以方便地增加新的处理步骤如数据验证、后处理等错误处理集成可以在链的各个环节添加错误处理逻辑在垂直领域应用中合理设计处理链可以将复杂任务分解为可管理的步骤提高系统的可维护性和可扩展性。业务逻辑模块处理输入并返回结构化结果from typing importDict, Any from contextlib import suppress from pydantic import ValidationError defprocess_complaint(text: str) - Dict[str, Any]: 处理用户投诉文本并返回结构化结果 Args: text: 用户输入的投诉文本 Returns: 包含处理结果或错误信息的字典 try: result chain.invoke({text: text}) return { success: True, data: result.dict(exclude_unsetTrue) } except ValidationError as e: return {success: False, error: f数据验证失败: {str(e)}} except Exception as e: with suppress(Exception): # 记录完整错误日志此处简化处理 pass return {success: False, error: f处理失败: {str(e)}}API部署模块API部署模块提供了Web服务接口便于系统集成from langserve import add_routes # 取消注释以下内容以启用LangServe部署 # add_routes(/api, chain)通过LangServe垂直领域应用可以轻松转化为服务与其他的系统生态集成。验证效果商品质量问题test_text 我的订单号ORD202405019876上周买的充电宝到货后发现外壳有裂痕几乎要漏液了 这种危险品必须立刻处理需要全额退款并赔偿 response process_complaint(test_text) # 输出: # { # success: True, # data: { # order_id: ORD202405019876, # issue_type: 商品质量, # user_request: 全额退款并赔偿, # urgency_level: 5 # } # }系统成功识别了订单号、问题类型并正确判断了紧急度级别涉及安全问题被判定为5级。物流延迟问题test_text 我滴订单号是ORD64524527566啊物流慢成龟速说好的三天到现在都一周了赶紧给个说法 response process_complaint(test_text) # 输出: # { # success: True, # data: { # order_id: ORD64524527566, # issue_type: 物流问题, # user_request: 给个说法, # urgency_level: 3 # } # }系统从口语化表达中提取了订单号识别了物流问题类型并根据延迟天数判断了紧急度级别。特殊表达方式test_text A123456798558你们家这荔枝罐头盖子都鼓包了嗦网上说这是变质的征兆咋个处理嘛 response process_complaint(test_text) # 输出: # { # success: True, # data: { # order_id: A123456798558, # issue_type: 商品质量, # user_request: 处理, # urgency_level: 4 # } # }不同垂直领域的迁移上面只是一个 Demo实际中这套架构可以轻松迁移到其他垂直领域如医疗问诊信息结构化class MedicalConsultation(BaseModel): 医疗问诊数据模型 patient_id: Optional[str] Field(None, description患者ID) symptoms: List[str] Field([], description症状描述列表) duration: Optional[str] Field(None, description症状持续时间) severity: Optional[int] Field(None, ge1, le5, description严重程度(1-5)) medical_history: Optional[str] Field(None, description相关病史) defcreate_medical_prompt(): 创建医疗问诊信息提取提示 return ChatPromptTemplate.from_messages([ (system, 您是一个专业的医疗问诊信息提取助手。请从患者描述中提取关键信息 1. 患者ID识别格式如P12345的ID编号 2. 症状列表提取所有描述的症状 3. 持续时间症状持续了多长时间 4. 严重程度根据描述评估严重程度(1-5级) 5. 病史提取相关的既往病史信息 示例 输入我是P54321最近三天一直头疼发热体温38.5度吃了退烧药没用。我有高血压病史。 输出patient_idP54321, symptoms[头疼,发热,体温38.5度], duration三天, severity3, medical_history高血压 ), (human, 患者描述\n{text}) ]) # 构建医疗问诊处理链 medical_prompt create_medical_prompt() medical_chain ( RunnablePassthrough.assign(textlambda x: x[text]) | medical_prompt | model.with_structured_output(schemaMedicalConsultation) )法律文件信息提取class LegalDocument(BaseModel): 法律文件数据模型 case_number: Optional[str] Field(None, description案件编号) parties: List[str] Field([], description涉案方列表) legal_issues: List[str] Field([], description法律争议点) filing_date: Optional[str] Field(None, description立案日期) court: Optional[str] Field(None, description管辖法院) defcreate_legal_prompt(): 创建法律文件信息提取提示 return ChatPromptTemplate.from_messages([ (system, 您是一个专业的法律文件信息提取助手。请从文件描述中提取关键信息 1. 案件编号识别标准案件编号格式 2. 涉案方提取原告、被告等各方名称 3. 法律争议点提取主要法律争议点 4. 立案日期提取案件立案日期 5. 管辖法院提取管辖法院名称 示例 输入民事判决书2021京01民初123号原告张三诉被告李四合同纠纷案北京市第一中级人民法院2021年3月15日立案。 输出case_number2021京01民初123号, parties[张三,李四], legal_issues[合同纠纷], filing_date2021年3月15日, court北京市第一中级人民法院 ), (human, 法律文件内容\n{text}) ]) # 构建法律文件处理链 legal_prompt create_legal_prompt() legal_chain ( RunnablePassthrough.assign(textlambda x: x[text]) | legal_prompt | model.with_structured_output(schemaLegalDocument) )总结本文以电商客服投诉处理为场景展示了如何通过LangChain框架与开源大模型构建垂直领域智能应用的完整路径。大家可以根据自己的实际场景进行动态调整。想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2026 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明 AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容2026 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”