Python AI应用基础

Python AI应用基础

2026年9月16日·#已弃用Python/AI/大模型/HTTP·2454 字 12 分钟
浏览量加载中...
AI 摘要

AI基础概念、大模型部署方式、网络基础知识、HTTP协议、Apifox使用、提示词工程

一、初识AI#

什么是AI#

AI(Artificial Intelligence,人工智能),是一个学科领域的统称,目标就是使机器能够像人类一样思考、学习、推理和解决问题

什么是AI大模型#

AI大模型:也称为大语言模型(Large Language Models,LLM),是AI技术的一个分支。

  • 用代码模拟人脑神经网络的程序
  • 参数量极其庞大,通常达到数十亿至数千亿级别
  • 通过大量数据训练后,使其具备理解人类语言、思考、推理并输出人类语言的能力

二、大模型部署#

三种部署方式对比#

部署方式优点缺点
本地部署数据安全、自主可控、长期成本低初始成本高、需长期维护、性能受限
官方开放API前期成本低、无需部署和维护、随时访问隐私不能保障、长期成本高、可控性差
云服务平台前期成本低、无需部署和维护、选择度高安全及隐私不能保障、长期成本高

API概念#

API:应用程序编程接口(Application Programming Interface),是软件间的标准化的”桥梁”,允许开发者无需知晓内部细节即可调用外部功能或数据。

本地部署 - Ollama#

Ollama是一个在本地运行、管理大语言模型的工具。

官方开放API - DeepSeek#

主流的大模型(如:DeepSeek、Kimi等)官方都提供了开放API,无需部署,就可以直接调用访问。

使用步骤:

  1. 注册账号
  2. 登录DeepSeek
  3. 充值(1元)
  4. 创建API Key

三、大模型调用#

网络基础知识#

IP地址#

IP地址可以理解为就是设备在互联网中的地址(唯一身份证),每一个连入网络的设备都有一个自己的IP地址,用来定位设备在互联网中的位置。

类型说明
IPv4地址32位二进制
IPv6地址128位二进制
  • 每段范围:0~255
  • 127.0.0.1 是本机地址(本地回环地址)

域名#

域名(Domain Name),是由一串用点分隔的英文字母组成的。

  • IP地址不便于记忆,因此设计出了域名
  • 通过DNS(域名解析服务器)来将域名和IP地址相互映射,便于记忆和访问
  • localhost 为本机域名

端口#

端口号(Port)是整数,取值范围在0-65535,它是用来标识计算机设备中的运行中的程序。

网络基础知识小结#

概念作用
IP唯一定位一台互联网上的设备(127.0.0.1为本机地址)
域名降低IP地址的书写与记忆成本(localhost为本机域名)
端口每一个程序启动运行后都会占用一个端口(0-65535)

网络模型#

互联网(Internet)连接了数以亿计的设备,网络四通八达就如同城市的复杂的道路。网络中传输的数据就像是城市道路中的车流,如果不加以管理那必然会出现混乱。在国际ISO组织就统一了程序在网络中通信的模型和标准。

OSI七层网络模型#

层级名称
7应用层
6表示层
5会话层
4传输层
3网络层
2数据链路层
1物理层

TCP/IP四层网络模型#

层级名称协议作用
4应用层HTTP、FTP、SMTP将用户与应用程序交互的数据按照协议格式进行封装
3传输层UDP、TCP负责将数据准确送到对应的应用程序(端口)
2网络层IP负责基于IP地址将数据包路由给对应设备
1网络接口层-负责数据在物理网络中的传输,处理与硬件设备交互

HTTP协议#

HTTP(Hyper Text Transfer Protocol),超文本传输协议,规定了客户端和服务器之间数据传输的规则。

HTTP协议特点:

  1. 基于文本的协议:请求和响应的部分的协议内容为文本格式,底层通过TCP协议传输,稳定性强
  2. 基于请求-响应模型:一次请求对应一次响应,必须由客户端先发起请求,服务端才会返回响应
  3. 无状态:服务端不会记忆与客户端的历史交互信息,每次请求-响应都是独立的

