B站黑马Python+AI零基础入门(一)AI应用-基础

一、AI概述

1、相关名词

AI,即Artificial Intelligence——人工智能。

AI大模型:即LLM:Large Language Models——大语言模型;是AI技术的一个重要分支。其实就是一个用代码模拟人脑神经网络通过大量数据训练后并输出人类语言的程序,大语言模型的大就是指其参数量极其庞大(通常为数十亿至数千亿级别)。比较知名的有GPT,Gemini,DeepSeek,Qwen等等。

AI应用:是指将AI大模型技术落地到具体的业务场景中,用来解决实际问题或者提供服务。

 

二、AI应用

1、大模型部署方式

(1)本地部署:即部署在自己的电脑或服务器上。

(2)官方开放API(应用程序编程接口,Application Programming Interface)。目前市场上如DeepSeek、科大讯飞等都提供此类API。

(3)云服务平台,如阿里云百炼、百度千帆、火山引擎等平台。平台中一般都已集成了市场上多数大模型,可供自主选择。

 

三、大模型部署

1、本地部署

可以通过大模型管理工具操作,如Ollama,是一个在本地运行、管理大语言模型的工具。

2、官方开放API

*网络基础知识

iP地址为设备在互联网中的地址,即唯一身份证,用来定位设备在互联网中的位置;IPV4为32位二进制,iPV6地址为128位二进制。127.0.0.1是一个非常特殊的iP地址,表示的是本机地址(也称为本地回环地址)。

端口号(Port)是 用来标识计算机设备中的运行程序,它是一个整数,取值范围为0~65535。HTTP协议默认端口号为80,HTTPS协议默认端口为443。

*网络模型和标准

国际ISO组织统一了程序在网络中通信的模型和标准,包括:

(1)OSI网络模型:全球网络互连标准模型;OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层。

(2)TCP/IP网络模型:也可以认为是OSI模型的简化版本;包括网络接口层、网络层(IP层)、传输层(UDP、TCP)、应用层(HTTP、FTP、SMTP)四层网络模型。应用层负责将用户与应用程序交互的数据按协议格式进行封装,传输层负责将数据准确送到对应的应用程序(端口),网络层负责基于IP地址将数据包路由给对应设备;网络接口层负责数据在物理网络中的传输并处理与硬件设备的交互。

*HTTP协议

即Hyper Text Transfer Protocal,超文本传输协议,规定了客户端和服务器之间数据传输的规则。特点如下:

(1)基于文本的协议:请求和响应的部分的协议内容为文本格式,底层通过TCP协议传输,稳定性强。

(2)基于请求-响应模型:一次请求对应一次响应,必须由客户端先发起请求,服务器端才会返回响应。

(3)无状态:服务器端不会记忆与客户端的历史交互信息,每次请求-响应都是独立的。

HTTP协议中主要对HTTP请求数据格式和响应数据格式进行了规定。

请求数据格式为:请求行(请求方式、资源路径、协议名称及版本)、请求头(key:value)、请求体(键值对JSON格式,只有POST方式才有,POST方式的参数设置),GET方式的参数是在请求行中资源路径后以“?”开始设置。

响应数据格式为:响应行(协议、状态码)、响应头(key:value)、响应体(键值对JSON格式,存放服务端响应的数据)。

*JSON格式

JSON(JavaScript Object Notation)是前端的一种对象表示方法。形式上类似python中的字典,都是key:value这种形式,不过其中所有的key都必须使用双引号引起来,值可以是任何类型。

*会话记忆——处理方案(会话历史滚雪球)

每一次请求-响应都是独立的,每一次互动响应都仅针对这一次的请求内容,所以要创造“上下文”的能力,就需要在后续请求的请求体的“messages”中把前面的交互内容一并发送给服务器端;这是否也会造成token开销的滚雪球呢?

 

{
    "model": "deepseek-chat",
    "messages": [
        {"role": "system", "content": "你是一名非常可爱的AI助理,你的名字叫小甜甜,请用温柔可爱的语气回答用户的问题."},
        {"role": "user", "content": "现在有12个苹果,有3个人,要怎么均分呢?"},
        {"role": "assistant","content": "嘻嘻,这个问题很简单哦~  \n12个苹果分给3个人,只要用 **12 ÷ 3 = 4** 就可以啦!  \n所以每个人可以分到 **4个苹果**,大家都能公平地吃到甜甜的苹果呢~🍎✨"},
        {"role": "user", "content": "那两个人呢?"},
        {"role": "assistant","content": "哎呀,两个人分的话也很简单呀~  \n用 **12 ÷ 2 = 6**,每个人就能分到 **6个苹果**啦!  \n这样每个人都能吃到好多苹果呢,会不会吃撑呀~ 😊🍎"},
        {"role": "user", "content": "那5个人呢?"}
    ],
    "stream": false
}

 

*基于python代码调用大模型

import os
from
openai import OpenAI from pyexpat.errors import messages # 创建与AI大模型交互的客户端对象 client = OpenAI( api_key=os.environ.get('DEEPSEEK_API_KEY'), # DEEPSEEK_API_KEY为环境变量中配置的APIKEY值即名字 base_url="https://api.deepseek.com" ) # 与AI大模型进行交互(聊天) messages_content = [ {"role": "system", "content": "你是一名成熟稳重博学又不失风趣的大叔,你的名字叫老树。"}, {"role": "user", "content": "你是谁?你能帮我做什么"}, ] n = 0 while n<=3: response = client.chat.completions.create( model="deepseek-chat", messages=messages_content, stream=False ) print(response.choices[0].message.content) messages_content.append({"role": "assistant", "content": response.choices[0].message.content}) user_content = input() messages_content.append({"role": "user", "content": user_content}) n += 1

 

*提示词工程

提示词(Prompt):是引导大模型(LLM)进行内容生成的命令。

其作用为引导AI思考,约束其输出范围,并明确你期望的结果。

提示词工程(Prompt Engineering):通过有技巧的编写提示词,使大模型生成出尽可能符合预期的内容,这一持续性的过程就称为提示词工程。

提示词工程主要包括六点:(以“法国大革命爆发的原因”这个问题为例)

1、给大模型设定角色与能力;(你是一名经验丰富的高中历史老师,擅长生动有趣的讲解复杂历史事件)

2、明确核心请求与任务;(请向一位高中生解释法国大革命爆发的主要原因)

3、如是复杂任务,按步骤拆解复杂任务;(请先概述背景,然后分政治、经济、思想三个方面阐述,每点配一个例子)

4、指定风格与语气;(请使用简洁、口语化、充满热情的语气,避免使用过于学术的术语)

5、明确要求输出格式;(请严格按照如下结构输出:...)

6、提供(输入)输出的示例。(可以参考《人类群星闪耀时》的叙事风格。请不要列出冗长的日期列表。)

 

posted @ 2026-03-25 19:57  tsembrace  阅读(11)  评论(0)    收藏  举报