AI大模型开发架构设计(9)——AI 编程架构刨析和业务应用实战案例

本文主要是介绍AI大模型开发架构设计(9)——AI 编程架构刨析和业务应用实战案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • AI 编程架构刨析和业务应用实战案例
      • 1 AI编程代码生成模型剖析
        • 编程方式的发展
        • 代码自动生成
        • 基于大模型的AI编程工具——Github Copilot
        • 以 CodeGeeX 为例-发展过程
        • 以 CodeGeeX 为例-训练过程
        • 以 CodeGeeX 为例-大规模代码数据处理
        • 以 CodeGeeX 为例-模型结构
        • 以 CodeGeeX 为例-模型训练框架及算力
        • 以 CodeGeeX 为例-如何评估代码生成模型的性能?
      • 2 AI编程应用技术架构
        • 基于大模型的AI编程应用技术架构(1)
        • 基于大模型的AI编程应用技术架构(2)
        • 基于大模型的AI编程应用技术架构(3)

AI 编程架构刨析和业务应用实战案例

1 AI编程代码生成模型剖析

编程方式的发展
  • 从机器语言到人类语言,越来越 简单化、智能化、降本增效、提质

image.png

代码自动生成
  • 自动代码生成或程序合成(Program Synthesis)是计算机科学领域长久以来的一大难题。

image.png

基于大模型的AI编程工具——Github Copilot
  • 基于 OpenAI Codex 模型,2021年6月推出,2022年正式收费
  • Your AI pair programmer

image.png

  • 其它的AI编程工具
    • Cursor:https://www.cursor.so/
    • Bito:https://bito.ai/
    • CodeWhisperer:https://aws.amazon.com/codewhisperer/
    • CodeGeeX2:https://codegeex.cn/zh-CN
  • AI编程工具费用比较

image.png

以 CodeGeeX 为例-发展过程

image.png

以 CodeGeeX 为例-训练过程

image.png

以 CodeGeeX 为例-大规模代码数据处理

image.png

以 CodeGeeX 为例-模型结构

image.png

以 CodeGeeX 为例-模型训练框架及算力
  • 框架:基于华为 Mindspore 1.7
  • 计算资源:1536 张昇腾 910 AI 处理器
  • 混合精度:FP16(Layernorm,Softmax 使用 FP32 保证稳定性)
  • 并行训练:192 路数据并行 + 8 路模型并行
  • 全局批大小:3072
  • 训练时长:2个月
  • 训练量:~8500 亿 tokens

image.png

以 CodeGeeX 为例-如何评估代码生成模型的性能?
  • 语义相似性 VS 功能正确性
  • 代码正确性基准评估
    • HumanEval:仅支持Python
    • HumanEval-X:支持多语言

2 AI编程应用技术架构

基于大模型的AI编程应用技术架构(1)

image.png

  • 这是最简单的 AI Native 应用程序,应用程序直接将 Prompt 给到大模型(ChatGPT、文心一言…),然后大模型就返回 Response 给到应用程序。
  • 这种架构下,只能利用大模型完成一些简单的事情,对于更为复杂的事(比如:帮我写一个愤怒的小鸟小游戏)就完成不了了。
基于大模型的AI编程应用技术架构(2)

image.png

  • 加入 AI Agent 做需求的拆解,借助外部的一些能力,比如 Function Calling 让应用程序调用外部的 API。
  • 私有知识库进行切片,利用大模型做 Embeddings 向量化,存储到向量数据库。应用程序的Prompt 结合私有向量数据库的检索结果一起给到大模型,这样大模型就有了用户知识库的上下文,最终就给出用户想要的结果。
基于大模型的AI编程应用技术架构(3)

image.png

  • 进行 Fine-tuning 微调

企业知识库案例三步骤

  • 文档 -> Vector Store 表示语义的 Index,可以做语义搜索
  • Retrieval 是将 Query Embeding 后,查询近似文档过程
  • 大模型做最后的知识理解和 QA 问答

image.png

思考:为什么需要 Embeddings?

这篇关于AI大模型开发架构设计(9)——AI 编程架构刨析和业务应用实战案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691023

相关文章

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实