Python中使用 AI 的完整指南
日期:2026年03月23日
新闻分类: 技术中心
浏览:81次
快速入门:几行代码体验 AI
1. 最简单的 AI 使用
# 安装:pip install openai
from openai import OpenAI
# 初始化客户端
client = OpenAI(api_key="你的API密钥") # 可从平台获取免费额度
# 调用 GPT 模型
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "你是一个Python专家"},
{"role": "user", "content": "用Python写一个计算斐波那契数列的函数"}
],
max_tokens=200
)
print(response.choices[0].message.content)
2. 使用本地模型(无需API)
# 安装:pip install transformers torch
from transformers import pipeline
# 零代码使用预训练模型
# 情感分析
classifier = pipeline("sentiment-analysis")
print(classifier("Python真是太棒了!"))
# 输出: [{'label': 'POSITIVE', 'score': 0.9998}]
# 文本生成
generator = pipeline("text-generation", model="gpt2")
result = generator("人工智能的未来是", max_length=50)
print(result[0]['generated_text'])
# 图像分类
vision_classifier = pipeline("image-classification")
result = vision_classifier("cat.jpg")
print(result[0]['label']) # 输出: 'tabby cat'
按任务选择框架
任务类型 推荐工具
文本分析 Transformers、NLTK
图像识别 OpenCV、PyTorch Vision
数据分析 Scikit-learn、Pandas
语音处理 SpeechRecognition、whisper
推荐系统 Surprise、LightFM
详细使用场景
图像处理与识别
# 安装:pip install opencv-python pillow torch torchvision
import cv2
from PIL import Image
import torch
from torchvision import transforms, models
# 方式1:使用OpenCV进行基础处理
def process_image_opencv(image_path):
# 读取图片
img = cv2.imread(image_path)
# 人脸检测
face_cascade = cv2.CascadeClassifier(
cv2.data.haarcascades + 'haarcascade_frontalface_default.'
)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# 标记人脸
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
cv2.imwrite('detected.jpg', img)
return len(faces)
# 方式2:使用深度学习模型
def classify_image_pytorch(image_path):
# 加载预训练模型
model = models.resnet50(pretrained=True)
model.eval()
# 图像预处理
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]
)
])
# 处理图像
image = Image.open(image_path)
input_tensor = preprocess(image)
input_batch = input_tensor.unsqueeze(0)
# 预测
with torch.no_grad():
output = model(input_batch)
# 读取类别
with open('imagenet_classes.txt') as f:
categories = [line.strip() for line in f]
# 获取预测结果
_, index = torch.max(output, 1)
percentage = torch.nn.functional.softmax(output, dim=1)[0] * 100
return categories[index[0]], percentage[index[0]].item()