news 2026/5/12 1:01:30

第 1 周 Day 3:Python Agent 调用大模型 API:封装 LLMClient

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第 1 周 Day 3:Python Agent 调用大模型 API:封装 LLMClient

第 1 周 Day 3:Python Agent 调用大模型 API:封装 LLMClient

学习主题:用 Python 调用大模型 API,并封装成可复用客户端
建议时长:2-3 小时
学习目标:理解一次大模型请求包含哪些信息,完成一个LLMClient类,为命令行 ChatBot 做准备

一、为什么学这个

本文适合已经完成 Python 虚拟环境和.env配置的学习者。如果你还没有准备好项目目录,可以先完成上一篇文章中的环境搭建。

第一阶段的目标是做一个命令行多轮对话 ChatBot。它的核心只有两件事:

  • 用户输入问题
  • 程序调用大模型 API,拿到回答并打印出来

如果直接在main.py里写 API 调用,短期能跑,长期会乱。更好的做法是封装一个LLMClient

main.py 负责命令行交互 LLMClient 负责和大模型 API 通信

这样后面加重试、日志、token 统计、模型切换时,只需要改一个地方。

二、核心概念

1. 一次大模型请求包含什么

一次最基础的大模型调用通常包含:

字段含义
model使用哪个模型
instructions系统级要求,可以理解为角色和规则
input用户输入或多轮消息
temperature控制回答随机性,入门阶段可以先不用调

在 OpenAI 的 Responses API 中,最简单的调用方式类似这样:

fromopenaiimportOpenAI client=OpenAI()response=client.responses.create(model="gpt-5.2",input="用一句话解释什么是 Python Agent")print(response.output_text)

这段代码适合快速测试。但在项目里,我们会把它封装起来。

2. System Prompt 和用户输入的区别

很多初学者会把所有内容都放进用户输入里,例如:

你是 Python 助教,请回答:什么是列表?

更清晰的做法是把角色要求放进instructions,把用户真实问题放进input

response=client.responses.create(model="gpt-5.2",instructions="你是一个耐心的 Python 编程助教,回答要适合初学者。",input="什么是列表?")

这样做的好处是职责清楚:

  • instructions:模型应该如何表现
  • input:用户当前问了什么

3. 为什么要封装客户端

封装LLMClient的目的不是炫技,而是降低后面代码的复杂度。你希望在main.py中这样调用:

reply=llm.chat("什么是 Agent?")print(reply)

而不是每次都写完整的client.responses.create(...)

三、基础示例

下面基于上一篇文章的目录继续写:

python-agent-chatbot/ └── src/
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 0:57:20

美政府AI主管:Anthropic 将在 18 个月内成为人类历史最有价值公司

Anthropic 已经成为人工智能革命中最成功的案例之一,但这或许还不是全部。风险投资家兼美国政府人工智能和加密货币沙皇大卫萨克斯在 All-In播客节目中提出了一个惊人的说法:Anthropic 不仅有望成为科技界最强大的公司,而且有望成为人类历史上…

作者头像 李华
网站建设 2026/5/12 0:57:14

别再死记硬背了!用Python模拟金属-半导体接触的能带弯曲与电势差

用Python动态模拟金属-半导体接触的能带弯曲现象 半导体物理中,金属与半导体接触形成的能带弯曲现象是理解肖特基势垒和欧姆接触的关键。传统教材通常通过静态能级图展示这一过程,但缺乏动态变化和参数调整的直观性。本文将用Python构建一个交互式模型&a…

作者头像 李华
网站建设 2026/5/12 0:56:09

开源AI应用开发框架citadel-ai:模块化设计、智能体系统与实战指南

1. 项目概述:一个开源的AI应用开发框架最近在GitHub上闲逛,发现一个挺有意思的项目,叫citadel-ai。作者是nbabderrahmane,看名字像是个个人开发者。这个项目定位很清晰,就是一个开源的AI应用开发框架。说白了&#xff…

作者头像 李华