阿里云大模型应用ACP速记

发布于:2025-07-17 ⋅ 阅读:(22) ⋅ 点赞:(0)
  1. 大模型工作流程

    1. 输入处理
      1. 输入文本分词
      2. 分词向量化
    1. 编码器:计算出每个token之间的关联程度
    2. 文本生成:一个一个token的循环,每次找到下个可能的token列表,然后选择拼接,再进行下一轮循环
    3. 输出
  1. 推理相关参数
    1. temperature:调整候选Token集合的概率分布
    2. 控制token集合的采样范围
  1. 让大模型回答私域问题
    1. 方式一:直接在对话上下文中插入,但问题是文本量过大,会性能和效果
    2. 方式二:rag,检索增强式生成
      1. 建立索引

      2. 检索与生成

  1. rag工作原理
    1. 建立索引
      1. 文档解析
      2. 分段
      3. 文本向量化
      4. 存储到索引库
    1. 检索生成
      1. 检索:通过语义相似度进行检索
      2. 生成:典型的prompt例如 “请根据以下信息回答用户的问题:{召回文本段}。用户的问题是:{question}。”
  1. 创建rag应用
    1. 简单对话:通过llama_index读取本地文件,再本地存储向量文件,最终完成检索过程,再向大模型提问
    2. 多轮对话:如果直接用最后一轮历史对话与向量库做相似度匹配,肯定会丢失一些信息,此时的解决方式是
      1. 通过大模型,基于历史对话信息,将用户的问题改写为一个新的query,新的query将包含历史对话的关键信息。
      2. 使用新的query,按照原先流程进行检索与生成的过程。

2_3

  1. llamaidex中已经有默认的提示词模版,可以进行更新替换

     

  2. 提示词框架示例


    提示词工程:提示工程指南 | Prompt Engineering Guide
  3. 增加意图分类路由来决定是否走rag链路


    优化分类提示词

2_5 自动化测试

  1. 简单版本

     

  2. Ragas

     

     

2_6 优化rag应用

  1. 优化检索效果
    1. 增加召回检索的片段,每次多检索出几个,然后使用ragas进行量化评估
    2. 给大模型结构更清晰的内容,推荐使用md文档
  1. rag应用

  2. 常见问题及改进策略
    1. 文档解析与切片阶段


      其中转md文档可以使用百炼idp, 然后还可以用大模型再进行润色
    2. 切片向量化与存储阶段:
      选择合适的embedding模型与向量数据库
    3. 检索召回阶段


      实战
      1. 提取标签


        当然,在实际使用时,还需要在建立索引阶段,将文档切片向量加上对应的标签存入向量数据库,才能在检索时使用向量 + 标量的联合检索。
      2. 使用rerank模型进行片段重排

    1. 生成答案阶段

2_6 用插件扩展答疑机器人的能力边界

  1. agent运行机制

  2. 构建单个agent步骤
    1. 创建好工具函数
    2. 通过百炼Assistant API进行集成这些工具函数
  1. 构建多agent
    1. 组成:
      Router Agent: 根据用户的输入内容,判断要将任务分发给哪个Agent。
      执行工具函数的Agent: 根据Router Agent分发的任务,执行属于自己的工具函数。
      Summary Agent: 根据用户的输入,以及执行工具函数的Agent的输出,生成总结并返回给用户。
    2. Router Agent:也用Assistant API进行创建

    3. 执行工具函数的agent

    4. Summary Agent

2_7 大模型RAG内容安全合规检查

  1. 涉及内容:敏感信息、机密信息、幻觉错误信息
  2. 涉及阶段

     

  3. 输入输出审核,使用阿里云内容安全服务:面向大语言模型的文本审核PLUS服务_内容安全(Content Moderation)-阿里云帮助中心
    如果是私域内容,则进行词库定制

  4. 知识库召回片段过滤

  5. 应用服务安全:应用部署、访问、数据传输和存储等

2_7: 通过微调提升模型的准确度与效率

  1. 微调意义:更换模型,成本更低、速度更快,准确度更高
  2. 从调整目标参数的规模维度,可以将模型微调分为两大类,分别是全参微调与高效微调。
  3. LoRA:LoRA微调是一种效果与全参微调接近,并且最通用的高效微调方法之一

  4. 数据集


    其中灵🐴 相当于是构建训练集
  5. 使用swift框架
    1. 下载模型文件
    2. 框架介绍:该框架支持350+ LLM和90+ MLLM(多模态大模型)的训练(预训练、微调、对齐)、推理、评测和部署
    3. 进行模型推理:可以对比前后指标
    4. 进行模型评测
    5. 进行模型微调
    6. 微调后进行模型合并,两种方式如下
      1. 将基础模型与微调模型融合为一个模型后调用
      2. 在调用时动态加载微调模型。
  1. 微调前注意事项:

  2. 问题:

2_9 部署模型生产环境中

  1. 使用 vLLM :vLLM 是一种专门用于加速大模型推理的部署工具。它支持多模型并行处理,并提供了丰富的 API 接口
  2. 使用云部署:

    1. 使用ecs:结合vLLM
    2. 使用FC:更适合轻量化
    3. 使用PAI
    4. 使用百炼:https://help.aliyun.com/zh/model-studio/user-guide/model-deployment
  1. 模型部署需要满足的场景:

2_10 生产实践
1. 功能性需求

  1. 性能指标

  2. 性能优化
    1. 更快的处理请求

    2. 通过上下文缓存或者批处理减少大模型处理请求数和运算量
    3. 减少tokens输入输出
    4. 并行化处理
    5. 不要所有东西都依赖大模型

  1. 用户感知优化
    1. 流式输出
    2. 分块处理
    3. 展示任务进度
    4. 完善错误处理机制
    5. 提供反馈入口
  1. 成本优化

  2. 云上部署成本优化
    1. 选择规格

    2. 选择计费方式

  1. 稳定性
    1. 降低资源消耗
    2. 自动扩缩容
    3. 评测基线管理
    4. 监控告警,trace链路
    5. 容灾设计
  1. 内容安全
  2. 应用安全

网站公告

今日签到

点亮在社区的每一天
去签到