real-jiakai commited on
Commit
9a1d2d6
1 Parent(s): ac86214

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +16 -0
main.py CHANGED
@@ -1,20 +1,36 @@
 
1
  from fastapi import FastAPI
 
 
2
  from fastapi.staticfiles import StaticFiles
 
 
3
  from fastapi.responses import FileResponse
4
 
 
5
  from transformers import pipeline
6
 
 
7
  app = FastAPI()
8
 
 
9
  pipe_flan = pipeline("text2text-generation", model="google/flan-t5-small")
10
 
 
11
  @app.get("/infer_t5")
 
12
  def t5(input):
 
13
  output = pipe_flan(input)
 
14
  return {"output": output[0]["generated_text"]}
15
 
 
16
  app.mount("/", StaticFiles(directory="static", html=True), name="static")
17
 
 
18
  @app.get("/")
 
19
  def index() -> FileResponse:
 
20
  return FileResponse(path="/app/static/index.html", media_type="text/html")
 
1
+ # 从 FastAPI 库中导入 FastAPI 类,用于创建应用实例
2
  from fastapi import FastAPI
3
+
4
+ # 从 FastAPI 的 staticfiles 模块中导入 StaticFiles 类,用于处理静态文件
5
  from fastapi.staticfiles import StaticFiles
6
+
7
+ # 从 FastAPI 的 responses 模块中导入 FileResponse 类,用于返回文件响应
8
  from fastapi.responses import FileResponse
9
 
10
+ # 从 transformers 库中导入 pipeline 函数,用于加载预训练模型管道
11
  from transformers import pipeline
12
 
13
+ # 创建 FastAPI 应用实例
14
  app = FastAPI()
15
 
16
+ # 使用 transformers 的 pipeline 函数加载 Flan-T5 小模型,用于文本生成任务
17
  pipe_flan = pipeline("text2text-generation", model="google/flan-t5-small")
18
 
19
+ # 定义一个 GET 请求的路由,路径为 /infer_t5,用于处理文本生成请求
20
  @app.get("/infer_t5")
21
+ # 定义处理 /infer_t5 路由的函数,接收一个输入参数
22
  def t5(input):
23
+ # 使用加载的 Flan-T5 模型管道生成输出
24
  output = pipe_flan(input)
25
+ # 返回生成的文本结果,格式为 JSON
26
  return {"output": output[0]["generated_text"]}
27
 
28
+ # 挂载静态文件目录,将根路径 "/" 指向 "static" 目录,并启用 HTML 模式
29
  app.mount("/", StaticFiles(directory="static", html=True), name="static")
30
 
31
+ # 定义一个 GET 请求的路由,路径为根路径 "/",用于返回首页
32
  @app.get("/")
33
+ # 定义处理根路径的函数,返回一个文件响应,类型为 HTML
34
  def index() -> FileResponse:
35
+ # 返回位于 /app/static/index.html 的 HTML 文件
36
  return FileResponse(path="/app/static/index.html", media_type="text/html")