手搓一个AI助手:30行Python代码,让你拥有专属GPT
很多人觉得AI很神秘,觉得那是大厂的专利。
错了。
今天我用30行Python代码,教你手搓一个AI助手。不需要GPU,不需要服务器,你的笔记本电脑就能跑。
看完这篇,你会明白:AI没那么难,难的是你没开始。
01 你需要什么?
硬件:
- 一台电脑(Windows/Mac/Linux都行)
- 8GB以上内存
- 不需要显卡
软件:
- Python 3.8+(没装的去官网下)
- 一个文本编辑器(VS Code推荐)
成本:
- 0元(用免费API额度)
02 30行代码的AI助手
新建一个文件 ai_assistant.py,把下面的代码复制进去:
import requests
import json
from datetime import datetime
# ========== 配置 ==========
API_KEY = "你的API密钥" # 去 platform.openai.com 注册获取
API_URL = "https://api.openai.com/v1/chat/completions"
def chat(messages):
"""调用AI模型"""
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
data = {
"model": "gpt-3.5-turbo",
"messages": messages,
"temperature": 0.7
}
resp = requests.post(API_URL, headers=headers, json=data)
return resp.json()["choices"][0]["message"]["content"]
def main():
"""主函数"""
print("=" * 50)
print("🤖 我的AI助手")
print("输入 'quit' 退出")
print("=" * 50)
messages = [{"role": "system", "content": "你是一个友好的AI助手"}]
while True:
user_input = input("\n你: ")
if user_input.lower() == "quit":
print("再见!")
break
messages.append({"role": "user", "content": user_input})
reply = chat(messages)
messages.append({"role": "assistant", "content": reply})
print(f"\nAI: {reply}")
if __name__ == "__main__":
main()
运行:
python ai_assistant.py
搞定。你有了一个AI助手。
03 这30行代码做了什么?
让我拆解一下核心逻辑:
第一部分:配置(3行)
API_KEY = "你的API密钥"
API_URL = "https://api.openai.com/v1/chat/completions"
告诉程序:用哪个API,拿什么钥匙。
第二部分:调用AI(10行)
def chat(messages):
headers = {"Authorization": f"Bearer {API_KEY}"}
data = {"model": "gpt-3.5-turbo", "messages": messages}
resp = requests.post(API_URL, headers=headers, json=data)
return resp.json()["choices"][0]["message"]["content"]
发送消息,拿回回复。就这么简单。
第三部分:对话循环(15行)
while True:
user_input = input("你: ")
messages.append({"role": "user", "content": user_input})
reply = chat(messages)
print(f"AI: {reply}")
一直问,一直答,直到你说"quit"。
04 升级:让它更像"你的"GPT
基础版太简单?加点料:
升级1:记住上下文
# 在 messages 里加一条系统提示
messages = [
{"role": "system", "content": "你是我的私人助手,说话风格像朋友聊天"},
{"role": "system", "content": f"当前时间:{datetime.now().strftime('%Y-%m-%d %H:%M')}"}
]
升级2:限制回答长度
data = {
"model": "gpt-3.5-turbo",
"messages": messages,
"max_tokens": 500 # 限制回答长度
}
升级3:加个保存功能
def save_chat(messages):
"""保存对话记录"""
with open("chat_history.json", "w", encoding="utf-8") as f:
json.dump(messages, f, ensure_ascii=False, indent=2)
05 更进一步:本地AI(不需要API)
不想花钱?用本地模型:
方案1:Ollama(推荐)
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 下载模型
ollama pull llama3
# 运行
ollama run llama3
方案2:LM Studio
1. 下载 LM Studio(lmstudio.ai)
2. 下载一个模型(推荐 Llama 3 8B)
3. 启动本地服务器
4. 把代码里的 API_URL 改成 http://localhost:1234/v1/chat/completions
完全免费,完全本地,完全你的。
06 实战:做一个专属写作助手
把基础代码改一下,变成写作助手:
def writing_assistant(topic):
"""写作助手"""
messages = [
{"role": "system", "content": """你是一个专业写作助手。
你的任务是:
1. 根据主题生成文章大纲
2. 每个要点展开2-3段
3. 加入真实案例和数据
4. 保持口语化风格"""},
{"role": "user", "content": f"帮我写一篇关于{topic}的文章"}
]
return chat(messages)
# 使用
topic = input("请输入文章主题: ")
article = writing_assistant(topic)
print(article)
5行代码,你就有了一个写作助手。
07 这件事的意义
30行代码,看起来很简单。
但这件事的意义是:AI不再是大厂的专利。
你可以在自己的电脑上,用自己的数据,训练自己的模型,做自己的产品。
这才是真正的"个人AI时代"。
写在最后
AI没那么神秘,30行代码就能入门。
难的不是技术,是迈出第一步。
今天就动手试试吧。
*遇到问题评论区见。*
佛山大师兄
*星辰大海,永不止步*
佛山大师兄 | 星辰大海,永不止步
夜雨聆风