首页 > 其他分享 >【AI大模型】应用开发基础,学到就是赚到!_ai大模型应用开发

【AI大模型】应用开发基础,学到就是赚到!_ai大模型应用开发

时间:2024-06-20 17:28:50浏览次数:12  
标签:prompt AI 模型 ai token dotenv 向量

前言

1、了解大模型能做什么
2、整体了解大模型应用开发技术栈
3、浅尝OpenAI API的调用

AI全栈工程师:懂AI、懂编程、懂业务的超级个体,会是AGI(Artificial General Intelligence 通用人工智能)时代最重要的人。

知识体系

AI学习方法论

从三个方面学习:原理实践认知 三类
1、不懂原理就不会举一反三,走不了太远。
2、不懂实战就只能纸上谈兵,做事不落地。
3、认知不高就无法做对决策,天花板太低。

如果能三者兼备,是最好的。但不同岗位角色可以有不同的取舍。比如:
1、老板更多关注认知,但如果懂原理,能形成更多的认知
2、程序员更多关注实战,但原理和认知是地基和天花板
3、产品经理更多关注认知,但应该也懂原理,并了解一些实战
4、市场、运营和销售需要关注认知,并了解一些原理

说明:在剧烈变革的时代,千万别只拿代码当干货!更深的东西,未必是有用的。

大模型

  • 什么是AI?基于机器学习、神经网络的是AI;基于规则、搜索的不是AI

  • 大模型:全称大语言模型(Large Language Model,缩写:LLM)

    常用大模型

大模型常见用法

1、按格式输出:例如,从一段话中,提取姓名、地址、电话等结构化信息。

2、分类:例如,根据新闻标题,对新闻进行分类

3、聚类:把一堆句子,按意思相近度进行分组

4、更多用法

  • 持续互动:多轮互动问答、角色扮演等
  • 舆情分析:从公司产品的评论中,分析哪些功能/元素是用户讨论最多的,评价
    是正向还是负向
  • 坐席质检:检查客服/销售人员与用户的对话记录,判断是否有争吵、辱骂、不
    当言论,话术是否符合标准
  • 故障解释:根据系统报错信息,给出方便非技术人员阅读的故障说明
  • 零代码开发/运维:自动规划任务,生成指令,自动执行
  • 生成业务逻辑:自定义一套业务描述语言(DSL),直接让ChatGPT写业务逻
    辑代码

思考:你的业务中,有哪些问题可以用AI解决?

5、可能一切问题,都能解决,所以是AGI

划重点:
1.把大模型看做是一个函数,给输入,生成输出
2.任何业务问题,都可以用语言描述,成为大模型的输入,就能生成业务问题
的结果
3.实际工作中,通常需要将业务任务拆解为若干个子任务,分别解决。理解业
务本质,对拆解任务有很大帮助!

  • 一般在使用大模型时,不是直接把一个比较大的任务丢给大模型,而是把任务进行拆解,拆解成若干个子任务逐个解决,得到结果再组合,这样效果会更好。
  • agent:就是用AI来完成任务的拆解

大模型的工作原理

1、通俗原理
大模型是怎么生成结果的?其实,它就是根据上文,猜下一个词(的概率)…… 这个算法叫 transformer

如:The cat sat 后面出现的词可能是:at(0.1) / in(0.1) / on(0.8)

AI大模型的核心原理:基于概率生成下一个token(选择下一个概率高的token),token拼token,最后就拼成了一整句话。

OpenAI的接口名就叫completion,也证明了其只会生成的本质。下面用程序演示生成下一个字。你可以自己修改prompt试试。还可以使用相同的prompt运行多次。

# 这是一个Python调用ChatGPT的代码

# 1.引入必须的包
from openai import OpenAI
from dotenv import load_dotenv, find_dotenv
import os

# 读取本地/项目的环境变量。

# find_dotenv()寻找并定位.env文件的路径
# load_dotenv()读取该.env文件,并将其中的环境变量加载到当前的运行环境中  
# 如果你设置的是全局的环境变量,这行代码则没有任何作用。
_ = load_dotenv(find_dotenv())

client = OpenAI()

prompt = "今天我很" #改我试试
# 使用openai中的api完成chatgpt的模型调用
response = client.completions.create(
    # chatgpt背后的模型
    model = "gpt-3.5-turbo-instruct",
    # 向chatgpt提出的问题
    prompt = prompt,
    # 返回的最大字符个数
    max_tokens = 20,
    temperature = 0.5, # temperature(温度)参数,范围是 0~2,它用于控制随机性。
    stream = True
)

