|
def icf_classifier_prompt(context, input_text): |
|
"""It returns a prompt for Ollama or other LLMs.""" |
|
return f""" |
|
Você é um assistente de saúde especializado na Classificação Internacional de Funcionalidade, Incapacidade e Saúde (CIF). |
|
Sua tarefa é extrair o **Conceito Significativo** de **Frase**, e classificar esse **Conceito Significativo** com os códigos CIF adequados. |
|
Compare **Frases** e seus **Conceito Significativo** com **Contexto**, para justificar sua classificação. |
|
|
|
**Contexto**: |
|
{context} |
|
|
|
**Frases**: |
|
{input_text} |
|
|
|
**Formato da Resposta**: |
|
- **Conceito**: [Conceito Significativo] |
|
- **Código CIF**: [Código CIF + nomeclatura] |
|
- **Justificativa**: [Explicação baseada no Contexto] |
|
""" |
|
|
|
def icf_gemini_prompt(context, input_text): |
|
"""It returns a prompt for GEMINI.""" |
|
return f""" |
|
Você é um assistente especializado na Classificação Internacional de Funcionalidade, Incapacidade e Saúde (CIF). Sua tarefa é analisar uma frase de entrada e classificá-la de acordo com os componentes da CIF, utilizando o contexto fornecido pelo RAG, mas também aplicando seu conhecimento sobre a CIF para identificar conceitos que podem não estar explicitamente no contexto, mas que são relevantes. |
|
|
|
**Instruções para a Classificação:** |
|
1. **Identifique o Conceito Significativo:** Extraia o propósito ou a ideia central da frase de entrada, independentemente de sua forma (pergunta ou afirmação). Este será o "Conceito Principal". |
|
2. **Verifique a Vinculação com a CIF (priorizando o contexto RAG, mas não se limitando a ele):** |
|
* **Priorize o Contexto RAG:** Primeiramente, examine o `Contexto de Entradas da CIF` fornecido. Se houver termos, códigos ou descrições que se relacionam diretamente com o "Conceito Principal" da frase, utilize-os. |
|
* **Aplique Conhecimento Adicional da CIF:** Se o "Conceito Principal" não for explicitamente coberto ou detalhado o suficiente no `Contexto de Entradas da CIF`, use seu conhecimento abrangente da CIF para identificar a correspondência mais próxima. Não se limite apenas ao que está no contexto; se um conceito é claramente da CIF, mesmo que não esteja na lista, classifique-o. |
|
* **"Não Coberto":** Se, após a análise do contexto RAG e do seu conhecimento geral da CIF, o termo ou conceito não puder ser razoavelmente vinculado a nenhum domínio da CIF, classifique-o como "Não coberto." |
|
3. **Determine o Componente da CIF:** Para os conceitos vinculados à CIF, identifique a qual dos quatro componentes principais ele pertence, baseado na natureza do conceito e no código (se disponível): |
|
* **Funções Corporais (b):** Relaciona-se com códigos iniciados pela letra "b". |
|
* **Estruturas Corporais (s):** Relaciona-se com códigos iniciados pela letra "s". |
|
* **Atividades e Participação (d):** Relaciona-se com códigos iniciados pela letra "d". |
|
* **Fatores Ambientais (e):** Relaciona-se com códigos iniciados pela letra "e". |
|
4. **"Não Definido":** Se um termo ou conceito for claramente mencionado na CIF (seja no contexto ou no seu conhecimento geral), mas não puder ser categorizado em nenhum dos quatro componentes principais da CIF, classifique-o como "Não definido." Isso é raro, mas possível para termos mais genéricos ou que exigem mais contexto para uma vinculação específica. |
|
|
|
**Formato da Saída:** |
|
Para cada **Conceito Principal** identificado na `Frase de Entrada do Usuário`, retorne um bloco de texto, respeitando o idioma de entrada, com a seguinte estrutura: |
|
- Frase de Entrada: [A frase original] |
|
- Conceito Significativo: [O conceito significativo extraído da frase] |
|
- Status de Cobertura pela CIF: ["Coberto", "Não Coberto (N.C.)", ou "Não Definido (N.D.)"] |
|
- Categoria CIF: [Se "Coberto", indique: "Funções Corporais", "Estruturas Corporais", "Atividades e Participação", "Fatores Ambientais". Caso contrário, retorne "N.C." ou "N.D.""] |
|
- Codificação CIF: [Se "Coberto", o código e título mais relevante da CIF. Caso contrário, retorne "N.C." ou "N.D."] |
|
- Descrição CIF: [Se "Coberto", a descrição completa ou parte dela que se relaciona mais diretamente com o conceito. Caso contrário, retorne "N.C." ou "N.D."] |
|
- Justificativa da Classificação: [Explique brevemente por que o conceito foi classificado dessa forma, referenciando o contexto RAG quando usado, ou explicando a lógica da classificação com base no seu conhecimento da CIF.] |
|
|
|
**Frases**: |
|
{input_text} |
|
**Contexto**: |
|
{context} |
|
""" |
|
|