https://helloagents.pro/#preface
目录
- (6)接入大模型(LLM)
-
- [为什么要 .env?](#为什么要 .env?)
- requirements.txt
- [API 到底是什么?](#API 到底是什么?)
- [什么是OpenAI SDK?](#什么是OpenAI SDK?)
- [SDK 和 API 是什么关系?](#SDK 和 API 是什么关系?)
- [(7)OpenAI SDK 的核心对象------Client](#(7)OpenAI SDK 的核心对象——Client)
-
- [什么是 Client(客户端)?](#什么是 Client(客户端)?)
- [创建 Client 的真正含义](#创建 Client 的真正含义)
- [真正重要的是 client.chat.completions.create()](#真正重要的是 client.chat.completions.create())
-
- [role 是什么意思?](#role 是什么意思?)
- [(8)第一次调用 LLM(真正的 AI)](#(8)第一次调用 LLM(真正的 AI))
-
- [第一步:安装 OpenAI SDK](#第一步:安装 OpenAI SDK)
- [第二步:创建 .env](#第二步:创建 .env)
- [第三步:创建 config.py](#第三步:创建 config.py)
- [第四步:创建 llm.py](#第四步:创建 llm.py)
- 第五步:第一次发送请求
- [response 到底是什么?](#response 到底是什么?)
- (9)发送第一条真正的大模型请求
-
- [第一步:创建 Client](#第一步:创建 Client)
- 第二步:发送请求
- 第三步:messages
- 第四步:response
- 第五步:usage
- 注册SiliconFlow(硅基流动)
- [(10)把 LLM 封装成可复用模块](#(10)把 LLM 封装成可复用模块)
-
- [第一步:修改 llm.py](#第一步:修改 llm.py)
- [第二步:创建测试文件 test_llm.py](#第二步:创建测试文件 test_llm.py)
- 升级llm.py
- 升级test_llm.py
(6)接入大模型(LLM)
LLM 只是根据 Tool 的描述做匹配。
hello_agent/
│
├── main.py # 程序入口
├── agent.py # Agent
├── tools.py # Tool
├── registry.py # Tool注册
├── llm.py # 调用LLM
├── config.py # API Key
├── requirements.txt
└── .env
为什么要 .env?
将
API_KEY="sk-xxxxxxxxxxxxxxxx"
直接放在代码中不规范。
requirements.txt
以后别人拿到项目直接
pip install -r requirements.txt
对应需要的全部环境就好了。
API 到底是什么?
API 就是:程序帮你完成这件事。
什么是OpenAI SDK?
SDK 全称是:
Software Development Kit(软件开发工具包)
别人帮你写好的一套代码,让你不用重复造轮子。
SDK = 别人写好的工具库。
OpenAI SDK是OpenAI 提供了一个官方 Python 库。
安装
pip install openai
安装以后
from openai import OpenAI
就是导入 OpenAI SDK。以后你就不用自己写 HTTP 请求。
SDK 和 API 是什么关系?
可以理解为:
API 是餐厅。
SDK 是服务员。
你:不用自己进厨房。只需要告诉服务员:我要一份牛肉面。
服务员:帮你下单。帮你端回来。
SDK 就是那个:服务员。
API 是大模型提供的能力,OpenAI SDK 是官方提供的 Python 工具,它把复杂的网络请求封装起来,让我们可以用几行 Python 代码调用大模型。
(7)OpenAI SDK 的核心对象------Client
几乎所有的Agent项目的第一行代码如下:
from openai import OpenAI
client = OpenAI(
api_key="你的API Key"
)
什么是 Client(客户端)?
Client 就是你的程序和大模型服务器之间的"通信员"。
创建 Client 的真正含义
创建一个能够访问 GPT 服务的客户端。
里面会保存:
API Key(你的身份)
Base URL(服务器地址)
网络连接配置
以后:所有请求都通过这个 client 发出去。
真正重要的是 client.chat.completions.create()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role":"user",
"content":"你好"
}
]
)
role 是什么意思?
目前先记三个。
system 告诉模型:你是谁。
{
"role":"system",
"content":"你是一名科研助手。"
}
user 用户说的话。
{
"role":"user",
"content":"你好"
}
assistant 模型以前说过的话。
{
"role":"assistant",
"content":"你好,有什么可以帮助你?"
}
(8)第一次调用 LLM(真正的 AI)
让 Python 和大模型真正说上第一句话。
第一步:安装 OpenAI SDK
打开 PyCharm 的 Terminal(不是 Python Console)。
输入:
pip install openai python-dotenv
安装完成后进行测试一下:
pip show openai
第二步:创建 .env
内容是:
OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxx
BASE_URL=https://xxxxxxxx
MODEL=xxxxxxxx
第三步:创建 config.py
py
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("OPENAI_API_KEY")
BASE_URL = os.getenv("BASE_URL")
MODEL = os.getenv("MODEL")
整个项目以后只从这里读取配置。
第四步:创建 llm.py
开始真正调用 SDK。
py
from openai import OpenAI
from config import API_KEY, BASE_URL
client = OpenAI(
api_key=API_KEY,
base_url=BASE_URL
)
第五步:第一次发送请求
py
from config import MODEL
response = client.chat.completions.create(
model=MODEL,
messages=[
{
"role":"user",
"content":"你好"
}
]
)
print(response)
response 到底是什么?
它就是:一个 Python 对象。
(9)发送第一条真正的大模型请求
SDK只是一个"快递员",真正回答问题的是远程服务器上的模型。
第一步:创建 Client
py
from openai import OpenAI
client = OpenAI(
api_key=API_KEY,
base_url=BASE_URL
)
只是创建了:一个能够和服务器通信的客户端。
第二步:发送请求
py
response = client.chat.completions.create(...)
第三步:messages
这是 Agent 最重要的数据结构。
py
messages = [
{
"role": "user",
"content": "你好"
}
]
第四步:response
服务器返回response
真正的回答在:
py
response.choices[0].message.content
第五步:usage
py
print(response.usage)
可能得到:
prompt_tokens=18
completion_tokens=62
total_tokens=80
之后收费会按照对应的token数来计算。
注册SiliconFlow(硅基流动)
选择Qwen/Qwen3.6-35B-A3B

创建API密钥

编写代码
.env
OPENAI_API_KEY=sk-sgdohmdslorteqctbnrfvxjadroixabksevwdqxzcydnukuv
BASE_URL=https://api.siliconflow.com/v1
MODEL=Qwen/Qwen3.6-35B-A3B
config.py
py
# API Key
import os
from dotenv import load_dotenv
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
BASE_URL = os.getenv("BASE_URL")
MODEL = os.getenv("MODEL")
llm.py
py
from openai import OpenAI
from config import OPENAI_API_KEY, BASE_URL, MODEL
client = OpenAI(
api_key=OPENAI_API_KEY,
base_url=BASE_URL
)
response = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "user", "content": "你好,请用一句话介绍你自己。"}
]
)
answer = response.choices[0].message.content
print(answer)
print("Token 使用情况:", response.usage)
控制台运行
cd C:\Users\findx\PycharmProjects\pythonProject\hello_agent
python llm.py

(10)把 LLM 封装成可复用模块
第一步:修改 llm.py
py
from openai import OpenAI
from config import OPENAI_API_KEY, BASE_URL, MODEL
client = OpenAI(
api_key=OPENAI_API_KEY,
base_url=BASE_URL
)
def chat(prompt: str) -> str:
response = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "user", "content": prompt}
]
)
return response.choices[0].message.content
第二步:创建测试文件 test_llm.py
py
from llm import chat
answer = chat("请用一句话解释什么是 Agent。")
print(answer)
运行:
python test_llm.py

升级llm.py
py
from openai import OpenAI
from config import OPENAI_API_KEY, BASE_URL, MODEL
client = OpenAI(
api_key=OPENAI_API_KEY,
base_url=BASE_URL
)
def chat(messages):
response = client.chat.completions.create(
model=MODEL,
messages=messages
)
return response.choices[0].message.content
升级test_llm.py
py
from llm import chat
messages = [
{
"role":"system",
"content":"你是一名Agent开发导师。"
},
{
"role":"user",
"content":"请介绍一下Agent。"
}
]
answer = chat(messages)
print(answer)