AI学习第2天:模型初体验:GPT、DeepSeek、Qwen 等开源模型对比实战
作者:微信文章过去总以为要学 AI 就得掌握数学、写模型、会训练,但现在,大模型时代已经悄悄“降低门槛”:只需几行代码,人人都可以拥有一个属于自己的“ChatGPT”。今天我体验了 GPT(API)、DeepSeek(开源本地)、Qwen(国产开源模型) 三种路线,让你成功生成自己的第一段 AI 内容!
✅ 先说说今天的收获是什么?
不依赖 ChatGPT,本地跑开源大模型
不训练模型,也能做智能对话、内容生成
🧰 01|GPT-3.5(OpenAI 官方接口)
条件:具备科学上网条件,且申请到了openai的key
适合:想快速尝鲜 + 有 API key 的用户
安装依赖:
pip install openai
创建一个python文件gpt,核心代码:
import openaiopenai.api_key = "sk-你的key"response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "人工智能将如何改变教育?"} ])print(response['choices']['message']['content'])输出示例(自动生成):
人工智能将在教育中发挥重要作用,例如个性化学习、自动批改作业、智能辅导系统等。它将提高学习效率,减轻教师负担,并为学生提供更加因材施教的学习体验。
✅ 优点:简单、稳定、输出流畅
❌ 缺点:需要 API Key、有调用成本、不支持本地运行
🧠 02|DeepSeek-Chat(7B)——开源中文模型黑马
适合:追求免费本地部署、轻量体验
安装依赖:
pip install transformers torch accelerate
代码示例:
from transformers import AutoTokenizer, AutoModelForCausalLMimport torch# 模型名称model_id = "deepseek-ai/deepseek-llm-7b-chat"# 加载 tokenizer 和模型tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained( model_id, device_map="auto", torch_dtype=torch.float16,# CPU用户请改为 torch.float32 trust_remote_code=True, low_cpu_mem_usage=True,)# 构建聊天输入messages = [ {"role": "user", "content": "人工智能未来会如何影响人类?"}]# 生成 promptchat_prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)# 编码输入inputs = tokenizer(chat_prompt, return_tensors="pt").to(model.device)# 模型生成outputs = model.generate( **inputs, max_new_tokens=200, do_sample=True, temperature=0.7, top_p=0.9)# 解码输出,并只保留新增部分decoded_output = tokenizer.decode(outputs, skip_special_tokens=True)# 去掉 prompt 部分,只保留模型生成的回复generated_text = decoded_output.strip()print("🤖 DeepSeek 回复:\n")print(generated_text)
✅ 优点:开源免费、本地可跑、中文表现优秀
❌ 缺点:首次加载较慢,对显存有要求
🌐 03|调用 DeepSeek 官方 API(更轻量,无需本地模型)
适合:设备性能不够强、想快速体验 DeepSeek 效果的用户
✅ 申请 API Key
官网注册:https://platform.deepseek.com
控制台获取 API Key
和 OpenAI 接口方式高度兼容
安装依赖
pip install openai
✅ 示例代码:
from openai import OpenAIclient = OpenAI(api_key="sk-f9f7deeea82b47c5be7422c7e7742597", base_url="https://api.deepseek.com")response = client.chat.completions.create( model="deepseek-chat", messages=[ {"role": "system", "content": "You are a helpful assistant"}, {"role": "user", "content": "人工智能未来会如何影响人类?"}, ], stream=False)print(response.choices.message.content)
✅ 优点:不占内存、不需部署、适合前端和小程序接入
❌ 缺点:需联网、免费额度有限
🐉 04|Qwen-7B-Chat(阿里)——国产开源模型代表
适合:中文问答、任务型对话更精细的用户
安装依赖
pip install tiktoken einops transformers_stream_generator
核心代码
from transformers import AutoTokenizer, AutoModelForCausalLMimport torch# 模型名称model_id = "Qwen/Qwen-7B-Chat"# 加载 tokenizer 和模型tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained( model_id, device_map="auto", torch_dtype=torch.float16, trust_remote_code=True, low_cpu_mem_usage=True,)# 构建 ChatML 格式输入messages = [ {"role": "system", "content": "你是一个乐于助人的 AI 助手"}, {"role": "user", "content": "人工智能未来会如何影响人类?"}]# 拼接 prompt(手动构造 ChatML)chat_prompt = ""for msg in messages: chat_prompt += f"<|im_start|>{msg['role']}\n{msg['content']}<|im_end|>\n"chat_prompt += "<|im_start|>assistant\n"# 编码输入inputs = tokenizer(chat_prompt, return_tensors="pt").to(model.device)# 生成回复outputs = model.generate( **inputs, max_new_tokens=200, do_sample=True, temperature=0.7, top_p=0.9, pad_token_id=tokenizer.eos_token_id)# 解码新增部分response = tokenizer.decode(outputs.shape:], skip_special_tokens=True)print("🤖 Qwen 回复:\n")print(response.strip())
✅ 优点:中文语义理解强
❌ 缺点:占用资源较高,部署复杂度略大
📬 小结
🚫 不必从训练模型开始
✅ 从“会调用 + 会封装 + 会调参”开始,最快见成果!
明天我将尝试使用 Gradio 构建可交互网页版本 AI 应用,把跑通的模型变成人人可用的网页版聊天机器人!已经开始期待明天的成果了~~~
页:
[1]