Spaces:
Running
Running
Junhui Ji
commited on
Commit
·
28d483e
1
Parent(s):
0abb400
update package
Browse files
main.py
CHANGED
@@ -71,6 +71,7 @@ app.mount("/screenshots", StaticFiles(directory=CACHE_DIR), name="screenshots")
|
|
71 |
app.mount("/static", StaticFiles(directory="static"), name="static")
|
72 |
|
73 |
# API Keys
|
|
|
74 |
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
|
75 |
OPENAI_API_IMAGE_EDIT_KEY = os.getenv("OPENAI_API_IMAGE_EDIT_KEY")
|
76 |
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
|
@@ -194,17 +195,16 @@ def index() -> FileResponse:
|
|
194 |
@app.post("/api/analyze")
|
195 |
async def analyze_feedback(request: AnalysisRequest):
|
196 |
try:
|
197 |
-
context = "
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
# 调用OpenAI API进行分析
|
203 |
response = await call_openai_api(
|
204 |
-
system_prompt='
|
205 |
user_content=[
|
206 |
-
{"type": "
|
207 |
-
|
208 |
],
|
209 |
request_model_id=request.request_model_id
|
210 |
)
|
@@ -216,7 +216,7 @@ async def analyze_feedback(request: AnalysisRequest):
|
|
216 |
def decrypt_user_key(encrypted_key: str) -> str:
|
217 |
try:
|
218 |
# 使用与前端相同的私钥
|
219 |
-
private_key =
|
220 |
|
221 |
# 创建RSA解密对象
|
222 |
cipher = PKCS1_OAEP.new(RSA.import_key(private_key))
|
@@ -291,7 +291,13 @@ async def optimize_design(request: OptimizationRequest):
|
|
291 |
status_code=400,
|
292 |
detail="无效的用户密钥"
|
293 |
)
|
294 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
|
296 |
credit_data = {
|
297 |
"user_key": request.user_key,
|
|
|
71 |
app.mount("/static", StaticFiles(directory="static"), name="static")
|
72 |
|
73 |
# API Keys
|
74 |
+
SECRET_KEY = os.getenv("SECRET_KEY", "wangyue")
|
75 |
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
|
76 |
OPENAI_API_IMAGE_EDIT_KEY = os.getenv("OPENAI_API_IMAGE_EDIT_KEY")
|
77 |
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
|
|
|
195 |
@app.post("/api/analyze")
|
196 |
async def analyze_feedback(request: AnalysisRequest):
|
197 |
try:
|
198 |
+
context = "这是用户上传的设计图。" if request.image_data else ''
|
199 |
+
context += "以下是老板对设计的反馈内容:\n" + request.text
|
200 |
+
context += '\n请根据老板的反馈分析情绪值(用emoji表示),并结合给出的设计图稿,给出三个具体的修改建议,最后给出合适的搜索关键词,以获取合适的参考设计案例。每个建议应该包含一个标题和详细描述。首先你需要对老板的情绪进行解读,使用"情绪值:"开头并分为五类:1. 非常满意-😊😊😊 2. 比较满意-🙂🙂🙂 3. 一般般-😐😐😐 4. 不太满意-🙁🙁🙁 5. 非常不满意-😠😠😠,然后在下一行用一句话分析老板的情绪,以"情绪分析:"开头。随后,请以"修改建议:\n"开头,并以有序列表分三行说明三个具体建议,并以"\n\n"分隔,比如:"1. 提高对比度:xxx\n\n 2. ...\n\n 3. ...\n\n"。记得结合图片进行分析和提出修改建议。最后,你需要使用网页搜索来获取合适的参考UI设计案例,来为修改当前案例提供参考。请在新的一行以"搜索内容:"开头,给出合适的搜索内容,以获取合适的参考设计案例,注意,你只能搜索UI界面或虚拟形象设计相关的案例。'
|
201 |
+
|
|
|
202 |
# 调用OpenAI API进行分析
|
203 |
response = await call_openai_api(
|
204 |
+
system_prompt='你是一位专业的设计顾问,擅长分析客户反馈,提取关键信息,并提供专业建议,你需要严格遵循用户给出的输出格式要求。',
|
205 |
user_content=[
|
206 |
+
*([{"type": "input_image", "image_url": request.image_data}] if request.image_data else []),
|
207 |
+
{"type": "input_text", "text": context}
|
208 |
],
|
209 |
request_model_id=request.request_model_id
|
210 |
)
|
|
|
216 |
def decrypt_user_key(encrypted_key: str) -> str:
|
217 |
try:
|
218 |
# 使用与前端相同的私钥
|
219 |
+
private_key = SECRET_KEY
|
220 |
|
221 |
# 创建RSA解密对象
|
222 |
cipher = PKCS1_OAEP.new(RSA.import_key(private_key))
|
|
|
291 |
status_code=400,
|
292 |
detail="无效的用户密钥"
|
293 |
)
|
294 |
+
try:
|
295 |
+
user_info = eval(user_key)
|
296 |
+
except:
|
297 |
+
raise HTTPException(
|
298 |
+
status_code=400,
|
299 |
+
detail="无效的用户密钥"
|
300 |
+
)
|
301 |
|
302 |
credit_data = {
|
303 |
"user_key": request.user_key,
|