for chunk in response:
    message = chunk.choices[0].text
    print(message, end='')

# 打印结果,如:
'''
    输出结果:
    高兴
    今天我因被告知我通过了一场重
'''


2、略深一点的通俗原理
用不严谨但通俗的语言描述大模型的工作原理:

1.大模型阅读了人类曾说过的所有的话。这就是机器学习,这个过程叫训练
2.把一串 token 后面跟着的不同 token 的概率记了下来。记下的就是参数,也叫权重
3.当我们给它若干 token,大模型就能算出概率最高的下一个 token 是什么。这就是生成,也叫推理
4.用生成的 token,再加上上文,就能继续生成下一个 token。以此类成更多文字

Token 是什么?
1.可能是一个英文单词,也可能是半个,三分之一个。可能是一个中文词,或者一个汉字,也可能是半个汉字(是把 unicode 做拆分,并不是直接把汉字拆分),甚至三分之一个汉字
2.大模型在开训前,需要先训练一个 tokenizer 模型。它能把所有的文本,切成 token

3、再深一点点
这套生成机制的内核叫Transformer 架构。但其实,transformer 已经不是最先进的了。

ChatGPT的温度

  • 在API调用中,有一个 temperature(温度)参数,范围是 0~2,它用于控制随机性。
  • 温度越低,确定性越强,随机性越低,越像机器,机器是没有温度的。如果参数为0,则每次调用时,只要prompt(问题)一样,生成结果都是一样的。
  • 温度越高,随机性越强,就有了智能的味道。当然也不能太高,如果设置为2时,它就会胡说八道。

用好 Al 的核心心法

OpenAl 首席科学家 llya Sutskever 说过:

数字神经网络和人脑的生物神经网络,在数学原理上是一样的。

所以,我们要:把AI当人看(认知层面)。
我们和凯文-凯利交流时,他说了类似的观点:「和人怎么相处,就和Al怎么相处。」
1.用「当人看」来理解 Al
2.用「当人看」来控制 Al
3.用「当人看」来说服用户正确看待 Al 的不足

如果把AI当作以前逻辑严密的机器去看待它,你会非常地不适,不知道怎么去用它,会各种瞧他不顺眼。你必须把他当人看,像对人一样去和他相处、去交流,去包容他,你就能更好地用好AI。

大模型应用架构

大模型技术分两个部分:
1.训练基础大模型:全世界只需要 1000 人做这个
2.建造大模型应用:所有技术人,甚至所有人,都需要掌握

大模型应用技术特点:门槛低,天花板高。

1. 典型的业务架构

  • Embedded 模式:AI嵌入,初步应用AI
  • Copilot 模式:AI辅助,多个环节用AI来实现
  • Agent 模式:AI智能体,全面用AI来实现

Agent 还太超前,Copilot 值得追求。

2. 技术架构

架构1:纯 Prompt。就像和一个人对话,你说一句,ta 回一句,你再说一句,ta再回一句……

架构2:使用了 Agent + Function Calling

即当你问AI问题时,AI会反问你问题,明确问题后,再回答结果

  • Agent:Al 主动提要求(即 Al 主动反向向你提问题)
  • Function Calling : Al 要求执行某个函数(相当于一个回调)
  • 场景举例:你问过年去哪玩,ta 先反问你有几天假

流程说明:
1、应用程序发一个 prompt,prompt 触发了大模型的 Agent
2、Agent 会给我们一个 Function Calling,告诉我们要去调用某一个函数(内部/外部APIs),等待函数返回结果,把拿到的结果再传给大模型。
3、大模型 response 最终结果。

架构3:使用了RAG (RAG = Embeddings + 向量数据库)

  • Embeddings(嵌入向量/词向量):是指将高维度的数据(文字、图片、音频等)映射到**低维度空间(N维的实数向量)**的过程。

即将文本/图片等数据转换为实数向量数据,方便向量数据库进行存储和相似度检索。

  • 向量数据库:把向量存起来,方便查找
  • 向量搜索:根据输入向量,找到最相似的向量

场景举例:考试时,看到一道题,到书上找相关内容,再结合题目组成答案。然后,就都忘了

通俗的解释:
如,考试的时候,带上书本(书本就相当于是向量数据库,里面存的是考试内容知识点)。当应用程序发一个 prompt (问题)时,先到向量数据库中查找与问题相关的知识,然后把查找到的相关知识和问题一起丢给大模型,尽管大模型不懂这个知识,但是你把知识喂给了它,它会基于问题和知识给你生成一个合适的答案。

