BuckLakeAI / app.py
parkerjj's picture
Daily Update, First Release for model 1012
62f31c8
import os
from fastapi import FastAPI
from pydantic import BaseModel
from fastapi.middleware.wsgi import WSGIMiddleware
from transformers import pipeline
from RequestModel import PredictRequest
from us_stock import fetch_symbols
app = FastAPI() # 创建 FastAPI 应用
# 定义请求模型
class TextRequest(BaseModel):
text: str
# 定义两个 API 路由处理函数
@app.post("/api/aaa")
async def api_aaa_post(request: TextRequest):
result = request.text + 'aaa'
return {"result": result}
# 定义两个 API 路由处理函数
@app.post("/aaa")
async def aaa(request: TextRequest):
result = request.text + 'aaa'
return {"result": result}
# 定义两个 API 路由处理函数
@app.get("/aaa")
async def api_aaa_get(request: TextRequest):
result = request.text + 'aaa'
return {"result": result}
@app.post("/api/bbb")
async def api_bbb(request: TextRequest):
result = request.text + 'bbb'
return {"result": result}
@app.on_event("startup")
async def initialize_symbols():
# 在 FastAPI 启动时初始化变量
await fetch_symbols()
@app.post("/api/predict")
async def predict(request: PredictRequest):
from blkeras import predict
try:
input_text = request.text # FastAPI 会自动解析为 PredictRequest 对象
affected_stock_codes = request.stock_codes
print("Input text:", input_text)
print("Affected stock codes:", affected_stock_codes)
return predict(input_text, affected_stock_codes)
except Exception as e:
return {"error": str(e)}
@app.get("/")
async def root():
return {"message": "Welcome to the API. Use /api/aaa or /api/bbb for processing."}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)