提交 f288f8c6 编写于 作者: 2 2301_77161129

Thu Apr 10 12:45:00 CST 2025 inscode

上级 e590fef4
import torch from flask import Flask, request, jsonify
import logging import requests
from datetime import datetime
app = Flask(__name__)
# 初始化配置和标识
genes = {'minsize': 3072, 'target_mod': 'site', 'cnt': 0, 'memory': []} CSDN_API_URL = "https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"
mark = f"#####MyPython####_{datetime.now().strftime('%Y%m%d%H%M')}" CSDN_API_KEY = "sk-pdcbucazcpktrpywbhoafyjvybwiogrrworwsuvbfryxv"
# 配置日志 @app.route('/ai', methods=['POST'])
logging.basicConfig(filename=f'{mark}.log', level=logging.INFO) def ai_generate():
user_input = request.json.get('prompt')
class SiteModel(torch.nn.Module): if not user_input:
def __init__(self): return jsonify({"error": "缺少输入"}), 400
super().__init__()
self.fc = torch.nn.Linear(3072, 10) # 假设输入维度 3072 # 调用 CSDN 的 AI 模型
try:
def forward(self, x): response = requests.post(
return self.fc(x) CSDN_API_URL,
headers={
def train(genes, mark): "Content-Type": "application/json",
model = SiteModel() "Authorization": f"Bearer {sk-pdcbucazcpktrpywbhoafyjvybwiogrrworwsuvbfryxv}"
optimizer = torch.optim.Adam(model.parameters()) },
criterion = torch.nn.CrossEntropyLoss() json={"prompt": user_input}
)
# 模拟数据(实际需替换为 DataLoader) response.raise_for_status()
inputs = torch.randn(10, 3072) # 10 个样本 result = response.json().get("result", "无法生成内容")
labels = torch.randint(0, 10, (10,)) return jsonify({"result": result})
except Exception as e:
for epoch in range(5): return jsonify({"error": str(e)}), 500
optimizer.zero_grad()
outputs = model(inputs) if __name__ == '__main__':
loss = criterion(outputs, labels) app.run(debug=True)
loss.backward()
optimizer.step()
# 更新状态
genes['cnt'] += 1
genes['memory'].append(loss.item())
logging.info(f"Epoch {epoch}, Loss: {loss.item():.4f}")
# 保存模型和配置
torch.save({
'model_state': model.state_dict(),
'genes': genes
}, f"{mark}_checkpoint.pth")
if __name__ == "__main__":
train(genes, mark)
print(f"Training completed! Check {mark}_*.log and {mark}_*.pth")
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册