特点:大模型不懂知识,知识是存在向量数据库中(即知识存在书本上),大模型在答题时,要结合问题和向量数据库中相关知识点临时总结生成一个合适的答案(有点像开卷考试一样,人脑没有学习和记住相关知识,要去书本上查找相关知识点才能总结和提炼出答案)。

架构4:Fine-tuning 微调

就是考试不带书本,考试前努力学习考试内容,长期记住(知识存在脑子里,大模型懂知识),活学活用

大模型微调,是对历史数据进行训练,让大模型学会了某些知识。但是大模型是不知道一些实时数据,实时数据是需要通过大模型外部的一些方式获取(如:获取当前时间,通过内部/外部API方式获取;获取今日热点新闻,从RAG方式向量数据库中获取)

编程调用 OpenAl API

官方文档:https://platform.openai.com/docs/api-reference
本课程主要讲 OpenAl 的 GPT 系列大模型的使用,因为:

  • 在天花板上,才能看得够远
  • 其它大模型都在模仿 ta,更容易触类旁通

本课程的主打语言是 Python,因为:

  • Python 和Al 是天生的一对
  • Python 是最容易学习的编程语言
1. 安装 OpenAl Python 库

在命令行执行:pip install --upgrade openai

2. 发一条消息
# 这是一个Python调用ChatGPT的代码
# 引入必须的包
import openai
import os

# 加载 .env 文件到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())

# 初始化 OPENAI 服务。会自动从环境变量加载 OPENAI_API_KEY 和 OPENAI_BASE_URL
client = OpenAI()

# 消息格式
messages = [
    {
        "role": "system",
        "content": "你是AI助手小瓜,是AGI课堂的助教。这门课每周二、四上课。"
    },
    {
        "role": "user",
        "content": "哪天有课?"
    }
]

# 调用 GPT-3.5
chat_completion = client.chat.completions.create(
    # chatgpt背后的模型
    model = "gpt-3.5-turbo",
    messages = messages
)

# 输出回复
print(chat_completion.choices[0].message.content)

# 打印结果:这门课每周二、四有课。


问题与答疑

一、AI大模型在数据治理有什么应用?
1、用大模型对数据中非结构化数据做整理;
2、用自然语言直接查询数据 NL2SQL。

NL2SQL( Natural Language To SQL)是自然语言到结构化查询语言(SQL)的转换技术。它可以将自然语言的问题转化为数据库查询语言,以便直接与数据库交互进行数据查询和操作。顾名思义,是将用户输入的自然语言转为可执行的SQL语句。

二、文字、图像、视频大模型token区别
大语言模型是以文字为token;图像大模型是以图像为token;视频大模型是以视频帧/视频流为token;

三、为什么量化交易阶段不能用大模型?
1、大模型的运算速度是非常慢的,不具备实时性;
2、大模型有很强的幻觉。
在量化交易里面大模型一般可以做前期的情报分析,和做后期的数据分析总结。

四、大模型参数是什么?
参数就是一堆数据,数据里存的是权重,权重就是词与词之间的概率

五、通用大模型这么强大,还有做专业大模型的空间和价值吗?
通用大模型并不是什么都会,保持大面积的通用性就行,因为训练成本会很高。另外通用大模型不够专精,专业大模型参数少,训练成本低,比较专精更具性价比。

六、向量数据库
把数据放到向量数据库中,在对话的时候可以理解语义去向量检索,检索到相关内容并丢给大模型再回答最终结果。

七、大模型中 Turbo 表示是什么意思?

  • “Turbo” 在英文中通常指的是“涡轮增压”。
  • 在汽车领域中,它指的是通过增加发动机的进气压力来提高其功率和扭矩。
  • 在技术领域,“Turbo” 有时被用作一个营销术语,表示某种 增强版 或 加速版。

如:qwen-turbo、GPT-4 Turbo 表示是一个增强版模型,即该模型在性能、速度、准确性或其他方面有所优化或增强

八、大模型中 B 表示是什么意思?
在人工智能领域中,当我们提到“XXB”(例如:6B、34B)这样的术语时,它通常指的是模型的参数量,其中“B”代表“Billion”,即“十亿”。因此,6B表示模型有6十亿(即60亿)个参数,而34B表示模型有34十亿(即340亿)个参数。

