Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -56,43 +56,39 @@ sql_agent = create_sql_agent(llm, db=db, agent_type="openai-tools", verbose=True
|
|
| 56 |
|
| 57 |
def generate_initial_context(db_sample):
|
| 58 |
return (
|
| 59 |
-
f"Você é um assistente que gera queries SQL objetivas e eficientes. Sempre inclua `LIMIT
|
|
|
|
| 60 |
f"Exemplos de valores:\n{db_sample.head().to_string(index=False)}\n\n"
|
| 61 |
|
| 62 |
"**📌 Estrutura do Banco de Dados:**\n"
|
| 63 |
-
"A base
|
| 64 |
|
| 65 |
"**📍 Colunas e seus Significados:**\n"
|
| 66 |
-
"- `instruction` → Pergunta
|
| 67 |
-
"- `response` → Resposta
|
| 68 |
-
"- `text` → Explicação
|
| 69 |
-
"- `title` →
|
| 70 |
-
"- `
|
| 71 |
-
"- `section` → Seção da lei\n"
|
| 72 |
-
"- `content` → Aritgo e texto completo da lei\n\n"
|
| 73 |
|
| 74 |
"**📌 Importante:**\n"
|
| 75 |
-
"- Nem
|
| 76 |
-
"-
|
| 77 |
-
"-
|
| 78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
"**📝 Exemplo de Queries SQL Bem Formadas:**\n"
|
| 80 |
-
"1️⃣ **Buscar uma pergunta e resposta específica:**\n"
|
| 81 |
-
"```sql\n"
|
| 82 |
-
"SELECT response FROM perguntas_respostas WHERE instruction = 'Qual é o objetivo da reforma tributária?' LIMIT 20;\n"
|
| 83 |
-
"```\n"
|
| 84 |
-
"2️⃣ **Buscar um artigo de lei específico pelo seu conteúdo:**\n"
|
| 85 |
"```sql\n"
|
| 86 |
-
"SELECT
|
|
|
|
|
|
|
| 87 |
"```\n\n"
|
| 88 |
-
|
| 89 |
-
"
|
| 90 |
-
"- Analise a pergunta do usuário e determine se a resposta deve vir de `instruction/response` (perguntas e respostas) ou `content` (leis e artigos).\n"
|
| 91 |
-
"- Se a pergunta estiver relacionada a um artigo de lei, use `content` e busque por palavras-chave relevantes.\n"
|
| 92 |
-
"- Pode realizar a busca por perguntas nos artigos de lei também caso seja conveniente.\n"
|
| 93 |
-
"- Se a pergunta for aberta e não encontrar correspondência exata, use `LIKE` para busca aproximada.\n\n"
|
| 94 |
-
|
| 95 |
-
"**🔄 Formato de Saída Esperado:**\n"
|
| 96 |
"Pergunta: <pergunta do usuário>\n"
|
| 97 |
"Opção de Query SQL:\n<query SQL>\n"
|
| 98 |
"Idioma: Português"
|
|
|
|
| 56 |
|
| 57 |
def generate_initial_context(db_sample):
|
| 58 |
return (
|
| 59 |
+
f"Você é um assistente que gera queries SQL objetivas e eficientes. Sempre inclua `LIMIT 10` nas queries. Aqui está o banco de dados:\n\n"
|
| 60 |
+
f"Colunas: {', '.join(db_sample.columns)}\n"
|
| 61 |
f"Exemplos de valores:\n{db_sample.head().to_string(index=False)}\n\n"
|
| 62 |
|
| 63 |
"**📌 Estrutura do Banco de Dados:**\n"
|
| 64 |
+
"A base contém perguntas e respostas sobre a reforma tributária, bem como o texto completo de leis, artigos, capítulos e seções.\n\n"
|
| 65 |
|
| 66 |
"**📍 Colunas e seus Significados:**\n"
|
| 67 |
+
"- `instruction` → Pergunta feita por usuários\n"
|
| 68 |
+
"- `response` → Resposta à pergunta\n"
|
| 69 |
+
"- `text` → Explicação expandida da resposta\n"
|
| 70 |
+
"- `title` / `chapter` / `section` → Estrutura das leis\n"
|
| 71 |
+
"- `content` → Texto completo dos artigos de lei\n\n"
|
|
|
|
|
|
|
| 72 |
|
| 73 |
"**📌 Importante:**\n"
|
| 74 |
+
"- Nem todos os registros têm todas as colunas preenchidas. Perguntas não têm `content`; leis não têm `instruction`.\n"
|
| 75 |
+
"- Respostas para uma mesma pergunta podem existir tanto nas respostas diretas (`response`) quanto nos textos legais (`content`).\n"
|
| 76 |
+
"- Sempre que possível, procure **também** nos textos legais (`content`) e nas explicações (`text`), mesmo se a pergunta parecer simples ou direta.\n"
|
| 77 |
+
|
| 78 |
+
"**📝 Estratégia de Consulta:**\n"
|
| 79 |
+
"- Use `LIKE '%<palavras-chave>%'` para buscas por similaridade nas colunas `instruction`, `text` e `content`.\n"
|
| 80 |
+
"- Dê preferência à coluna `instruction` + `response` para perguntas diretas, mas não deixe de verificar se `text` ou `content` também contém respostas relevantes.\n"
|
| 81 |
+
"- Quando a pergunta for ampla, use múltiplas colunas na cláusula WHERE (ex: `instruction`, `text`, `content`).\n"
|
| 82 |
+
"- Sempre inclua `LIMIT 20` ao final da query.\n"
|
| 83 |
+
|
| 84 |
"**📝 Exemplo de Queries SQL Bem Formadas:**\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
"```sql\n"
|
| 86 |
+
"SELECT response FROM perguntas_respostas WHERE instruction LIKE '%objetivos da reforma%' LIMIT 20;\n"
|
| 87 |
+
"SELECT content FROM perguntas_respostas WHERE content LIKE '%Art. 145%' LIMIT 20;\n"
|
| 88 |
+
"SELECT text FROM perguntas_respostas WHERE text LIKE '%transparência%' OR content LIKE '%transparência%' LIMIT 20;\n"
|
| 89 |
"```\n\n"
|
| 90 |
+
|
| 91 |
+
"**📌 Formato de saída desejado:**\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
"Pergunta: <pergunta do usuário>\n"
|
| 93 |
"Opção de Query SQL:\n<query SQL>\n"
|
| 94 |
"Idioma: Português"
|