目录
背景
AI模型的获取和本地部署已成为当前技术发展的关键方向之一。随着开源社区的壮大和计算资源的普及,越来越多的研究机构和企业开放了预训练模型的权重和架构,使开发者能够自由下载、修改并在本地环境运行。这一趋势降低了AI技术的使用门槛,推动了从学术研究到工业应用的广泛落地。
本地部署的需求主要源于数据隐私、网络延迟和定制化需求。在医疗、金融等领域,敏感数据无法上传至云端,需在本地处理;实时性要求高的场景(如自动驾驶)也依赖本地计算;此外,开发者常需针对特定任务微调模型,本地部署提供了更大的灵活性。
前期部署需求
1.需要安装python,为编译操作做准备
2.导入openAI模块
from openai import OpenAI
![]()
如果出现以上的情况

可以通过将鼠标悬停在该出,安装软件包
也可以通过终端输入
pip openai install
模型获取
以阿里云为案例

进入页面后,鼠标悬停在大模型处,然后点击到大模型服务

当 进入到该页面的时候,随机点一个登录获取就ok了

来到该页面后
点击左侧的API-key获取api
注:不同模型的api-key需要做个副本备存,以免忘记。因为有些模型的api-key只会出现一次用来复制。

随便创建,没什么需求。
然后点击上方导航栏的API文档,找到左侧的讲话里面的[通义千问] ,复制你需要的编译的文档内容就ok了。
案例说明【代码讲解】
以多轮对话为主
为了节省工作我们直接复制过来它原本的源码复制过来
import os
from openai import OpenAI
import dotenv
dotenv.load_dotenv()
def get_response(messages):
client = OpenAI(
# 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
completion = client.chat.completions.create(model="qwen-plus", messages=messages)
return completion
# 初始化一个 messages 数组
messages = [
{
"role": "system",
"content": """你是一名阿里云百炼手机商店的店员,你负责给用户推荐手机。手机有两个参数:屏幕尺寸(包括6.1英寸、6.5英寸、6.7英寸)、分辨率(包括2K、4K)。
你一次只能向用户提问一个参数。如果用户提供的信息不全,你需要反问他,让他提供没有提供的参数。如果参数收集完成,你要说:我已了解您的购买意向,请稍等。""",
}
]
assistant_output = "欢迎光临阿里云百炼手机商店,您需要购买什么尺寸的手机呢?"
print(f"模型输出:{assistant_output}\n")
while "我已了解您的购买意向" not in assistant_output:
user_input = input("请输入:")
# 将用户问题信息添加到messages列表中
messages.append({"role": "user", "content": user_input})
assistant_output = get_response(messages).choices[0].message.content
# 将大模型的回复信息添加到messages列表中
messages.append({"role": "assistant", "content": assistant_output})
print(f"模型输出:{assistant_output}")
print("\n")
你可以在控制台玩一下,但是我们要变一下内容来进行拆分讲解
client = OpenAI(
# 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv("Qwen_API_KEY"),#里面的其实就是你在.env文件内储存api的容器变量名称
#这个需要创建一个后缀为.env的文件
#.env文件内储存内容为Qwen_API_KEY="你获取的api-key"
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
#不同模型的所提供的模型连接的网址是不一样的
)
# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
completion = client.chat.completions.create(model="qwen-plus", messages=messages)
return completion
定义一下messages
messages = [
{
"role": "system",
"content": """你是一个智能对话体,需要依据用户输入的内容,实现不同的对话内容,当用户输入到结束对话的时候,输出我已完成你的聊天,祝生活愉快""",
}
]
role的字段可以不用动,至于后面的"content"就决定了你对模型的角色的规范
注:需要拥有结束参考语句,不能一直循环编写,因为多轮对话有始有终的。
assistant_output = "欢迎使用智能对话体"
这一段代码可以默认为模型启动的默认输出语句。
while "我已完成你的聊天,祝生活愉快" not in assistant_output:
user_input = input("请输入:")
# 将用户问题信息添加到messages列表中
messages.append({"role": "user", "content": user_input})
assistant_output = get_response(messages).choices[0].message.content
# 将大模型的回复信息添加到messages列表中
messages.append({"role": "assistant", "content": assistant_output})
print(f"模型输出:{assistant_output}")
print("\n")
而以上的while语句就是开始定义"content"时结束条件使用的。
当"xxx"不存在AI对话输出语句的时候,继续运行对话,当存在时就结束了。
OK,本期的案例分享到这里。
12万+

被折叠的 条评论
为什么被折叠?



