乐于分享
好东西不私藏

手搓一个AI助手:30行Python代码,让你拥有专属GPT(修复版)

手搓一个AI助手:30行Python代码,让你拥有专属GPT(修复版)

手搓一个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行代码就能入门。

难的不是技术,是迈出第一步。

今天就动手试试吧。


*遇到问题评论区见。*

佛山大师兄

*星辰大海,永不止步*

佛山大师兄 | 星辰大海,永不止步