说明:英文和中文的量词不一样,中文的量词更加细化
中文:个、十、百、千、万、十万、百万、千万、亿
英文:千(Thousand,简写:K)、百万(Million,简写:M)、十亿(Billion,简写:B)
一般来说参数量超过1B,也就是10亿的模型才叫大模型(Large Lanauage Model)

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。

标签:prompt,AI,模型,ai,token,dotenv,向量
From: https://blog.csdn.net/Galaxy_0/article/details/139838623

相关文章

  • 利用diagrams渲染mermaid为xml文件
    一、背景        利用chatllama的方法进行数据增广,接入chatgpt4o得到大量创建图表的mermaid代码。投喂大模型第一步就是将mermaid代码渲染成xml,为后续再将xml渲染成jpg提供铺垫。mermaid介绍        Mermaid是一种基于JavaScript的开源图表生成工具,使用......
  • 食品安全无小事:EasyCVR+AI技术助力食品加工厂管理透明化,构建食品安全防线
    一、背景需求近期有新闻记者曝光某省禽类屠宰加工厂脏乱差问题严重,工人脚踩鹅肠鸭肠混杂洗地水、烟头随手扔进鸭肠筐、污水捞出死鸭再上生产线…卫生情况十分堪忧。食品卫生安全频频出现负面新闻,如何实现源头治理?如何将各类食品安全风险隐患消灭在萌芽状态?随着社会的不断发展和......
  • MoneyPrinterPlus:AI自动短视频生成工具-阿里云配置详解
    MoneyPrinterPlus是一个很好的自动短视频生成工具,虽然是一个非常好的工具,但是有些小伙伴可能不太清楚具体应该如何配置才能让它跑起来。因为MoneyPrinterPlus依赖一些具体的配置信息,所以还是很有必要给大家讲解清楚如何进行配置。项目已开源,代码地址:https://github.com/ddean200......
  • 聚焦AIoT最后一公里:EasyCVR+AI视频技术在各领域的创新应用
    随着5G、AI、边缘计算、物联网(IoT)、云计算等技术的快速发展,万物互联已经从概念逐渐转变为现实,全新的行业生态AIoT正在开启新时代。巨大的市场潜力与AI等新兴技术不断融合形成的庞大市场缺口,深度场景化应用落地诉求不断攀升。视频技术,作为信息传输和交互的重要手段,正逐渐展现出其在......
  • 智慧城市低空+AI视频智能监控:构建新时代安全防线
    随着科技的飞速发展,智能监控技术已经广泛应用于各个领域,从城市治理到工业生产,从公共安全到环境监测,都发挥着越来越重要的作用。而在低空领域,AI视频智能监控方案的建设更是成为了一个热点话题。一、低空AI视频智能监控方案的特点低空AI视频智能监控方案的核心在于结合无人机、摄......
  • 使用Ollama+OpenWebUI本地部署阿里通义千问Qwen2 AI大模型
    ......
  • DAI功能简介
    Catalyst交换机上启用DHCPSnooping以及DAI(DynamicARPInspection)功能,目的是防止出现DHCP假冒以及ARP欺骗攻击。其中,DAI功能的实现需要借助DHCPSnooping建立的IP与MAC地址的绑定表。启用该功能后,发现交换机的某些端口每天不定时的发出大量ARP检测告警,告警发生时,相关联的PC无法......
  • 揭秘AI无人直播的核心功能 到底是割韭菜还是未来的核心竞争力呢
    AI无人直播平台具备以下核心功能:直播监控:借助先进的人工智能技术,平台能够实时、精细地监控直播画面,及时响应并处理异常情况,确保直播的流畅与稳定。不论是网络延迟、媒体传输问题还是用户投诉等,平台都能快速检测并采取相应措施,保障用户体验。无人直播咨询:yp2200227直播互动:平......
  • 远光全栈AIGC数字创新平台入选“大模型行业应用十大典范案例”
    6月4日至7日,由数字产业创新研究中心主办的2024中国数字企业峰会举行,远光软件自主研发的《全栈AIGC数字创新平台YG-JTGPT》凭借其卓越的AIGC技术创新实力与创新推广应用,成功入选“大模型行业应用十大典范案例”榜单。 本届峰会以“AI+数据x向未来”为主题,聚焦AI+融合创新......
  • 算法模型指标评估验证合集
    这个图表展示了二分类问题中常用的各种评价指标及其计算公式。以下是对每个指标的详细分析和总结:图表结构分析总样本数(Totalpopulation):(P+N):总样本数,包括正类样本和负类样本。实际情况(ActualCondition):正类(Positive,P):实际为正类的样本数。负类(Nega......