weijiang2024's picture
Upload folder using huggingface_hub
88e28b1 verified
import requests
import os
from utils.operate_tx import *
from utils.mama_utils import *
import logging
# Create a logger
logger = logging.getLogger(__name__)
# Set the logging level
logger.setLevel(logging.DEBUG)
# Create a file handler
file_handler = logging.FileHandler('my_app.log')
# Create a formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# Add the formatter to the handler
file_handler.setFormatter(formatter)
# Add the handler to the logger
logger.addHandler(file_handler)
# AI评估人物图像(URL)
def eval_fashion_person(img_url):
url = os.environ["LINKAI_HOST"]
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + os.environ["LINKAI_KEY"]
}
body = {
"app_code": os.environ["LINKAI_CODE_2"],
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "识别图片中的人物,并根据知识库的知识必须给出评分和评分原因,其中,评分需要严格谨慎一点且评分原因必须包含所参考的知识的详细内容"
},
{
"type": "image_url",
"image_url": {
"url": img_url
}
}
]
}
]
}
res = requests.post(url, json=body, headers=headers)
if res.status_code == 200:
reply_text = res.json().get("choices")[0]['message']['content']
return reply_text
else:
error = res.json().get("error")
print(f"请求异常, 错误码={res.status_code}, 错误类型={error.get('type')}, 错误信息={error.get('message')}")
# 从腾讯云获取图片url并评分
def eval_fashion_person_tx_url(img_name):
person_name = img_name.split(".")[0]
img_url = generate_tx_presigned_url(img_name)
logger.debug(person_name, img_url)
score, conclusion = get_score_conclusion(img_url)
logger.debug(score, conclusion)
result = {"username": person_name,
"avatar_url": img_url,
"fashion_score_predict": score,
"fashion_eval_reason": conclusion
}
return result
# 获取分数和评语
def get_score_conclusion(img_url):
conclusion = eval_fashion_person(img_url)
score = extract_first_number(conclusion)
return score, conclusion
if __name__ == '__main__':
img_url = ''
img_name = ''
print(eval_fashion_person(img_url))
print(eval_fashion_person_tx_url(img_name))