模型调用服务后台demo思路
通过uvicorn启动一个fastapi web服务,供用户请求不同模型的调用from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModel import requests app FastAPI() # 定义请求模型 class ChatRequest(BaseModel): prompt: str #model: str deepseek-r1:1.5b model: str deepseek-V3.1:671b-cloud # 允许跨域请求根据需要配置 app.add_middleware( CORSMiddleware, allow_origins[*],# # 允许所有域生产环境应限制 allow_methods[*],#allow_methods[POST], # 仅开放POST请求 allow_headers[*],#allow_headers[Content-Type] # 控制可接收头类型 ) app.post(/api/chat) async def chat(request: ChatRequest): print(request)##调用本地模型 ollama_url http://localhost:11434/api/generate data { model: request.model, prompt: request.prompt, stream: False } response requests.post(ollama_url, jsondata) if response.status_code 200: return {response: response.json()[response]} else: return {error: Failed to get response from Ollama}, 500 if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8000, log_leveldebug)#workers4, # 启动 4 个进程处理并发请求 #reloadTrue, # 开发模式代码修改后自动重启 #log_leveldebug, # 输出详细日志 #timeout_keep_alive30 # 连接保持时间秒import requests response requests.post( http://localhost:8000/api/chat, #json{prompt: 你好请介绍一下你自己} json{prompt: 你好请介绍一下你自己, model:phi3:mini} ) print(response.json())