HTTP请求数据格式#

POST /api/courses HTTP/1.1
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: keep-alive
Content-Length: 139
Content-Type: application/json
Host: localhost:90
Origin: http://localhost:90
Referer: http://localhost:90/resource/course
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/143.0.0.0
{"phone":"18808088080","channel":1,"name":"虎咆","gender":1,"age":"32"}
组成部分说明
请求行请求方式、资源路径、协议
请求头格式 key: value
请求体请求参数部分,GET方式没有,POST可以有

GET与POST的区别#

请求方式参数位置大小限制
GET请求参数在请求行中,没有请求体浏览器中有限制
POST请求参数在请求体中没有限制

HTTP响应数据格式#

HTTP/1.1 200
Server: nginx/1.24.0
Date: Tue, 16 Dec 2025 12:38:08 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
{code: 1, msg: "success", data: null}
组成部分说明
响应行协议、状态码
响应头格式 key: value
响应体存放服务端响应的数据

常见状态码#

状态码说明
200客户端请求成功
400请求参数错误
404请求资源不存在,url输入有误,或者网站资源被删除了
500服务器发生了不可预期的错误

Apifox#

Apifox是一款API设计、开发、测试的一体化协作平台,是项目开发中进行API接口测试的神器。

功能:

  • API设计(接口文档)
  • API开发&调试(后端开发)
  • API Mock(前端开发)
  • API文档(API使用者)
  • API自动化测试(测试工程师)

JSON格式#

JSON(JavaScript Object Notation)是前端的一种对象表示方法。表示形式类似于Python中的字典,都是key这种形式,不过所有的key都必须使用双引号引起来。

JSON数据类型:

类型说明示例
对象用{}表示,键是字符串,值可以是任意其它类型{"name": "jack"}
数字整数和小数都是数字123.14
字符串用""引起来"jack"
布尔有两种值:true或falsetruefalse
列表用[]表示,多个元素以,分割[1, 2, 3]

调用大模型的请求示例#

{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}

Headers设置#

参数名参数值
Content-Typeapplication/json
AuthorizationBearer sk-xxxx(API Key)

messages角色说明#

角色说明
system设定AI的身份和行为准则(回答的风格、限制、规则等)
user用户实际提出的问题或指令
assistantAI模型的回复/响应

会话记忆#

与AI大模型的交互本质是无状态的,每一次请求响应都是相互独立的。(AI大模型本身没有真正的会话记忆能力)

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

将历史对话记录一起发送给大模型,实现上下文理解:

{
"messages": [
{"role": "system", "content": "你是一名可爱的AI助手"},
{"role": "user", "content": "12个苹果,3个人怎么均分?"},
{"role": "assistant", "content": "每个人可以分到4个苹果"},
{"role": "user", "content": "那2个人呢?"},
{"role": "assistant", "content": "每个人可以分到6个苹果"},
{"role": "user", "content": "那4个人呢?"}
]
}

代码调用测试#

PyPI与pip#

  • PyPI:全称为 Python Package Index,是由Python官方和社区共同维护的Python第三方软件包的官方仓库
  • pip:pip是Python官方提供的Python包的管理工具,提供了对Python包的查找、下载、安装、卸载等功能

pip常用命令#

命令说明
pip install openai安装软件包(最新版本)
pip install openai==2.13.0安装软件包(指定版本)
pip uninstall openai卸载软件包
pip list列出已安装的包
pip show openai查看包详情

四、提示词工程#

提示词(Prompt):是引导大模型(LLM)进行内容生成的命令(一句话、一个问题等)。

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

提示词三要素#

要素说明示例
角色给大模型设定角色与能力你是一名经验丰富的高中历史老师,擅长生动有趣的讲解复杂历史事件
任务明确核心请求与任务请向一位高中生解释法国大革命爆发的主要原因
要求指定风格与语气、明确要求输出格式、提供输入输出的示例请使用简洁、口语化、充满热情的语气

