AI
This commit is contained in:
+3
-21
@@ -1,7 +1,5 @@
|
|||||||
const Router = require('koa-router');
|
const Router = require('koa-router');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
const path = require('path');
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
const router = new Router();
|
const router = new Router();
|
||||||
|
|
||||||
@@ -126,13 +124,13 @@ router.post('/generate-product', async (ctx) => {
|
|||||||
|
|
||||||
router.post('/recognize-product', async (ctx) => {
|
router.post('/recognize-product', async (ctx) => {
|
||||||
try {
|
try {
|
||||||
const { imageBase64 } = ctx.request.body;
|
const { imageUrl } = ctx.request.body;
|
||||||
|
|
||||||
if (!imageBase64) {
|
if (!imageUrl) {
|
||||||
ctx.status = 400;
|
ctx.status = 400;
|
||||||
ctx.body = {
|
ctx.body = {
|
||||||
code: 400,
|
code: 400,
|
||||||
message: '请提供商品图片'
|
message: '请提供商品图片地址'
|
||||||
};
|
};
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -148,22 +146,6 @@ router.post('/recognize-product', async (ctx) => {
|
|||||||
"confidence": 0到1之间的数字(识别置信度)
|
"confidence": 0到1之间的数字(识别置信度)
|
||||||
}`;
|
}`;
|
||||||
|
|
||||||
// omni 模型不支持 data URI,先保存为文件再用 URL
|
|
||||||
const imageBuffer = Buffer.from(imageBase64, 'base64');
|
|
||||||
const fileName = `ai_${Date.now()}_${Math.random().toString(36).slice(2, 8)}.jpg`;
|
|
||||||
const filePath = path.join(__dirname, '..', 'public', 'uploads', fileName);
|
|
||||||
|
|
||||||
// 确保 uploads 目录存在
|
|
||||||
const uploadsDir = path.join(__dirname, '..', 'public', 'uploads');
|
|
||||||
if (!fs.existsSync(uploadsDir)) {
|
|
||||||
fs.mkdirSync(uploadsDir, { recursive: true });
|
|
||||||
}
|
|
||||||
fs.writeFileSync(filePath, imageBuffer);
|
|
||||||
|
|
||||||
// 构造公网可访问的 URL
|
|
||||||
const serverHost = process.env.SERVER_HOST || 'http://110.42.255.239:3006';
|
|
||||||
const imageUrl = `${serverHost}/uploads/${fileName}`;
|
|
||||||
|
|
||||||
console.log('Calling Qwen Omni API with image:', imageUrl);
|
console.log('Calling Qwen Omni API with image:', imageUrl);
|
||||||
const response = await fetch(AI_API_URL, {
|
const response = await fetch(AI_API_URL, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
|||||||
Reference in New Issue
Block a user