目的:使用大模型 API 搭建智能客服的标准流程,确保模型快速部署,稳定运行。

一.环境搭建

1.1安装python

下载后完成后,点击"win+R"进入终端输入python --version查看是否安装成功,如未安装请访问 https://python.org 下载安装,安装时必须勾选"Add Python to PATH"。

1.2安装依赖库

pip install openai

安装完成后可输入以下代码进行测试

from openai import OpenAI
print("环境成功下载")

二.获取API凭证

这篇文章我们以魔塔社区(https://modelscope.cn/)为例,完成调用大模型。

2.1获取自己的API

点击链接进入首页,首先我们点击左下角的访问控制。

在这里插入图片描述

默认只有一个default,可以创建新的访问令牌(Token),这步就是后续调用自己本地接口所需要的东西。

在这里插入图片描述

2.2选择调用的模型

点击模型库,里面有各种各样的的模型,根据自身所需选择合适的大模型。

在这里插入图片描述

三.核心代码

3.1完整代码结构

from openai import OpenAI
# ===== 1. 配置区 =====
client = OpenAI(
    base_url='https://api-inference.modelscope.cn/v1',
    api_key='你的-Token',
)
MODEL_NAME = 'stepfun-ai/Step-3.7-Flash'

# ===== 2. 角色设定区 =====
SYSTEM_PROMPT = """
你是 Jay,一名专业、热情、耐心的智能客服助手。

你的风格特点:
- 语气亲切但不啰嗦,像一位经验丰富的客服顾问
- 称呼用户为"您",偶尔加"亲"、"朋友"等拉近距离的用词
- 回答简洁有条理,优先给出解决步骤
- 如果用户情绪不好(抱怨、生气),先共情再解决问题
- 当问题超出你的知识范围时,主动引导用户转人工或提供自助查询路径

你支持的服务范围:
- 账户与订单查询指导
- 产品功能使用帮助
- 退换货与售后政策解答
- 支付与发票问题

不允许:
- 编造订单、退款等具体数字
- 索要用户密码、验证码等敏感信息
"""

"""

# ===== 3. 调用函数区 =====
def chat_with_jay(user_message, chat_history):
    """调用大模型获取回复"""
    messages = [
        {"role": "system", "content": SYSTEM_PROMPT},
        *chat_history,
        {"role": "user", "content": user_message}
    ]
    
    try:
        response = client.chat.completions.create(
            model=MODEL_NAME,
            messages=messages,
            max_tokens=1024,
            temperature=0.7
        )
        return response.choices[0].message.content
    except Exception as e:
        return f"抱歉,Jay 遇到问题:{str(e)}"

# ===== 4. 交互循环区 =====
def main():
    print("🎧 Jay 智能客服已上线")
    chat_history = []
    
    while True:
        user_input = input("👤 您: ").strip()
        
        if user_input.lower() in ['quit', 'exit', '退出']:
            print("🎧 Jay: 感谢咨询,再见!")
            break

        if not user_input:
            continue
        
        print("🎧 Jay: ", end="")
        reply = chat_with_jay(user_input, chat_history)
        print(reply)
        
        # 保存历史
        chat_history.append({"role": "user", "content": user_input})
        chat_history.append({"role": "assistant", "content": reply})
        
        # 限制历史长度
        if len(chat_history) > 20:
            chat_history = chat_history[-20:]

if __name__ == "__main__":
    main()

3.2模型参数说明

在这里插入图片描述

这篇文章以魔塔社区为例,我选择的是阶跃星辰(StepFun)的模型,模型类型是多模态(能看懂文字+图片),速度更快。

在这里插入图片描述

在这里插入图片描述

  • max_token当前值为1024,他的作用是回复最大长度,可以根据简单/复杂回答进行更改数值。
  • temperature当前值为0.7,他的作用是回复创造性,如果是保守客服的话可以选择0.3-0.5,如果想要有创意可以选择0.7。
  • chat_history限制当前值为20,他的作用是限制上下文记忆长度,可以根据模型上下文窗口调整。

接下来我将演示一下调用模型得结果:

在这里插入图片描述

3.3可能会遇到的问题

在初步使用模型调用时,我遇到的一些问题:

出现原因解决方法
404 Model not found模型名称错误确认 stepfun-ai/Step-3.7-Flash 是否存在
401 UnauthorizedToken 无效或过期重新生成 ModelScope Token
ModuleNotFoundError: No module named 'openai'未安装 openai 库pip install openai

大家有遇到不同的问题可以发在评论区,咱们共同学习!

四.结语

从最初完全不了解大模型调用,到现在能够独立运行一个智能客服系统,这就已经是一个很大的进步了,这篇只是简单的接入大模型,下篇将更新接前端,形成一个可视化界面全过程。

更多推荐