大模型工具落地实战:从环境搭建到业务代码开发
一、文档简介
本文聚焦大模型工具工程化落地,讲解基础环境配置、核心调用逻辑与业务场景代码实现,帮助开发者快速完成大模型能力集成,适用于AI应用开发、后端服务对接等实战场景。
二、环境准备
2.1 依赖安装
本次实战基于Python实现,主要使用openai通用大模型调用库、python-dotenv管理密钥配置,执行以下命令安装依赖:
pip install openai python-dotenv
2.2 配置文件创建
在项目根目录新建.env文件,存放大模型接口地址、密钥等敏感信息,避免硬编码泄露:
# 大模型接口密钥
API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 接口请求地址
BASE_URL=https://api.example.com/v1
# 模型名称
MODEL_NAME=glm-4
三、核心代码实现
3.1 基础配置加载
通过dotenv读取环境变量,统一初始化大模型客户端,代码复用性更强。
from openai import OpenAI
from dotenv import load_dotenv
import os
# 加载环境变量
load_dotenv()
# 初始化客户端
client = OpenAI(
api_key=os.getenv("API_KEY"),
base_url=os.getenv("BASE_URL")
)
model = os.getenv("MODEL_NAME")
3.2 单轮对话调用
实现最常用的单轮问答能力,支持自定义提问、设置生成长度与随机度,适配普通咨询、内容生成场景。
def single_chat(question: str) -> str:
"""
单轮大模型对话
:param question: 用户提问
:return: 模型返回结果
"""
try:
response = client.chat.completions.create(
model=model,
messages=[
{
"role": "user", "content": question}
],
temperature=0.7, # 随机性,0-1之间
max_tokens=1024 # 最大输出字符数
)
return response.choices[0].message.content.strip()
except Exception as e:
return f"请求异常:{str(e)}"
# 调用测试
if __name__ == "__main__":
res = single_chat("简述大模型在企业业务中的落地场景")
print("模型回复:\n", res)
3.3 多轮上下文对话
多轮对话保留历史聊天记录,实现连续交互,适用于智能客服、专属助手等场景。
def multi_chat(chat_history: list, new_msg: str) -> tuple[list, str]:
"""
多轮上下文对话
:param chat_history: 历史对话列表
:param new_msg: 最新用户消息
:return: 更新后的对话记录、模型回复
"""
chat_history.append({
"role": "user", "content": new_msg})
try:
response = client.chat.completions.create(
model=model,
messages=chat_history,
temperature=0.6
)
reply = response.choices[0].message.content.strip()
chat_history.append({
"role": "assistant", "content": reply})
return chat_history, reply
except Exception as e:
return chat_history, f"请求异常:{str(e)}"
# 多轮对话测试
if __name__ == "__main__":
history = []
history, ans1 = multi_chat(history, "介绍下Python开发大模型应用的优势")
print("第一轮回复:", ans1)
history, ans2 = multi_chat(history, "那开发中有哪些常见坑点?")
print("第二轮回复:", ans2)
四、代码说明与优化建议
- 参数说明:
temperature控制内容发散程度,正式业务场景建议设置0.3~0.7;max_tokens根据业务需求限制输出长度,避免资源浪费。 - 异常处理:代码中增加基础异常捕获,生产环境可扩展超时重试、限流判断、日志记录等逻辑。
- 安全规范:密钥统一存放在
.env文件,严禁提交至代码仓库,企业级项目可对接密钥管理服务。 - 性能优化:高并发场景建议使用异步请求,替换同步调用方式,提升接口响应效率。
五、运行效果
执行代码后,终端会正常输出大模型返回的文本内容。单轮对话可快速完成内容问答、文案生成;多轮对话可保持上下文逻辑连贯,满足连续交互需求。整套代码结构简洁,可直接嵌入后端接口、桌面程序、自动化工具中使用。
海量精选技术文档和实战案例持续更新,敬请关注【风骏时光少年】