Omnigraph
그래프 엔진으로 컨텍스트를 조립하고, 객체 저장소 기반에서 에이전트가 코드처럼 그래프 데이터를 분기·타입·검토·병합·감사·거버넌스합니다
2026 Accenture GenAI 수상. 스페인 합성 인구 25000명으로 지역, 성별, 나이별 설문 답을 예측
🏆 Winner, Accenture GenAI Mavericks 2026. Synthetic population of Spain (25,000 profiles) that predicts survey answers by region, sex and age, with a validated confidence traffic light. CIS-trained m
데이터HTML · PythonGitHub @jjaramillo2023온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기🏆 Winner, Accenture GenAI Mavericks 2026. Synthetic population of Spain (25,000 profiles) that predicts survey answers by region, sex and age, with a validated confidence traffic light. CIS-trained models + local LLM.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A synthetic population of Spain that predicts how Spanish society would answer a survey question, a campaign or an A/B test, broken down by region, sex and age, with a confidence traffic light that tells you how far to trust each answer.
🏆 Winner of the Accenture GenAI Mavericks Challenge 2026, Challenge 3: "Synthetic Population of Spanish Society".
| ▶️ Live demo (554 precomputed questions) | https://jjaramillo2023.github.io/pulso/?preguntas |
| 🌐 Project site | https://jjaramillo2023.github.io/pulso/proyecto/ |
| 🎤 Final pitch deck (with demo videos) | https://jjaramillo2023.github.io/pulso/presentacion/ |
The interface is in Spanish, since the product is built for the Spanish market.
A national survey in Spain takes weeks and can cost hundreds of thousands of euros. Asking a general-purpose LLM is instant, but its answers reflect stereotypes rather than people. We measured how bad that is. With no data behind it, an LLM says that 12 % of Spaniards over 60 are very worried about climate change. The CIS (Spain's public survey institute) measured 60 %.
You type a question and its answer options. pulso answers in seconds with the predicted distribution for Spain and for every region, sex and age group. Each answer carries a label that says which evidence it rests on:
| Level | When it applies | How it answers | Measured error |
|---|---|---|---|
| 🟢 Model trained on the CIS | The CIS has already asked this question | A weighted multinomial logistic regression per question, trained on CIS microdata (9 studies, ~37,000 interviews), predicts the answer of each synthetic person | ≈0.5 pp on the same survey; 1.8 pp nationally and 4.8 pp by region when predicting the next edition of the survey (24 repeated questions) |
| 🟡 LLM anchored on the CIS | The CIS asked something similar | 100 archetypes answer with a local LLM (llama3.1:8b, reading token log-probabilities), each one conditioned on attitudes measured in the CIS | ±14 pp (n = 14) |
| 🔴 LLM with Spanish profiles | A brand new question | The same simulation without CIS anchoring. Exploratory only | ±20 pp (n = 6) |
All the errors are mean absolute errors in percentage points, measured against real CIS results by the validation scripts in this repo.
We compared pulso with an LLM that has no data on 176 questions where the real CIS answer is known:
flowchart LR
Q[Question + options] --> S[Semantic search over the CIS question bank<br/>bge-m3 embeddings]
S --> J{LLM judge:<br/>same, similar or new?}
J -- same, similarity ≥ 0.83 --> G[🟢 Per-question model<br/>trained on CIS microdata]
J -- similar --> A[🟡 100 archetypes answer with llama3.1:8b<br/>anchored on CIS attitudes]
J -- new --> R[🔴 100 archetypes answer with llama3.1:8b<br/>Spanish profiles only]
G --> P[25,000 synthetic people<br/>INE census, ECV, ICT survey + CIS imputation]
A --> K[Each person inherits from its<br/>8 nearest archetypes]
R --> K
K --> P
P --> O[Weighted results for Spain,<br/>each region, sex and age group]
Every number shown in the product and in the deck comes from these scripts:
| Script | What it measures |
|---|---|
04_calibrar_simulador.py | Error of the LLM simulator against real CIS answers |
10_validar_ambar_rojo.py | Routes 23 calibration questions as if their own survey did not exist and measures the amber and red error |
11_validar_tiempo.py | Trains on one edition of a survey and predicts the next one (24 repeated questions). Repeating the old edition gives 1.5 / 1.8 / 2.9 / 4.9 pp (national / sex / age / region); pulso gives 1.8 / 2.1 / 3.1 / 4.8 pp |
motor.py (comparar), run by 05_precalcular_demo.py and 12_precalcular_catalogo.py | The 176-question comparison against an LLM without data |
Known limitations, stated openly. Region shares in the synthetic population are not exactly those of the INE (Madrid 12 % vs 14.5 %), and reweighting changes national totals by only 0.17 pp on average. Amber and red answers are exploratory and are always labelled as such. 41 implausible LLM answers were removed from the public catalogue rather than tuned.
├── index.html, app.js, … Published web app (static build, served by GitHub Pages)
├── datos/ Precomputed answers, validation results and the 25,000-person population
├── proyecto/ Project site
├── presentacion/ Final pitch deck with demo videos
├── docs/ Screenshots for this README
└── source/
├── trabajo/ Engine: harmonization, CIS models, LLM simulator, routing, validation, API
├── frontend/ Web app source
└── requirements.txt
pip install -r source/requirements.txt
ollama pull llama3.1:8b && ollama pull bge-m3
cd source/trabajo && python -m uvicorn servidor:app --port 8765 # open http://127.0.0.1:8765
The raw inputs are not redistributed here. CIS microdata can be downloaded for free from cis.es into source/datos_cis/microdatos/, and the synthetic population built by the team lives in the team repository. The scripts are numbered in the order they run. The published demo needs none of this, because it is fully precomputed.
I designed and wrote the pulso engine and product end to end: the harmonization of CIS and INE data, the per-question CIS models, the LLM archetype simulator, semantic routing with the LLM judge, all the validation, the API, the web app, the static deployment and the final pitch deck, which I also presented.
Team: Juan José Jaramillo (engine, frontend and pitch), Adrián and Ainhoa (synthetic population database), Guillermo (backend), Anton Pogromskyy (visuals and frontend). The full team repository is anton-p0g/Accenture.
All the profiles are synthetic, so no real individual can be identified. The sources are open (INE, CIS). Every answer is labelled with its level of evidence and its measured error, in line with the transparency obligations of Article 50 of the EU AI Act. The results are model predictions and do not replace a real survey.