Python 真零基础入门:从 “什么是编程” 到 LLM Prompt 模板生成

一、真零门槛启蒙:到底什么是 "编程" 和 "LLM"?

(一)什么是 "编程"?用最通俗的话讲透

你可能听过 "编程""代码",但不知道它们到底是什么 ------ 其实编程就是「人类用计算机能懂的 "极简语言",给计算机写 "任务清单"」

举个类比:你给室友写了一张家务清单 ------「1. 倒垃圾 2. 买奶茶 3. 擦桌子」,室友能看懂并执行;编程就是给计算机写一张 **"计算机能看懂的清单"**:比如让计算机重复说 3 次 "我在学习 Python+LLM",用 Python(最接近人类语言的计算机语言)写出来是:

复制代码
# 这是给人类看的"注释"(说明代码的作用,计算机不会执行)
for i in range(3):  # 让计算机"重复做3次"
    print("我在学习Python+LLM")  # 让计算机"说这句话"

这段代码的逻辑和人类的 "重复 3 次 XX" 完全一致,这就是 Python 的核心优势:小白能直接看懂,无需复杂的专业背景

(二)什么是 "LLM"?用 "超级管家" 类比讲透

LLM 是「大语言模型(Large Language Model)」的缩写,你可以把它理解成一个 "看过几千万亿文本的超级管家"

  • 它 "学习" 了全世界公开的小说、论文、新闻、代码等所有文本,记住了文本的「语义规律」;
  • 当你给它发一个「需求文本(业内叫Prompt,比如 "帮我写电商客服的回复")」,它会根据 "学习" 的规律生成符合逻辑的新文本。

但 LLM 有个核心 "小秘密":它不会直接 "读" 汉字 / 英文 ,会把所有文本拆成「语义小片段(业内叫Token )」------ 比如 "我是电商客服" 会拆成['你', '是', '电', '商', '客', '服', ',', '我', '想', '了', '解']这类语义单元,再把每个片段转换成计算机能懂的数字编码。这个 "拆分成 Token 再编码" 的过程,是 LLM 能 "理解" 文本的底层逻辑 ------ 我们后面会用 Python 代码可视化这个过程,让你直观看到 LLM 的 "思维方式"。

(三)为什么 Python 是开发 LLM 的 "首选语言"?

全球 90% 以上的 LLM 开发(包括 ChatGPT、文心一言的后端)都用 Python,核心原因有 3 个:

  1. 语法最接近自然语言:无需学习复杂的符号,像写作文一样写代码;
  2. LLM 生态最完善 :有transformers/openai等现成的工具库,无需从零写 LLM 调用逻辑;
  3. 兼容性最好:支持 Windows/macOS/Linux,能对接所有主流 LLM 平台。

二、LLM 开发环境搭建:100% 成功的零基础配置步骤

(一)Python 3.11 + 安装(必须用 3.11+,兼容所有 LLM 库)

1. Windows 系统步骤
  • 步骤 1:打开 Python 官方网站,点击「Download Python 3.11.8」(最新稳定版,兼容所有 LLM 库);
  • 步骤 2 :下载完成后双击安装包,必须勾选「Add Python 3.11 to PATH」(否则无法在命令行直接运行 Python);
  • 步骤 3:点击「Install Now」,等待安装完成(约 1-2 分钟);
  • 步骤 4 :验证安装:按下Win+R输入cmd打开命令行,输入python --version,显示「Python 3.11.8」则安装成功。
2. macOS 系统步骤
  • 步骤 1:打开 Python 官方网站下载「Python 3.11.8 macOS Installer」;
  • 步骤 2:双击安装包,默认设置点击「Continue」至安装完成;
  • 步骤 3 :验证安装:打开「Terminal」(终端),输入python3 --version,显示「Python 3.11.8」则安装成功。
3. Linux 系统步骤
  • 步骤 1 :打开终端,输入sudo apt update && sudo apt install python3.11 python3-pip(Ubuntu/Debian 系统);
  • 步骤 2 :验证安装:输入python3 --version,显示「Python 3.11.8」则安装成功。

(二)PyCharm 社区版安装(免费的 LLM 开发 IDE)

