Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
@@ -11,7 +11,7 @@ from minigpt4.common.config import Config
|
|
11 |
from minigpt4.common.dist_utils import get_rank
|
12 |
from minigpt4.common.registry import registry
|
13 |
from minigpt4.conversation.conversation import Chat, CONV_VISION
|
14 |
-
from fastapi import FastAPI, HTTPException, File, UploadFile,Form
|
15 |
from fastapi.responses import RedirectResponse
|
16 |
from fastapi.middleware.cors import CORSMiddleware
|
17 |
from pydantic import BaseModel
|
@@ -92,6 +92,7 @@ class Item(BaseModel):
|
|
92 |
gr_img: UploadFile = File(..., description="Image file")
|
93 |
text_input: str = None
|
94 |
|
|
|
95 |
chat_state = CONV_VISION.copy()
|
96 |
img_list = []
|
97 |
chatbot = []
|
@@ -111,35 +112,34 @@ async def upload_img(
|
|
111 |
return {"message": "image uploaded successfully."}
|
112 |
|
113 |
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
@app.post("/process/")
|
118 |
-
async def process_item(
|
119 |
-
|
120 |
-
|
121 |
|
122 |
-
|
123 |
-
chat.ask(prompt, chat_state)
|
124 |
global chatbot
|
|
|
125 |
chatbot = chatbot + [[prompt, None]]
|
126 |
-
llm_message =
|
127 |
-
|
128 |
chatbot[-1][1] = llm_message
|
129 |
return chatbot
|
130 |
|
|
|
131 |
@app.post("/reset/")
|
132 |
async def reset(
|
133 |
|
134 |
):
|
135 |
-
global chat_state, img_list # Use global keyword to reassign
|
136 |
img_list = []
|
137 |
if chat_state is not None:
|
138 |
chat_state.messages = []
|
139 |
if img_list is not None:
|
140 |
img_list = []
|
|
|
|
|
141 |
|
142 |
|
143 |
if __name__ == "__main__":
|
144 |
# Run the FastAPI app with Uvicorn
|
145 |
-
uvicorn.run("main:app", host="0.0.0.0", port=7860)
|
|
|
11 |
from minigpt4.common.dist_utils import get_rank
|
12 |
from minigpt4.common.registry import registry
|
13 |
from minigpt4.conversation.conversation import Chat, CONV_VISION
|
14 |
+
from fastapi import FastAPI, HTTPException, File, UploadFile, Form
|
15 |
from fastapi.responses import RedirectResponse
|
16 |
from fastapi.middleware.cors import CORSMiddleware
|
17 |
from pydantic import BaseModel
|
|
|
92 |
gr_img: UploadFile = File(..., description="Image file")
|
93 |
text_input: str = None
|
94 |
|
95 |
+
|
96 |
chat_state = CONV_VISION.copy()
|
97 |
img_list = []
|
98 |
chatbot = []
|
|
|
112 |
return {"message": "image uploaded successfully."}
|
113 |
|
114 |
|
|
|
|
|
|
|
115 |
@app.post("/process/")
|
116 |
+
async def process_item(prompt: str = Form(...)):
|
117 |
+
if not img_list: # Check if img_list is empty or None
|
118 |
+
return {"error": "No images uploaded."}
|
119 |
|
|
|
|
|
120 |
global chatbot
|
121 |
+
chat.ask(prompt, chat_state)
|
122 |
chatbot = chatbot + [[prompt, None]]
|
123 |
+
llm_message = \
|
124 |
+
chat.answer(conv=chat_state, img_list=img_list, max_new_tokens=300, num_beams=1, temperature=1, max_length=2000)[0]
|
125 |
chatbot[-1][1] = llm_message
|
126 |
return chatbot
|
127 |
|
128 |
+
|
129 |
@app.post("/reset/")
|
130 |
async def reset(
|
131 |
|
132 |
):
|
133 |
+
global chat_state, img_list, chatbot # Use global keyword to reassign
|
134 |
img_list = []
|
135 |
if chat_state is not None:
|
136 |
chat_state.messages = []
|
137 |
if img_list is not None:
|
138 |
img_list = []
|
139 |
+
if chatbot is not None:
|
140 |
+
chatbot = []
|
141 |
|
142 |
|
143 |
if __name__ == "__main__":
|
144 |
# Run the FastAPI app with Uvicorn
|
145 |
+
uvicorn.run("main:app", host="0.0.0.0", port=7860)
|