Spaces:
Sleeping
Sleeping
Junhui Ji
commited on
Commit
·
876d086
1
Parent(s):
8d97833
update
Browse files- main.py +22 -0
- static/feedback.html +1 -1
- static/script.js +5 -6
main.py
CHANGED
@@ -55,6 +55,10 @@ class OptimizationRequest(BaseModel):
|
|
55 |
suggestions: List[str]
|
56 |
request_model_id: str = 'gpt-image-1'
|
57 |
|
|
|
|
|
|
|
|
|
58 |
class TextOptimizationRequest(BaseModel):
|
59 |
original_feedback: str
|
60 |
user_input: str
|
@@ -202,6 +206,24 @@ async def optimize_text(request: TextOptimizationRequest):
|
|
202 |
logging.error(f'Error: {e}, traceback: {traceback.format_exc()}')
|
203 |
raise HTTPException(status_code=500, detail=f'Error: {e}, traceback: {traceback.format_exc()}')
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
@app.post("/api/search")
|
206 |
async def search_design_examples(request: SearchRequest):
|
207 |
try:
|
|
|
55 |
suggestions: List[str]
|
56 |
request_model_id: str = 'gpt-image-1'
|
57 |
|
58 |
+
class CaseStudyRequest(BaseModel):
|
59 |
+
user_input: str
|
60 |
+
request_model_id: str = 'gpt-4.1-mini'
|
61 |
+
|
62 |
class TextOptimizationRequest(BaseModel):
|
63 |
original_feedback: str
|
64 |
user_input: str
|
|
|
206 |
logging.error(f'Error: {e}, traceback: {traceback.format_exc()}')
|
207 |
raise HTTPException(status_code=500, detail=f'Error: {e}, traceback: {traceback.format_exc()}')
|
208 |
|
209 |
+
|
210 |
+
@app.post("/api/analyze-case-study")
|
211 |
+
async def analyze_case_study(request: CaseStudyRequest):
|
212 |
+
try:
|
213 |
+
response = await call_openai_api(
|
214 |
+
system_prompt="你是一个专业的案例分析助手,你需要根据用户需求进行案例分析。",
|
215 |
+
user_content=[{
|
216 |
+
"type": "input_text",
|
217 |
+
"text": request.user_input
|
218 |
+
}],
|
219 |
+
request_model_id=request.request_model_id
|
220 |
+
)
|
221 |
+
|
222 |
+
return JSONResponse(response)
|
223 |
+
except Exception as e:
|
224 |
+
logging.error(f'Error: {e}, traceback: {traceback.format_exc()}')
|
225 |
+
raise HTTPException(status_code=500, detail=f'Error: {e}, traceback: {traceback.format_exc()}')
|
226 |
+
|
227 |
@app.post("/api/search")
|
228 |
async def search_design_examples(request: SearchRequest):
|
229 |
try:
|
static/feedback.html
CHANGED
@@ -108,7 +108,7 @@
|
|
108 |
</section>
|
109 |
|
110 |
<div class="button-container">
|
111 |
-
<button type="button" class="generate-button" id="generateBtn"
|
112 |
</div>
|
113 |
|
114 |
<!-- Toast提示 -->
|
|
|
108 |
</section>
|
109 |
|
110 |
<div class="button-container">
|
111 |
+
<button type="button" class="generate-button" id="generateBtn">启动求生欲滤镜</button>
|
112 |
</div>
|
113 |
|
114 |
<!-- Toast提示 -->
|
static/script.js
CHANGED
@@ -430,6 +430,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
430 |
try {
|
431 |
// 使用split提取修改建议部分
|
432 |
const suggestionsText = analysisResult.split('修改建议:')[1].split('搜索内容:')[0];
|
|
|
433 |
|
434 |
if (suggestionsText) {
|
435 |
// 提取三个建议
|
@@ -520,7 +521,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
520 |
const desc = card.querySelector('.example-desc');
|
521 |
const sourceLink = card.querySelector('.example-source a');
|
522 |
|
523 |
-
if (img) img.src = '';
|
524 |
if (desc) desc.textContent = '正在搜索设计参考案例...';
|
525 |
if (sourceLink) {
|
526 |
sourceLink.href = '#';
|
@@ -529,8 +530,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
529 |
});
|
530 |
|
531 |
// 获取原始反馈文本和上传的图片
|
532 |
-
const
|
533 |
-
const uploadedImage = sessionStorage.getItem('uploadedImage');
|
534 |
|
535 |
// 调用后端搜索API
|
536 |
const response = await fetch(`${BASE_URL}api/search`, {
|
@@ -566,14 +566,13 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
566 |
for (let i = 0; i < examples.length; i++) {
|
567 |
const example = examples[i];
|
568 |
try {
|
569 |
-
const response = await fetch(`${BASE_URL}api/
|
570 |
method: 'POST',
|
571 |
headers: {
|
572 |
'Content-Type': 'application/json'
|
573 |
},
|
574 |
body: JSON.stringify({
|
575 |
-
|
576 |
-
user_input: `请分析这个设计案例:${example.title}\n${example.description}\n\n基于原始设计反馈和修改建议,详细分析为什么这个设计案例可以解决用户面临的设计问题。描述要专业、具体,并关注设计细节。你只需要简单介绍案例内容和特点,然后简要分析即可,不要输出其他内容。`,
|
577 |
request_model_id: 'gpt-4.1-mini'
|
578 |
})
|
579 |
});
|
|
|
430 |
try {
|
431 |
// 使用split提取修改建议部分
|
432 |
const suggestionsText = analysisResult.split('修改建议:')[1].split('搜索内容:')[0];
|
433 |
+
sessionStorage.setItem('suggestionsText', suggestionsText)
|
434 |
|
435 |
if (suggestionsText) {
|
436 |
// 提取三个建议
|
|
|
521 |
const desc = card.querySelector('.example-desc');
|
522 |
const sourceLink = card.querySelector('.example-source a');
|
523 |
|
524 |
+
if (img) img.src = '/static/assets/loading.gif';
|
525 |
if (desc) desc.textContent = '正在搜索设计参考案例...';
|
526 |
if (sourceLink) {
|
527 |
sourceLink.href = '#';
|
|
|
530 |
});
|
531 |
|
532 |
// 获取原始反馈文本和上传的图片
|
533 |
+
const suggestionsText = sessionStorage.getItem('suggestionsText') || '';
|
|
|
534 |
|
535 |
// 调用后端搜索API
|
536 |
const response = await fetch(`${BASE_URL}api/search`, {
|
|
|
566 |
for (let i = 0; i < examples.length; i++) {
|
567 |
const example = examples[i];
|
568 |
try {
|
569 |
+
const response = await fetch(`${BASE_URL}api/analyze-case-study`, {
|
570 |
method: 'POST',
|
571 |
headers: {
|
572 |
'Content-Type': 'application/json'
|
573 |
},
|
574 |
body: JSON.stringify({
|
575 |
+
user_input: `请分析这个设计案例:${example.title}\n${example.description}\n修改建议:${suggestionsText}\n基于原始设计反馈和修改建议,详细分析为什么这个设计案例可以解决用户面临的设计问题。描述要专业、具体,并关注设计细节。你只需要简单介绍案例内容和特点,然后简要分析即可,不要输出其他内容。`,
|
|
|
576 |
request_model_id: 'gpt-4.1-mini'
|
577 |
})
|
578 |
});
|