IDE 是「集成开发环境」,是写 Python 代码的 "专业编辑器",我们选择PyCharm 社区版(免费、功能足够满足 LLM 开发):

  • 步骤 1:打开 JetBrains 官网,点击「Download」下载「Community Edition」;
  • 步骤 2:双击安装包,默认设置安装完成;
  • 步骤 3 :打开 PyCharm,点击「New Project」,选择「Pure Python」,设置项目路径(比如D:\LLM-Python-Study),点击「Create」创建项目;
  • 步骤 4:配置 Python 解释器:点击「File」→「Settings」→「Project: LLM-Python-Study」→「Python Interpreter」,选择刚才安装的「Python 3.11.8」,点击「OK」。

(三)LLM 核心库安装(配置国内镜像源,避免下载慢)

默认的 Python 库下载地址在国外,速度很慢,我们先配置国内清华镜像源

  • Windows :命令行输入pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • macOS/Linux :终端输入pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

然后安装 LLM 开发必须的transformers 库(用来可视化 LLM 的 Token 机制):

  • Windows :命令行输入pip install transformers
  • macOS/Linux :终端输入pip3 install transformers

安装完成后,在 PyCharm 中新建一个test_llm.py文件,输入以下代码验证:

复制代码
from transformers import AutoTokenizer  # 导入LLM工具包中的Token可视化工具
print("LLM库安装成功!")

点击 PyCharm 右上角的「Run」按钮,输出「LLM 库安装成功!」则配置完成。


三、Python 核心语法 1:注释 ------ 给 LLM 写 "开发说明书"

注释是给人类看的代码说明 ,计算机不会执行,是 LLM 开发中保证代码可维护的核心(比如记录 Prompt 的设计思路、API 参数的含义)。Python 支持两种注释:

