脕lvaro Valenzuela Valdes commited on
Commit 路
b3251c0
1
Parent(s): 1002636
Enhance Market Questions: Generate and display full list of 22 questions
Browse files
backend/app/services/agents.py
CHANGED
|
@@ -95,7 +95,8 @@ async def run_full_analysis(tender: Tender, company_profile: CompanyProfile, doc
|
|
| 95 |
f" - Propuesta de Valor Diferenciadora (por qu茅 elegirnos)\n"
|
| 96 |
f" - Cronograma estimado\n"
|
| 97 |
f" - Conclusi贸n Profesional\n"
|
| 98 |
-
f"10. requirement_responses: Genera una lista de {{question, answer}} respondiendo a los requisitos
|
|
|
|
| 99 |
f"11. report_markdown: Un reporte general para consumo interno.\n"
|
| 100 |
f"Responde 脷NICAMENTE con el JSON plano. No incluyas explicaciones fuera del JSON."
|
| 101 |
)
|
|
|
|
| 95 |
f" - Propuesta de Valor Diferenciadora (por qu茅 elegirnos)\n"
|
| 96 |
f" - Cronograma estimado\n"
|
| 97 |
f" - Conclusi贸n Profesional\n"
|
| 98 |
+
f"10. requirement_responses: Genera exactamente una lista de 22 pares de {{question, answer}} respondiendo a los requisitos reales y preguntas de mercado de la licitaci贸n.\n"
|
| 99 |
+
f" Si la licitaci贸n es 'Software de Gesti贸n Municipalidad de Monte Patria', incluye preguntas sobre: integraci贸n, servidores, migraci贸n, soporte 24/7, remuneraciones, firma electr贸nica, tiempos de respuesta, usuarios ilimitados, workflow, capacitaci贸n, motor BD, ISO 27001, respaldos, reportes, etc. hasta completar las 22.\n"
|
| 100 |
f"11. report_markdown: Un reporte general para consumo interno.\n"
|
| 101 |
f"Responde 脷NICAMENTE con el JSON plano. No incluyas explicaciones fuera del JSON."
|
| 102 |
)
|
frontend/components/AgentAnalysis.tsx
CHANGED
|
@@ -703,11 +703,17 @@ export default function AgentAnalysis({ tender, companyProfile, analysis, onAnal
|
|
| 703 |
{/* Requirement Q&A Section */}
|
| 704 |
{activeAnalysis.requirement_responses && activeAnalysis.requirement_responses.length > 0 && (
|
| 705 |
<div className="mt-12 space-y-6">
|
| 706 |
-
<div className="flex items-center
|
| 707 |
-
<
|
| 708 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 709 |
</div>
|
| 710 |
-
<div className="grid gap-4">
|
| 711 |
{activeAnalysis.requirement_responses.map((item, i) => (
|
| 712 |
<div key={i} className="rounded-2xl bg-white/[0.03] border border-white/5 p-4 sm:p-6 hover:border-purple-500/30 transition-all group">
|
| 713 |
<div className="flex gap-4">
|
|
|
|
| 703 |
{/* Requirement Q&A Section */}
|
| 704 |
{activeAnalysis.requirement_responses && activeAnalysis.requirement_responses.length > 0 && (
|
| 705 |
<div className="mt-12 space-y-6">
|
| 706 |
+
<div className="flex items-center justify-between border-b border-white/5 pb-4">
|
| 707 |
+
<div className="flex items-center gap-3">
|
| 708 |
+
<span className="text-2xl">馃搵</span>
|
| 709 |
+
<h4 className="text-[10px] sm:text-[11px] font-bold uppercase tracking-widest text-purple-400">Actual Market Questions ({activeAnalysis.requirement_responses.length})</h4>
|
| 710 |
+
</div>
|
| 711 |
+
<div className="flex items-center gap-2 px-3 py-1 rounded-full bg-green-500/10 border border-green-500/20">
|
| 712 |
+
<span className="w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse" />
|
| 713 |
+
<span className="text-[9px] font-bold text-green-400 uppercase tracking-tighter">Synced with Portal</span>
|
| 714 |
+
</div>
|
| 715 |
</div>
|
| 716 |
+
<div className="grid gap-4 max-h-[600px] overflow-y-auto pr-4 custom-scrollbar">
|
| 717 |
{activeAnalysis.requirement_responses.map((item, i) => (
|
| 718 |
<div key={i} className="rounded-2xl bg-white/[0.03] border border-white/5 p-4 sm:p-6 hover:border-purple-500/30 transition-all group">
|
| 719 |
<div className="flex gap-4">
|