六大提示技巧#

  1. 给大模型设定角色与能力:让AI有明确的身份定位
  2. 明确核心请求与任务:告诉AI具体要做什么
  3. 按步骤拆解复杂任务:将复杂问题分解为小步骤
  4. 指定风格与语气:控制AI回答的风格
  5. 明确要求输出格式:规定AI输出的结构
  6. 提供输入输出的示例:通过示例让AI理解期望

总结口诀#

  • AI大模型:模拟人脑神经网,海量参数训练出
  • 部署方式:本地部署安全稳,API调用成本低,云服务选择多
  • 网络三要素:IP定位设备,域名好记忆,端口找程序
  • HTTP协议:请求响应无状态,文本传输靠TCP
  • 请求格式:请求行+请求头+请求体,GET参数在URL,POST参数在体里
  • 响应格式:响应行+响应头+响应体,200成功404没,500服务器出问题
  • 会话记忆:大模型无状态,历史消息滚雪球
  • 提示词工程:角色任务加要求,六技巧出好答案

评论区

[ 标签 ]
# AI37# AI 编程2# AI工具1# Ajax2# Apifox1# AstrBot3# Astro2# CC Switch1# CDN2# Claude Code1# claudecode2# ClaudeCode1# Cloudflare2# CloudFlare2# CloudFlare-ImgBed3# coc3# CSS6# DeepSeek6# deepseek2# DELETE1# Docker1# EdgeOne3# Gist1# git1# GitHub1# hexo-circle-of-friends1# HTML6# HTTP5# ImageManager1# Java23# java13# JavaScript5# JDBC3# JSON2# JUnit1# LangChain25# Logback1# Maven6# Muse Spark1# Mybatis1# MyBatis4# MySQL28# MySql1# NapCat1# Node.js1# obsidian2# Obsidian5# OpenCode4# ORM1# PathVariable1# PicGo1# PyCharm1# Python65# RequestBody1# RequestMapping1# RESTful风格1# skills1# Slf4j1# SpringBoot11# SQL2# Streamlit5# Svelte2# TailwindCSS1# Telegram3# Tlias2# Vercel1# vscode2# Vue7# Waline3# WebDAV1# Web基础6# Web开发6# WinSCP1# YAML1# 三层架构1# 中二宣言1# 书籍1# 使用文档10# 写作1# 函数2# 刷步数1# 前端32# 动态1# 动漫1# 包1# 单词2# 博客7# 博客工作流1# 博客开发2# 参数接收1# 友链1# 反思2# 图床6# 地图1# 备份2# 大模型1# 奇思妙想1# 存储1# 学习方法6# 学校1# 宝塔面板3# 宝宝10# 对象1# 导航栏1# 工具2# 开发1# 开发工具1# 开发规范1# 开心1# 异常处理1# 影视2# 微信1# 性能优化2# 总结1# 想法15# 感受1# 感悟11# 指南1# 提示词工程1# 插件5# 故障排除1# 效率工具2# 教程10# 数据分析9# 数据库27# 数据结构1# 文件操作2# 斩神1# 日常92# 日志框架1# 朋友圈1# 朱元璋1# 模块1# 模板1# 正则表达式2# 测试1# 游戏2# 爬虫7# 生活迁移1# 电影2# 电脑1# 碎碎念1# 视觉识别1# 类1# 类型注解1# 网络基础2# 网络教室1# 羊毛2# 脚本2# 脚本工具1# 自动化2# 蓝奏云1# 订阅推荐2# 记录2# 评论系统1# 词根1# 词缀1# 说说1# 足迹1# 跑步2# 路径参数1# 转载2# 运动1# 部落冲突1# 配置1# 随机图1# 面向对象5# 音乐3# 音标1# 饮食1# 驼峰命名1# 高德地图1
[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]