(一)单行注释(用#开头)

用于简短说明单句代码的作用,LLM 开发中常用于标注变量、函数的含义:

复制代码
# LLM的模型名称(ChatGPT的轻量版)
llm_model = "gpt-3.5-turbo"
# LLM的温度参数(0-2,0=严谨,2=随机)
llm_temperature = 0.7

(二)多行注释(用"""'''包裹)

用于详细说明一段代码的作用 ,LLM 开发中常用于标注复杂的 Prompt 模板设计思路、系统提示词的要求:

复制代码
"""
多行注释:LLM系统提示词的设计要求
1. 身份:电商客服
2. 规则:仅回答商品相关问题
3. 风格:简洁明了,不超过20字
"""
system_prompt = "你是电商客服,仅回答商品相关问题,回答简洁。"

四、Python 核心语法 2:变量与基础数据类型 ------LLM 的 "数据容器"

变量是给数据起的 "外号" ,不同类型的数据需要用不同的 "容器"(数据类型)存储,LLM 开发中仅用以下 4 种核心数据类型

(一)数字类型:LLM 的 "计数工具"

用于统计、计算的数值,分为两种:

  1. 整数(int) :没有小数点的数字,LLM 场景示例:
    • token_limit = 4096(LLM 的上下文窗口限制,即最多处理 4096 个 Token)
    • api_request_count = 100(LLM 的批量 API 请求次数)
  2. 浮点数(float) :带小数点的数字,LLM 场景示例:
    • llm_temperature = 0.7(LLM 的随机性参数)
    • product_price = 29.9(商品价格,用于生成带价格的 Prompt)

LLM 场景示例代码

复制代码
# 整数:LLM上下文窗口限制(Token数量)
token_limit = 4096
# 浮点数:LLM温度参数(随机性)
llm_temperature = 0.7
# 浮点数:商品价格
product_price = 29.9

print("LLM上下文窗口限制:", token_limit)
print("LLM温度参数:", llm_temperature)
print("商品价格:", product_price)

运行结果

复制代码
LLM上下文窗口限制: 4096
LLM温度参数: 0.7
商品价格: 29.9

(二)布尔值(bool):LLM 的 "开关 / 判断工具"

用于 ** 表示 "是 / 否""真 / 假"** 的逻辑值,只有两个取值:True(真 / 是)和False(假 / 否),LLM 场景示例:

  • is_token_over_limit = True(判断 Prompt 的 Token 数量是否超过限制)
  • is_api_request_valid = False(判断 LLM API 请求是否有效)

LLM 场景示例代码

复制代码
# 布尔值:判断Prompt的Token数量是否超过限制
is_token_over_limit = False
# 布尔值:判断LLM API请求是否有效
is_api_request_valid = True

print("Token是否超限:", is_token_over_limit)
print("API请求是否有效:", is_api_request_valid)

运行结果

复制代码
Token是否超限: False
API请求是否有效: True

(三)字符串(str):LLM 的 "文本容器"

用于存储文本 的数据类型,用""''包裹,是 LLM 开发中最常用的数据类型------ 所有的 Prompt、用户提问、LLM 回答都是字符串:

字符串基础操作(LLM 场景必用)

  1. 单行字符串user_question = "苹果15手机壳的发货时间"

  2. 多行字符串 :用"""包裹,用于 LLM 的长 Prompt 模板:

    复制代码
    # 多行字符串:LLM的长Prompt模板
    long_prompt = """
    你是电商客服,回答以下用户问题:
    1. 仅回答商品相关问题
    2. 回答要简洁明了
    3. 包含商品价格信息
    """
  3. 字符串拼接 :用+f-string拼接,用于动态生成 LLM Prompt:

    复制代码
    # 变量:商品名称
    product_name = "苹果15手机壳"
    # 变量:用户问题
    user_question = "发货时间"
    # f-string动态拼接(推荐,Python 3.6+支持)
    dynamic_prompt = f"帮我查询{product_name}的{user_question}"
    print("动态生成的LLM Prompt:", dynamic_prompt)

    运行结果

    复制代码
    动态生成的LLM Prompt: 帮我查询苹果15手机壳的发货时间

五、Python 核心语法 3:函数 ------LLM 的 "重复操作打包器"

函数是把常用的重复操作 "打包成一个盒子" ,需要时直接调用即可,LLM 开发中常用于封装重复的 Prompt 生成、Token 统计、API 参数构建逻辑,避免重复写代码。

(一)函数的基础语法(零门槛理解)

函数的结构就像 "烤奶茶的机器":

  • def:告诉计算机 "这是一个函数"
  • 函数名:机器的名称(比如make_milk_tea
  • 参数:机器的 "原料入口"(比如tea_type/sugar
  • ::函数的开始标志
  • 函数体:机器的 "操作步骤"(必须缩进)
  • return:机器的 "成品出口"(返回结果)

(二)LLM 场景绑定:函数的实战应用

我们用函数封装 LLM 的 Prompt 生成逻辑 ,参数是product_name/user_question,返回值是full_prompt(完整的 LLM Prompt)和token_count(Prompt 的 Token 数量):

1. 函数定义(打包重复操作)
复制代码
# 导入LLM Token统计工具
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("hfl/chinese-roberta-wwm-ext")

# 定义函数:生成LLM的Prompt并统计Token数量
def generate_llm_prompt(product_name, user_question):
    # 函数体1:生成系统提示词
    system_prompt = "你是电商客服,仅回答商品相关问题,回答简洁。"
    # 函数体2:生成用户提问Prompt
    user_prompt = f"我想了解{product_name}的{user_question}"
    # 函数体3:拼接完整的LLM Prompt
    full_prompt = system_prompt + "\n用户:" + user_prompt + "\nLLM:"
    # 函数体4:统计Token数量
    token_count = len(tokenizer.tokenize(full_prompt))
    # 返回结果(成品出口)
    return full_prompt, token_count
2. 函数调用(使用打包好的操作)
复制代码
# 调用函数:查询苹果15手机壳的发货时间
prompt1, token1 = generate_llm_prompt("苹果15手机壳", "发货时间")
# 调用函数:查询华为Mate60手机壳的价格
prompt2, token2 = generate_llm_prompt("华为Mate60手机壳", "价格")

print("【苹果15手机壳的Prompt】:")
print(prompt1)
print("Token数量:", token1)
print("\n【华为Mate60手机壳的Prompt】:")
print(prompt2)
print("Token数量:", token2)
3. 运行结果
复制代码
【苹果15手机壳的Prompt】:
你是电商客服,仅回答商品相关问题,回答简洁。
用户:我想了解苹果15手机壳的发货时间
LLM:
Token数量: 42

【华为Mate60手机壳的Prompt】:
你是电商客服,仅回答商品相关问题,回答简洁。
用户:我想了解华为Mate60手机壳的价格
LLM:
Token数量: 41

LLM 落地性 :将生成的full_prompt直接复制到 ChatGPT / 文心一言等平台,即可获得符合要求的回答。


六、LLM 核心底层:用 Python 可视化 Token 机制

我们用transformers 库可视化 LLM 的 Token 拆分过程,让你直观看到 LLM 的 "思维方式":

(一)Token 可视化完整代码

复制代码
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("hfl/chinese-roberta-wwm-ext")

# LLM的完整Prompt
full_prompt = "你是电商客服,仅回答商品相关问题\n用户:苹果15手机壳的发货时间\nLLM:"

# 1. 拆分Prompt为Token
tokens = tokenizer.tokenize(full_prompt)
# 2. 转换为数字编码
token_ids = tokenizer.convert_tokens_to_ids(tokens)
# 3. 统计Token数量
token_count = len(tokens)

print("LLM拆分的Token:", tokens)
print("Token的数字编码:", token_ids)
print("Prompt的Token数量:", token_count)

(二)运行结果(部分)

复制代码
LLM拆分的Token: ['你', '是', '电', '商', '客', '服', ',', '仅', '回', '答', '商', '品', '相', '关', '问', '题', '用', '户', ':', '苹', '果', '15', '手', '机', '壳', '的', '发', '货', '时', '间', 'L', 'L', 'M', ':']
Prompt的Token数量: 34

(三)Token 机制的 3 个核心规则(LLM 开发必须记住)

  1. Token 是语义单元:LLM 会把文本拆成有意义的小片段(比如 "15" 作为一个完整 Token,"电商" 拆成 "电""商");
  2. 上下文窗口限制:所有 LLM 都有 "最大 Token 数量限制"(比如 GPT-3.5-turbo 是 4096),超过限制的 Prompt 会被截断,导致 LLM 回答错误;
  3. Token 计数工具 :用len(tokenizer.tokenize(prompt))可快速计算 Token 数量,这是 LLM 开发的 "必备技能"。

七、实战:用函数封装的 LLM 智能客服 Prompt 系统

我们用前面学的所有语法 (注释、变量类型、函数)构建一个可复用的 LLM 智能客服 Prompt 系统,支持动态修改 LLM 身份、规则、商品名称、用户问题:

(一)实战完整代码

复制代码
# 导入LLM Token统计工具
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("hfl/chinese-roberta-wwm-ext")

"""
多行注释:LLM智能客服Prompt系统的设计要求
1. 功能:动态生成符合要求的LLM Prompt
2. 输入:LLM身份、规则、商品名称、用户问题
3. 输出:完整Prompt、Token数量、是否超限
"""

# -------------------------- 系统配置(可直接修改) --------------------------
# 布尔值:是否开启Token超限检查
check_token_limit = True
# 整数:Token限制
token_limit = 100

# -------------------------- 函数定义(打包核心逻辑) --------------------------
def create_kefu_prompt(llm_role, llm_rule, product_name, user_question):
    # 生成系统提示词
    system_prompt = f"你是{llm_role},{llm_rule}"
    # 生成用户提问
    user_prompt = f"我想了解{product_name}的{user_question}"
    # 拼接完整Prompt
    full_prompt = f"系统提示:{system_prompt}\n用户:{user_prompt}\nLLM:"
    # 统计Token数量
    token_count = len(tokenizer.tokenize(full_prompt))
    # 判断是否超限
    if check_token_limit:
        is_over_limit = token_count > token_limit
    else:
        is_over_limit = False
    # 返回结果
    return full_prompt, token_count, is_over_limit

# -------------------------- 系统调用(使用核心逻辑) --------------------------
# 测试用例1:苹果15手机壳的发货时间
prompt1, token1, over1 = create_kefu_prompt(
    llm_role="专业电商客服",
    llm_rule="仅回答商品相关问题,回答简洁明了",
    product_name="苹果15手机壳",
    user_question="发货时间和快递方式"
)

# 测试用例2:华为Mate60手机壳的材质
prompt2, token2, over2 = create_kefu_prompt(
    llm_role="专业电商客服",
    llm_rule="仅回答商品相关问题,回答包含细节",
    product_name="华为Mate60手机壳",
    user_question="材质和防摔性能"
)

# -------------------------- 结果输出 --------------------------
print("【测试用例1:苹果15手机壳】")
print("完整Prompt:", prompt1)
print("Token数量:", token1)
print("是否超限:", over1)
print("\n" + "-"*60 + "\n")

print("【测试用例2:华为Mate60手机壳】")
print("完整Prompt:", prompt2)
print("Token数量:", token2)
print("是否超限:", over2)
print("\n✅ 系统运行完成!")

(二)运行结果

复制代码
【测试用例1:苹果15手机壳】
完整Prompt: 系统提示:你是专业电商客服,仅回答商品相关问题,回答简洁明了
用户:我想了解苹果15手机壳的发货时间和快递方式
LLM:
Token数量: 48
是否超限: False

------------------------------------------------------------

【测试用例2:华为Mate60手机壳】
完整Prompt: 系统提示:你是专业电商客服,仅回答商品相关问题,回答包含细节
用户:我想了解华为Mate60手机壳的材质和防摔性能
LLM:
Token数量: 50
是否超限: False

✅ 系统运行完成!

(三)实战的核心价值

  1. 可复用性 :修改llm_role/llm_rule即可快速切换 LLM 的身份和规则,避免重复写代码;
  2. 合规性:自动检查 Token 数量,避免超过 LLM 的上下文限制;
  3. 可扩展性:可轻松添加更多功能(比如 API 调用、语料清洗);
  4. 落地性:直接对接 LLM 平台,可快速生成符合要求的回答。

八、零基础避坑指南:10 个必踩的新手错误

(一)函数定义缺少def:

错误generate_prompt(product_name, user_question)后果 :代码报错(SyntaxError);正确def generate_prompt(product_name, user_question):

(二)字符串拼接时类型不匹配

错误prompt = "Token数量:" + 4096(字符串 + 整数);后果 :代码报错(TypeError);正确prompt = "Token数量:" + str(4096)(转换为字符串)或prompt = f"Token数量:{4096}"(f-string 自动转换)。

(三)布尔值拼写错误

错误is_valid = true(小写);后果 :代码报错(NameError);正确is_valid = True(首字母大写)。

(四)函数调用时参数数量不匹配

错误generate_prompt("苹果15手机壳")(缺少用户问题参数);后果 :代码报错(TypeError);正确generate_prompt("苹果15手机壳", "发货时间")(参数数量与定义一致)。

(五)多行注释的引号不匹配

错误"""LLM系统提示词(缺少闭合引号);后果 :代码报错(SyntaxError);正确"""LLM系统提示词"""(首尾引号一致)。


九、本文核心总结

  1. 零门槛理解:编程是给计算机写 "自动化操作手册",LLM 是 "超级文案专员",Python 是最适合的开发语言;
  2. 核心语法补全
    • 注释 :单行(#)、多行("""),用于记录 LLM 的开发说明;
    • 变量类型:数字(整数 / 浮点数,用于统计 Token、API 参数)、布尔值(用于判断是否超限 / 有效)、字符串(用于存储 Prompt、用户提问);
    • 函数:封装重复的 LLM 操作(Prompt 生成、Token 统计),提高代码复用性;
  3. LLM 场景绑定:所有语法都直接对接 LLM 的真实开发需求(Prompt 生成、Token 统计、API 参数);
  4. 实战落地 :构建了可复用的 LLM 智能客服 Prompt 系统,代码可直接用于 ChatGPT / 文心一言等平台;
  5. 避坑指南:掌握了 10 个零基础必踩的错误,避免后续开发出错。

下一篇我们将学习《Python 数据类型:LLM 语料与 API 参数的底层处理逻辑》,讲解如何用 Python 处理批量 LLM 语料和 API 请求参数。

相关推荐
虹科网络安全1 小时前
艾体宝洞察 | 生成式AI上线倒计时:Redis如何把“延迟”与“幻觉”挡在生产线之外?
数据库·人工智能·redis
Java后端的Ai之路2 小时前
【神经网络基础】-深度学习框架学习指南
人工智能·深度学习·神经网络·机器学习
hakesashou2 小时前
python 随机函数可以生成字符串吗
开发语言·python
熬夜敲代码的小N2 小时前
从SEO到GEO:AI时代内容优化的范式革命
大数据·人工智能·计算机网络
FakeOccupational2 小时前
【经济学】 基本面数据(Fundamental Data)之 美国劳动力报告&非农就业NFP + ADP + 美国劳动力参与率LFPR
开发语言·人工智能·python
weixin_413063212 小时前
测试《A Simple Algorithm for Fitting a Gaussian Function》拟合
python·算法
smileNicky2 小时前
2025 技术创作与实战:深耕数据库、中间件与 AI 应用的进阶之路
数据库·人工智能·中间件
凌乱风雨12112 小时前
使用Vite+ Lit 构建webcomponent 组件
人工智能·语言模型
weisian1512 小时前
入门篇--知名企业-3-Google DeepMind:从AlphaGo到AGI,AI如何改写人类未来?
人工智能