Spaces:
Running
Running
# prompt.py | |
def build_messages(deteccao, base64_image): | |
with open('regras.txt', 'r') as arquivo: | |
regras_conteudo = arquivo.read() | |
# First prompt to generate clothing description | |
messages_for_description = [ | |
{ | |
"role": "user", | |
"content": [ | |
{"type": "text", "text": f"Descreva o que a pessoa na imagem está vestindo, focando apenas nas seguintes partes:\n1.Parte de cima: Informe a cor, o tipo de tecido e, se possível, o estilo da peça (por exemplo, camiseta, camisa, blusa, etc.).\n2.Parte de baixo: Informe a cor, o tipo de tecido e, se possível, o estilo da peça (por exemplo, calça, saia, shorts, etc.).\n3.Sapatos: Informe a cor e descreva o estilo (por exemplo, tênis, sapatos sociais, sandálias, etc.).\nEvite incluir informações desnecessárias, como marcas, locais de compra ou características que não sejam relacionadas às roupas e sapatos.Preste atenção aos detalhes e seja o mais sucinto possível. Use o json de resposta de uma detecção de objetos. {deteccao}. E a imagem abaixo:"}, | |
{ | |
"type": "image_url", | |
"image_url": { | |
"url": f"data:image/jpeg;base64,{base64_image}", | |
}, | |
}, | |
], | |
} | |
] | |
# Function to build messages for analysis | |
def messages_for_analysis(clothing_description, sexo, ocasiao): | |
return [ | |
{ | |
"role": "system", | |
"content": ( | |
f"Você é um estilista de moda com conhecimento aprofundado em combinação de acordo com o sexo e a ocasião. Use as regras em XML para se basear.\n\n{regras_conteudo}. Analise a seguinte descrição de roupa: {clothing_description}. A pessoa de sexo {sexo} está indo para uma ocasião {ocasiao}. Responda de uma forma clara e objetiva, fornecendo sugestões de combinação de roupas e sapatos para a ocasião específica. Seja detalhado e forneça informações úteis para o usuário." | |
) | |
} | |
] | |
def format_message(answer): | |
return [ | |
{ | |
"role": "system", | |
"content": ( | |
f"Você irá receber uma mensagem onde fornece informações de como a pessoa está se vestindo e algumas recomenações. Formate a mensagem para ficar de fácil entendimento para o usuário que estará se consultando. Sugiro a seguinte estrutura:\nCombinação escolhida:\nEstá combinando:\nRecomendações de possíveis combinações:\nMensagem:\n{message}" | |
) | |
} | |
] | |
return messages_for_description, messages_for_analysis, format_message | |