diff --git a/conf.py b/conf.py
index 3b6189cc2..fbfef1005 100644
--- a/conf.py
+++ b/conf.py
@@ -927,7 +927,7 @@
# A small copyright notice for the page footer (in HTML).
# (translatable)
-CONTENT_FOOTER = 'Contents © {date} {author} - Powered by Nikola {license}Aporta a PyAr con tu donación'
+CONTENT_FOOTER = 'Contents © {date} {author} - Powered by Nikola {license}Aporta a PyAr con tu donación'
# Things that will be passed to CONTENT_FOOTER.format(). This is done
# for translatability, as dicts are not formattable. Nikola will
diff --git a/scrap_y_chroma/chroma_http_client.py b/scrap_y_chroma/chroma_http_client.py
new file mode 100644
index 000000000..af6fb5790
--- /dev/null
+++ b/scrap_y_chroma/chroma_http_client.py
@@ -0,0 +1,11 @@
+import chromadb
+
+cliente = chromadb.HttpClient(host='127.0.0.1', port=8010)
+
+
+collection = cliente.get_collection('pyar_searchbar_collection')
+
+print(collection.query(
+ query_texts='hola python',
+ include=['documents', 'metadatas']
+))
diff --git a/scrap_y_chroma/client.py b/scrap_y_chroma/client.py
new file mode 100644
index 000000000..9abe205b3
--- /dev/null
+++ b/scrap_y_chroma/client.py
@@ -0,0 +1,75 @@
+"""
+API REST en Flask
+Instrucciones para Windows:
+1. Instalar waitress: pip install waitress
+2. Ejecutar la aplicación: waitress-serve --port=3000 app:app
+
+@autor: Martinez, Nicolas Agustin
+"""
+# Importación de módulos necesarios
+
+from flask import Flask, request, jsonify, render_template
+from flask_cors import CORS
+import webbrowser, chromadb
+
+# Inicialización de la aplicación Flask
+app = Flask(__name__)
+
+
+@app.route('/')
+def index():
+ return render_template('index.html')
+
+@app.route('/pyar_search', methods=['POST'])
+def query_abc():
+ """
+ Endpoint para obtener similitudes basadas en el texto proporcionado.
+
+ Entrada: JSON con el campo 'text'
+ Salida: JSON con las similitudes encontradas o un objeto JSON vacío en caso de error
+
+
+ """
+ collection_name = 'pyar_searchbar_collection'
+ collection = client.get_collection(collection_name)
+
+ # Obtener datos del cuerpo de la solicitud
+ #data:dict = request.json
+ #print('DENTRO DE query_abc() EN APP.py')
+ data = request.json
+ print('data:', data)
+ # Si no hay datos, retornar None
+ if not data:
+ return None
+
+ # Extraer el texto del JSON
+ pregunta:str = data['pregunta']
+
+ # Intentar obtener similitudes y devolver la respuesta
+ try:
+ response:chromadb.QueryResult = collection.query(
+ query_texts=pregunta,
+ n_results=5,
+ include=['documents', 'metadatas', 'distances'])
+
+ #return response
+ print(response)
+ return jsonify(response)
+
+ except Exception as e:
+ # Imprimir el error y devolver un objeto JSON vacío
+ print('Error al obtener similitudes:', e)
+ return {}
+
+if __name__ == '__main__':
+ #webbrowser.open('http://localhost:8010')
+
+ client = chromadb.HttpClient(host='127.0.0.1', port=8010)
+ # Habilitación de CORS para la aplicación
+
+ CORS(app)
+
+ # (Opcional) Para montar la API en línea, descomentar la siguiente línea
+ # run_with_ngrok(app)
+
+ app.run(host='localhost', port=5500, debug=True)
\ No newline at end of file
diff --git a/scrap_y_chroma/data/url_content_searchbar.csv b/scrap_y_chroma/data/url_content_searchbar.csv
new file mode 100644
index 000000000..a7fe26bfc
--- /dev/null
+++ b/scrap_y_chroma/data/url_content_searchbar.csv
@@ -0,0 +1,883 @@
+TITLE;URL
+Mailtopyar At Python Dot Org Dot Ar;mailtopyar-at-python-dot-org-dot-ar
+Edupythoncd;edupythoncd
+@``me@;omar-vega
+Merchandising Pyconar 2011;merchandisingpyconar2011
+Pyar Santa Fe;santafe
+Cristianskalican;cristianskalican
+Lala;lala
+Material De Difusión Pyconar 2011;materialpyconar2011
+Extraer Direcciones De Email De Un Texto;extraermails
+¿quiénes Somos?;quienessomos
+Horaciobertorello;horaciobertorello
+Usuariosbuscandohosting;usuariosbuscandohosting
+Orms;orms
+Pablo Petenello;pablopetenello
+Dieresys;dieresys
+Eloy Colell;eloycolell
+Prueba;prueba
+Mauricio Jos(C3a920)tobares;mauricio-josc3a920tobares
+Aafigure Parser;aafigure
+Test;test
+Resultado;remerasv2
+Terminales Interactivas;terminalesinteractivas
+Call For Charlas Pyconar 2011;cfcpyconar2011
+Preguntasfrecuentes;preguntasfrecuentes
+Recursos;recursos
+Python 3000 = Py3k = 3.x;python3mil
+Angel Velásquez;angelvelasquez
+Call For Charlas;callforcharlas
+Daniel F Moisset;danielmoisset
+Sugerencias;sugerencias
+Actividades;actividadespasadas
+Comparación De Rendimiento Entre Python, Java Y .net;rendimientopythonvsjavavsnet
+Readwritegroup;readwritegroup
+Becas Pyconar 2011;becaspyconar2011
+Uso De Python En La Universidad;usodepythonenlauniversidad
+Fixme;fixme
+Common_links;common_links
+Matias Gieco;matiasgieco
+Cómo Colaborar En El Wiki De Pyar;colaborandoenelwiki
+Pabloziliani;pabloziliani
+Pycon;actividades
+Joaquin Tita;joaquintita
+Categorycategory;categorycategory
+Agua;agua
+Helponmoinwikisynutax;helponmoinwikisynutax
+Elisabeth Hartwig;elisabeth-hartwig
+Servers Privados Virtuales;vpss
+Acerca De;marianoverdu
+El Zen De Python;pythonzen
+Fullsearchcategorycategoryvideo;fullsearchcategorycategoryvideo
+Pyconarvotacioncharlas;pyconarvotacioncharlas
+Nubis;nubis
+Viaje;viaje
+Test;test
+Intento 03 De Facundo Batista;facundobatista3
+Intento 02 De Cesar Roldan;cesarroldan2
+Intento 01 De Cesar Roldan;cesarroldan1
+Laubenech2;laubenech2
+Intención De Compra;preanotados
+Intento 02 De Facundo Batista;facundobatista2
+Versión 0.1 De Humitos;humitos1
+Laubenech3;laubenech3
+Laubenech6;laubenech6
+Intento 01 De Alecu;alecu1
+Ramiromorales1;ramiromorales1
+Pabloziliani1;pabloziliani1
+Intento 05 De Facundo Batista;facundobatista5
+Intento 04 De Facundo Batista;facundobatista4
+Laubenech4;laubenech4
+Pabloziliani2;pabloziliani2
+Intento 03 De Cesar Roldan;cesarroldan3
+Intento 01 De Hernán Balocco;hernanbalocco1
+Versión 1.0 De Nubis;nubis1
+Laubenech1;laubenech1
+Solo Un Ejemplo;solounejemplo0
+Intento 01 De Facundo Batista;facundobatista1
+Intento 01 De Juanjo;juanjo1
+Laubenech5;laubenech5
+Diseño 1 De César Portela;cesarportela1
+Versión 2.0 De Nubis;nubis2
+Walikioff;walikioff
+@``martin Alderete@;martinalderete
+Mansoor Rana;compactoexquisito
+Variables, Valores Y Objetos;graficos
+Un Ejemplo De Class Decorators (Python 3);classdeco
+Alejandrodavidweil;alejandrodavidweil
+Llamadoasedepyconar2012;llamadoasedepyconar2012
+Alejandro J. Cura;alejandrojcura
+Ramiro Algozino;ramiroalgozino
+Afichepyconar2011;afichepyconar2011
+Todo;todo
+Saturdaynightninja;saturdaynightninja
+Codigo2;codigo2
+Codigo1;codigo1
+Prueba01;prueba01
+Py2exe;py2exe
+Tareas Realizadas;tareasrealizadas
+Juegos Realizados Por Pyar;juegos
+Typus Pocus - Version Final;typuspocus
+Worldst;worldst
+Osiris (Aka Osiux);osiris
+Librerias Para Juegos;libreriasparajuegos
+Pyar Tiene Plata, ¡gastémosla!;gastemosla
+Mariano Reingart;marianoreingart
+Página De Prueba, Por Favor No Borrar!!;buscandogente
+@``me@;ariel-barrios
+Themostbiggestgamestintheworldst;themostbiggestgamestintheworldst
+Guillermo Freschi;guillermofreschi
+H;h
+Nuevologo;nuevologo
+Juanjoconti;juanjoconti
+Recetario;recetario
+"Reverse (A.k.a. ""esrever"")";reverse
+Cómo Generar Un Histograma;histograma
+Extraer Direcciones De Email De Un Texto;extraermails
+Ttkholamundo;ttkholamundo
+Tk Wizards;tkwizards
+Winbatt (Ctypes + Powrprof.dll En Win);winbatt
+Cálculo De Dígito Verificador Módulo 10;calculardigitoverificadormodulodiez
+Tkwindowicon;tkwindowicon
+Comunicar Threads Con Colas;comunicarthreadsconqueue
+Chequear Interfaces Internet Linux;chequearinterfacesinternetlinux
+Interceptar Prints;interceptarprints
+Pythoncard;pythoncard
+Holamundo;holamundo
+Miprimermacro;miprimermacro
+Empaquetando Programas De Python Para Windows;crearejecutablewindows
+Check Distro Version;checkdistroversion
+Creando Un Nuevo Proyecto Python;creandounnuevoproyectopython
+Autocomplecion En Consola Interactiva;autocomplecionenconsolainteractiva
+Gtk On Tk;gtkontk
+Revisar Conexion;revisarconexion
+Gmailmail;gmailmail
+Obtener Sensacion Termica;obtenersensaciontermica
+Matrix Python Toy;matrixpythontoy
+Multiprocessing Y Threading;multiprocessingythreading
+Empaquetando Programas De Python Para Windows Desde Linux;crearejecutablewindowsdesdelinux
+Blowfish Con Blowfishpy;blowfishconblowfishpy
+Mini Galeria De Imagenes Bottle;galeria
+Hola Mundo Bottle;holamundo
+Simplesoapclient;simplesoapclient
+Xdg-Sudo;xdg-sudo
+Mapeando Memoria;mapeandomemoria
+Nado Sincronizado;nadosincronizado
+Mini Space Invaders;minispaceinvaders
+Nado Sincronizado;nadosincronizadodisco
+Como Levantar Un Servidor Http Simple;comolevantarunservidorhttpsimple
+Decodificar Entities De Html;decodehtmlentities
+Tkbuttonicon;tkbuttonicon
+Reloj Digital;relojdigital
+Root Check;rootcheck
+Listar Procesos;listarprocesos
+Servidor Interfase Com;servidorcom
+Tkonlineofflineicon;tkonlineofflineicon
+Test Formulario Con File Upload En Django;testformularioconfileupload
+Obtener Clase Original Cuando Hay Herencia;obtenerclaseoriginalcuandohayherencia
+Saber Si N Libreria Esta Instalada;sabersinlibreriaestainstalada
+Python Version Check;pythonversioncheck
+Factura Con Pyfpdf;facturapyfpdf
+Manejo Simple De Xml (Simplexmlelement);simplexmlelement
+Chequeo De Paquetes Con Apt;chequeo_de_paquetes_apt_linux
+Qt Multi Thread;qtmultithread
+Qt Imprimir Pagina Web A Pdf;qtimprimirpagina
+Extraer Un Archivo De Texto Embebido En Un Recurso .qrc;qtextraertextorecurso
+Dbfpy;dbfpy
+Keyboard Leds Demo;keyboardledsdemo
+Validar Cuit;validarcuit
+Iterar Sobre Pares;iterarsobrepares
+Obtener Ip Publica;ippublica
+Boton Grafico Tk;botongraficotk
+Modificación De Estilos En Rst2pdf;estilosrst2pdf
+Aletras;aletras
+Entendiendounicode;entendiendounicode
+Como Levantar Un Servidor Http Multithread;comolevantarunservidorhttpmultithread
+Tkversionprint;tkversionprint
+Detectar Y Notificar Dispositivos Usb;notificardispositivosusb
+Psycospeedup;psycospeedup
+Ventana De Password Que Vibra;ventanapasswordvibra
+La Cuestión;normalizarcaracteresunicode
+Tkscrollwhell;tkscrollwhell
+Bloquear Click Del Mouse;bloquearclickdelmouse
+Email Con Adjunto;emailconadjunto
+Obtener La Cantidad De Bytes Transferidos;obtenerbytestransferidos
+Locals De Una Funcion Que Lanzo Una Excepcion;localsdeunafuncionquelanzounaexcepcion
+Obtener Ubicacion Geografica;obtenerubicaciongeografica
+Alarma Precaria;alarmaprecaria
+Display Lcd De 7 Segmentos;displaylcd7segmentos
+Comobajartodoslosbuffersaldisco;comobajartodoslosbuffersaldisco
+Gtkvbox;vbox
+Grid;grid
+Gtkholamundo;holamundo
+Gtkstatusicon;statusicon
+Gtkerrorhandler;errorhandler
+Gtkmultithread;multithread
+Gtkdialog;dialog
+Gtkfuncionrunner;funcionrunner
+Gtkentrysolonumeros;entrysolonumeros
+Gtkrunner;runner
+Xmlrpcserver;xmlrpcserver
+Gtkconfirmclose;confirmclose
+Gtk Webkit Editor;webkiteditor
+Button;button
+Gtkprintnongtk;printnongtk
+Gtk Label Con Color;labelconcolor
+Gtkrichtext;richtext
+Buttonbox;buttonbox
+Menu;menu
+Gtkhbox;hbox
+Gtk Stock Items;stockitems
+Gtk Browser Con Web Inspector;browserconwebinspector
+Gtk Auto Complete;autocomplete
+Gtkentry;entry
+Gtk Listview;listview
+Erorhandler;erorhandler
+Emulador De Terminal Con Gtk Y Vte;emuladorterminal
+Gtkholamundooo;holamundooo
+Gtkgladeholamundooo;gladeholamundooo
+Multithread2;multithread2
+Pasarrecaptcha.rst;pasarrecaptcha
+Progressbar Y Urllib2;progressbarurllib2
+Xml A Diccionario;xmladiccionario
+Bandera Para Pyar;bandera
+Eugenia Bahit;eugeniabahit
+Martingaitan;martingaitan
+Facundo Batista;facundobatista
+Robertoperdomo;robertoperdomo
+Guillermogonzalez;guillermogonzalez
+Mensajes Excepcionales;mensajesexcepcionales
+Propuestas De Sede;pyconar2015
+Temp;temp
+Lucianorossi;lucianorossi
+Anthony Lenton;anthonylenton
+David Litvak;davidlitvak
+@luistucho@;luis-nagel
+Tareasrealizadas;tareasrealizadas
+Bar;bar
+Migrando La Lista De Correo;migracion
+Tablaides;tablaides
+Marcelo Gustavo Ametller;maram
+Willsantana;willsantana
+Asociación Civil:;asociacioncivil
+Manuelquinones;manuelquinones
+Cafeconf 2006;cafeconf2006
+*pyday Junín 2015*;pydayjunin2015
+Filly;filly
+Probando Send File;sendfile
+Call For Charlas;callforcharlas
+Pruebaloca;pruebaloca
+Ricardo Quesada;ricardoquesada
+Ayudadecontenidos.py;ayudadecontenidospy
+Mariano Guerra;marianoguerra
+Condornet;condornet
+Unmanualencadauniversidad;unmanualencadauniversidad
+Vbox;vbox
+Obteniendo Respuestas;obteniendorespuestas
+Adrián Pardini;adrianpardini
+Scipyar;scipyar
+Listab;listab
+Grupo De Entusiastas De Python;grupo-de-entusiastas-de-python
+Titulocharla;videotemplate
+Diego Ahumada;diegoahumada
+¿cómo Hacer Una Conferencia?;howtoconferencia
+Toquetonesgroup;toquetonesgroup
+Ramiro Morales (Aka Cramm);ramiromorales
+José Luis Dallapiccola;joseluisdallapiccola
+Danielmendoza;danielmendoza
+Remerasv3;remerasv3
+Alfonso Palomares;alfonsopalomares
+Sergio Vernis;sergiovernis
+Web2py;web2py
+Ezequiel Diaz Marquez;ezequielmarquez
+Leonardovidarte2;leonardovidarte2
+Manuelarguelles1;manuelarguelles1
+Aprovechen Antes De Que Limpiemos Los Shablones!;pedidos
+Leonardovidarte3;leonardovidarte3
+Leonardovidarte4;leonardovidarte4
+Manuelarguelles2;manuelarguelles2
+Luciotorre1;luciotorre1
+Manuelarguelles3;manuelarguelles3
+Leonardovidarte1;leonardovidarte1
+Ideas Para El Nuevo Sitio De Pyar;nuevositio
+User Preferences;preferenciasdelusuario
+Webkit;webkit
+Pyconar2014;pyconar2014
+Javier Castrillo;javiercastrillo
+Pyday;pyday
+Pyday2;pyday2
+Alojamiento Para Aplicaciones Web Python;alojamientowebpython
+@``me@;wwwhexactacom
+Infraestuctura;infraestuctura
+Hectorsanchez;hectorsanchez
+Hipbar;hipbar
+Características Esenciales Y Deseables En Un Ide;ideal
+Ejercicios;ejercicios
+Gabriel Genellina;gabrielgenellina
+Hipersayan_x;gonzalopedone
+Walter Alini;walteralini
+Material;material
+Segundoproyecto;segundoproyecto
+Como Crear Snippets En El Wiki;snippets
+Guardar Historial En Consola Interactiva;guardarhistorialenconsolainteractiva
+Cherrypy;cherrypy
+2018;2018
+Johnlenton;johnlenton
+Charlas Abiertas De Python En La Tribu;charlasabiertas2010
+Pycamp.orm, Haciendo Facil Usar Sqlalchemy :);pycamporm
+2008;2008
+Pyar Mencionado Entre Los Grupos De Interés De Python;listadodepigs
+Gvr Junto A La Bandera De Pyar;gvrybandera
+2010;2010
+Nueva Release De Python;python24
+2009;2009
+2007;2007
+20/12/2004;2004
+Foto By Mail;fotobymail
+Pythonpalm;pythonpalm
+1/07/2011;2011
+Inmersión En Python Ver. 5.4;inmersion54
+2005;2005
+2006;2006
+Aritmética Decimal;aritmeticadecimal
+Nicolás Pace;nickar
+Miembrosdepyar;miembrosdepyar
+Labanderadepyar;labanderadepyar
+Folletoscarteles;folletoscarteles
+Texteditordeadmatch;texteditordeadmatch
+Ideas Para Programar;ideas-para-programar
+Archive;archive
+Pythoneneldiaadia;pythoneneldiaadia
+Actividades Previas;actividadesprevias
+Emiliano Dalla Verde Marcozzi;emilianodallaverdemarcozzi
+Empresas Y Profesionales Que Trabajan Con Python;empresasyprofesionales
+Config;config
+Adopta Un Newbie;adoptaunnewbie
+Admingroup;admingroup
+Proyecto;proyecto
+Roberto Rodríguez;robertorodriguez
+Kola;kola
+Pycon;pycon
+Reunión Xx - Dd/mm/aaaa - Lugar;reuniontemplate
+Tareas Pendientes;tareaspendientes
+Pycon Argentina 2012 - Buenos Aires;pyconar2012bsas
+Pl/python: Python Dentro De Postgresql;plpython
+Diego Sarmentero;diegosarmentero
+Hernan Olivera;hernanolivera
+Orm001ogv;orm001ogv
+Pyweek;pyweek
+Tracebackinternationalizationproposal;tracebackinternationalizationproposal
+Planeta;planeta
+Arturo Elias Anton;arturoeanton
+Foo;foo
+Santiago Bruno;santiagobruno
+El Circo Errante;circoerrante
+Pruebavideo;pruebavideo
+Pyqt;pyqt
+Taller De Programación De Juegos;tallerjuegos
+Introducción A Python;introduccionapython
+!foobar (Virtualenv, Buildout, Nose);foobar
+Introducción Al Desarrollo Web Ii;introduccionaldesarrollowebii
+Python 3000;python3000
+Optimizando Python;optimizandopython
+Introducción Al Uso Y Desarrollo Con Plone;introduccionaplone
+Django;django
+Introducción Al Desarrollo Web;introduccionaldesarrollowebi
+Introducción A La Programación;introduccionalaprogramacion
+Wxpython;wxpython
+Introducción A Las Interfaces Gráficas De Escritorio Ii;introducciongui_ii
+Twisted;twisted
+Introducción A Las Interfaces Gráficas De Escritorio I;introducciongui_i
+Matiasbellone;matiasbellone
+Proyecto Edupython;edupython
+Roberto Allende (Aka R0ver);robertoallende
+Donde Viven Los Miembros De Pyar ?;miembrosdepyar
+Leandro E. Colombo Viña;leandrocolombovina
+Simonrodriguez;simonrodriguez
+Stickers;stickers
+Mariano Garcia;marianogarcia
+Invitacioncuentawave;invitacioncuentawave
+Pruebacal;pruebacal
+2010 10 15;2010-10-15
+Pycon2010;pycon2010
+2010 10 16;2010-10-16
+2010 09 04;2010-09-04
+Nicolas Cesar;nicocesar
+Pyconapp 2011;pyconapp
+Manuel Kaufmann;kaufmannmanuel
+Yaco (Santiágo Peresón);santiagopereson
+Angel Freire;angelfreire
+Pycon Argentina 2009;transportecompartido
+Pycon Argentina 2009;alojamientocompartido
+Dsitrubucion Afiches;distribucionafiches
+Llamado A Revisores - Pycon Arg. 2012;llamadorevisores
+Faltan Pocos Dias Para La Conferencia Y Necesitamos Voluntarios Para Algunas Tareas;llamadovoluntarios
+Temas Pendientes;temaspendientes
+Tareas Pendientes;tareaspendientes
+Instrucciones Para Encargados De Aula;encargadosaula
+Llamado A Sponsors Pycon Argentina 2012;llamadosponsors
+Llamado A Propuestas;llamadopropuestas
+Workshop Para Principiantes En Pycon Argentina 2012;workshop
+Pycon Argentina 2012;transportecompartido
+Pycon Argentina 2012;alojamientocompartido
+Llamado A Sedes Pycon Argentina 2013;llamadosedes
+Ayuda;ayuda
+Couchsurfing En Pyconar2013;couchsurfing
+Transportsurfing En Pyconar2013;transportsurfing
+Etiquetapyar;etiquetapyar
+La Bandera De Pyar Viaja Por El Mundo;labanderadepyar
+Martín Volpe;martinvolpe
+Recetariointerfaces_graficas;recetariointerfaces_graficas
+Martín Chikilian;martinchikilian
+Declaración De Diversidad;diversidad
+Leandro Monk;leitomonk
+Alejandro Santos;alejandrosantos
+Python Ya;python-ya
+Desarrollador Jr O Ssr Django Y Javascript;desarrollador-jr-o-ssr-django-y-javascript
+Mini Ejemplos;miniejemplos
+Pruebamail;pruebamail
+Pycamp;pycamp
+Patriciomolina;patriciomolina
+;xml
+Irc;irc
+Hitchhiker's Guide To Make A Pyconar2010;hgttp
+Gauchitogil;gauchitogil
+Reuniones;reuniones
+Chistes Y Qotw (Frases De La Semana);chistes
+Mini Preguntas Frecuentes;minifaq
+Contribuyendo Al Wiki;contribuyendoalwiki
+Marcos Dione;marcosdione
+Marcelofernandez;marcelofernandez
+Dominios De Python Argentina;dominios
+Primerproyecto;primerproyecto
+Pycamp2009resultados;pycamp2009resultados
+Maximiliano Churichi;maximilianochurichi
+Call For Charlas Pyconar Anio;callforcharlastemplate
+Emilio Ramirez;emilioramirez
+Comparación De Entornos De Desarrollo;ides
+Distutils;distutils
+Diego Sarmentero (Gatox);gatox
+Joaquinsorianello;joaquinsorianello
+Pyar Y Python En Los Medios;enlosmedios
+Marianoguerra/holamundo;holamundo
+Aprendiendo Python;aprendiendopython
+Santiago Suarez Ordoñez;santiagosuarezo
+Cdpedia On Android;cdpedia-on-android
+Remeras De Pyar;remeras
+Martín Conte Mac Donell;martincontemacdonell
+Lucio Torre;luciotorre
+Migración A Debian Wheezy;servidor
+@``me@;pabloalejandrocostesich
+Callforcharlasinvitaciontemplate;callforcharlasinvitaciontemplate
+Juanfisanotti;juanfisanotti
+Pep;pep
+Charlas;charlas
+Sebastián Lezica;sebastianlezica
+Archivo;archivo
+Trabajos;trabajos
+Proximareunion;proximareunion
+@``me@;alecutest2
+Nicolás Echániz;nicoechaniz
+Clases De Python;clasesdepython
+Ricardo Kirkner;ricardokirkner
+Web Server Gateway Interface;wsgi
+Sebastián;sebastianseba
+Buzospyar;buzospyar
+Horacio Durán (Perrito);horacioduran
+Visualbasic;visualbasic
+Taller Olpc;tallerolpc
+Gonzalolarralde;gonzalolarralde
+Foro Y Redes;listadecorreo
+Albertopaparelli;albertopaparelli
+Brygevel;brygevel
+Admin;admin
+Juanjociarlante;juanjociarlante
+@``me@;venenito
+Alberto Pastor;alberto-pastor
+Google Summer Of Code (Becas);gsoc
+Renzo Carbonara;renzocarbonara
+Python Argentina;pyar
+Interesados En Recibir Ofertas De Trabajo Utilizando Python;interesadosentrabajo
+Fullsearchcachedcategorywxpython;fullsearchcachedcategorywxpython
+Interfaces Gráficas (Gui);interfacesgraficas
+Pablo Seminario;pabloseminario
+Mariano Mara;marianomara
+Google Summer Of Code 2023 (Ideas);2023
+Google Summer Of Code Ideas (Index);ideas
+Google Summer Of Code 2024 (Ideas);2024
+Google Summer Of Code 2022 (Ideas);2022
+2019;2019
+Unicode;unicode
+Foro Y Redes;foro_y_redes
+Acceso A Bases De Datos Desde Python: Interfaz Db-Api;dbapi
+Marcos Vanetta - Malev;marcosvanetta
+Ariel Alvarez;ariel-alvarez
+Badcontent;badcontent
+Compilarpython;compilarpython
+Gnomeart;gnomeart
+Información;informacion
+Contabilidad;contabilidad
+Sponsoring;sponsoring
+Logistica Durante El Evento;logistica
+Eleccion Del Equipo;equipo
+Marketing;marketing
+Lugar;lugar
+Logistica Pre Evento;logistica_pre
+Selección De Disertantes;disertantes
+Proyectos Pyar;proyectos
+Cronogramapyconar2011;cronogramapyconar2011
+Fotos!;2016
+Actividades;actividades
+Test;test
+Posibles Sedes Para El Pycamp 2016;posiblessedes
+¿un Qué?;2023
+How To Organizar Un Pycamp;howto
+¿un Qué?;2017
+Actividades;actividades
+Posibles Sedes Para El Pycamp 2017;posiblessedes
+Ayuda Economica;ayudaeconomica
+2018;2018rst
+Que Se Hace En Un Pycamp;quesehace
+Pycamp 2010;2010
+Ático De Pycamp 2010;attic
+Que Llevar;quellevar
+Interesados En Asistir A Pycamp 2010;interesados
+Delinterior;delinterior
+Cronograma;cronograma
+Torneo Ping Pong;torneopingpong
+Temas Propuestos;temaspropuestos
+Tareas Pendientes;pendientes
+¿un Qué?;2022
+Evento Suspendido Por La Pandemia Covid-19;2020
+Código De Conducta;coc
+2009;2009
+Sprint Django;sprintdjango
+Como Llegar En Auto Particular;comollegar
+Pycamp Argentina 2009;quienesvan
+Grupos Para Ir A Pycamp;transporte
+Fotos Del Pycamp 2009;fotos
+Naushikang;naushikang
+Requerimientos Dietarios;requerimientosdietarios
+Temas Propuestos;temaspropuestos
+Programa;programa
+¿un Qué?;2018
+Actividades;actividades
+Pycamp 2011;2011
+Temas Desarrollados;temasdesarrollados
+Pycamp 2011: Proyectos En Los Que Laburamos;proyectoslaburados
+Que Llevar;quellevar
+Interesados;interesados
+Desde Cordoba Capital;desdecordobacapital
+Temas Propuestos;temaspropuestos
+¿un Qué?;2021
+Pycamp 2012;2012
+Idea: Editor De Ebooks Online Y Colaborativo;editordeebooks
+Que Llevar;quellevar
+Interesados;interesados
+Hackeando Kinect En El Pycamp;kinect
+Cronograma;cronograma
+Proyectos;temaspropuestos
+Workshop Para Principiantes Pre-Pycamp;workshop
+Proyectos En Los Que Se Trabajó Durante El Pycamp 2012;proyectos
+Pycamp 2015;2015
+Alineador De Antenas;actividades
+Votación De Sede Pycamp 2015;votos
+Posibles Sedes Para El Pycamp 2015;posiblessedes
+Pycamp 2014;2014
+Votación Pycamp 2014;votos
+Distribución De Humanoides En Habitaciones;rooming
+Becas;becas
+Temas Propuestos Para El Pycamp 2014;temaspropuestos
+Posibles Sedes Para El Pycamp 2014;posiblessedes
+Organizar Un Pycamp;organizandounpycamp
+2018;2018
+¿un Qué?;2019
+Actividades;actividades
+Posibles Sedes Para El Pycamp 2019;posiblessedes
+Pycamp 2013;2013
+Votación Pycamp 2013;votos
+Organización De Habitaciones;habitaciones
+Ayuda Económica Para Ir Al Pycamp;becas
+Temas Propuestos Para El Pycamp 2013;temaspropuestos
+Posibles Sedes;posiblessedes
+Mudanza De Servidores De Dns;mudanzaservidoresdominio
+Tutorial;tutorial
+Test;test
+Hugo Ruscitti;hugoruscitti
+Benjapy;benjapy
+Soneban;soneban
+Salbarracin;salbarracin
+Gilgamezh;gilgamezh
+Cmenta;cmenta
+Mauriciobaeza;mauriciobaeza
+Lacpac23;lacpac23
+Sysface;sysface
+Idoneus;idoneus
+Juanandres438;juanandres438
+Alejandro_0101;alejandro_0101
+Wolchesky;wolchesky
+Sebbasfernandez;sebbasfernandez
+Hatsem78;hatsem78
+Pamparider;pamparider
+Zontxo;zontxo
+Numaelis;numaelis
+Centertek;centertek
+Maurosl;maurosl
+Gbaume;gbaume
+Nrivollier;nrivollier
+Patricio81;patricio81
+Matibarriento;matibarriento
+Fernandolamasw;fernandolamasw
+Luciano1994;luciano1994
+Walexnet;walexnet
+Inafontan;inafontan
+Jquintas;jquintas
+Sam;sam
+Vonpixarg;vonpixarg
+Andresdevops;andresdevops
+Martingaitan;martingaitan
+Amjalca;amjalca
+Facundo Batista;facundobatista
+Inokis;inokis
+Btenaglia;btenaglia
+Cesarroldan;cesarroldan
+Fideo;fideo
+Correanicolas;correanicolas
+Gavalen;gavalen
+Matiasgabrieln;matiasgabrieln
+Uxun;uxun
+Danymana;danymana
+Herchila;herchila
+Andres14;andres14
+Mmartinovic;mmartinovic
+Jigcau89;jigcau89
+Debrivero;debrivero
+Fullpaint;fullpaint
+2immarketing;2immarketing
+Crisovando;crisovando
+Sebastián Seba;ssebastianj
+Ginomarcellino;ginomarcellino
+Knonical;knonical
+Ssergio;ssergio
+Walter Alini;walteralini
+Agustin92;agustin92
+Danis;danis
+Humitos;humitos
+Juanpablo064;juanpablo064
+Bgeninatti;bgeninatti
+Selfprint;selfprint
+Mirlo;mirlo
+Buongarzoni;buongarzoni
+Teury;teury
+Sserrano44;sserrano44
+Keyleron;keyleron
+Tomyfer11;tomyfer11
+Skrullchull;skrullchull
+Ignacionicolasalvarez;ignacionicolasalvarez
+Edwinr2000;edwinr2000
+Tapicer;tapicer
+Noeliabruscoli;noeliabruscoli
+Jotajota 2012;jotajota-2012
+Jdromero1;jdromero1
+Becerra1982;becerra1982
+Empoisoner;empoisoner
+Joseernestomoralesventura;joseernestomoralesventura
+Carloscarlossouthpalscom;carloscarlossouthpalscom
+Tin;tin
+Franco_jerke;franco_jerke
+Debianitram;debianitram
+Carasucia;carasucia
+Falcho;falcho
+Alejandra;alejandra
+Gustavofurlan;gustavofurlan
+Intligente;intligente
+Lucaspyar;lucaspyar
+Acondori;acondori
+Mbaragiola;mbaragiola
+Guido;guido
+Rbellanti;rbellanti
+Ekimal;ekimal
+Frobriel;frobriel
+Pab;pab
+Eliobastias;eliobastias
+Ernestto;ernestto
+Diegoduncan21;diegoduncan21
+Dgonzalez;dgonzalez
+Ferjavrec;ferjavrec
+Armando;armando
+Jorgermc123;jorgermc123
+Fausto10;fausto10
+Victor;victor
+Seelaff;seelaff
+Dnc91;dnc91
+Ramon27;ramon27
+Sebasgiustra;sebasgiustra
+Werben;werben
+Scrdsindia;scrdsindia
+Oconner;oconner
+Noticias;noticias
+Sebastian Bassi;sebastianbassi
+Gabriel Brunacci;gabrielbrunacci
+Whyfloss Conference Bsas;whyfloss
+Lista De Charlas Realizadas;lista-de-charlas-realizadas
+Eventos;eventos
+Reunion66;reunion66
+Sprint Olpcserver;olpcserver
+Wikipediaoffline1;wikipediaoffline1
+Pyconargentina2009;pyconargentina2009
+Pyconar 2017;pyconar2017
+Pyconargentina2010;pyconargentina2010
+Propuesta De Sede Para Pycon Argentina 2018;propuestasedecaba
+Organización Del Pyday Rafaela 2010;pydayrafaela2010
+Pyar En Cafeconf 2006;cafeconf2006
+Pyconar 2016;pyconar2016
+Pyday Buenos Aires 2010;pydaybuenosaires2010
+Pyconar 2013;pyconar2013
+Pyconar 2020;pyconar2020
+Propuesta De Sede Para Pycon Argentina 2020;propuestaejemplo
+Viaje;viaje
+¿quiénes Somos?;propuestasedebahia
+Carteles;carteles
+Propuestas De Sedes;pyconar2014
+Propuesta Sede Córdoba:;propuestasedecordoba
+Pyconar 2013;pyconar2013
+Python En Las 8jrsl;8jrsl
+Propuesta Tentativa Pyconar 2013 En Córdoba Capital;propuestadepycon2013encordobacapital
+Pycon Argentina 2013 - Rosario;propuestadepycon2013enrosario
+Pycon 2006;pycon2006
+Organización Pyday Rafaela 2012;pydayrafaela2012
+Pyconar 2018;pyconar2018
+2da Jornada De Python En Santa Fé;2jornadapythonstafe
+Pycon Argentina;procesoseleccion
+Haciendo Videojuegos Con Pilas;pythonpilas
+Mythbusters: Tests;pythontests
+Comunidad, Anarquía Y Subversión;comunidadanarquiasubversion
+Python, Sugar Y Robotica Educativa;pythonsugaricaro
+Pyday 2011;cordoba
+Conferencias;conferencias
+Reunion66;reunion66
+"Reunión 27 - 07/05/2008 19hs - Bar ""el Clásico"", Buenos Aires";reunion27
+Reunión 33 - 15/11/2008 - Balcarce Lounge, Rosario;reunion33
+Reunión 32 - 18/09/08 - Except, Córdoba Capital;reunion32
+"Reunión 29 - 09/05/08 - Bar ""plataforma"", Santa Fe";reunion29
+Reunión 28 - 08/05/2008 - Facultad De Ciencias Exactas Físicas Y Naturales, Subsuelo Aula 100, Córdoba, Argentina;reunion28
+"Reunión 34 - Miércoles 03/12/2008 - Bar ""el Imaginario Cultural"", Buenos Aires - 19:30hs";reunion34
+"Reunión 30 - Jueves 21/08/2008 - Bar ""el Clásico"", Buenos Aires";reunion30
+Reunión 25 - 16/02/2008 - Centro Allen Gardiner, Los Cocos, Córdoba;reunion25
+Reunión 26 - 05/03/2008 - El Clásico Bar, Buenos Aires;reunion26
+Reunión 31 - 06/09/08 - Balcarce Lounge, Rosario;reunion31
+Reunion68;reunion68
+Reunion69;reunion69
+Reunion67;reunion67
+Reunión 42 - 28 De Mayo De 2010 - Bar Dr Mason, Buenos Aires - 19:00;reunion42
+Reunión 43 - Martes 24 De Agosto - Ciudad De Cordoba, En Alfonsina De Belgrano -- 19hs;reunion43
+Reunión 40 - Sábado 06/03/10 - Durante El Pycamp, En Verónica;reunion40
+Reunión 45 - Jueves 16 De Diciembre - Ciudad De Buenos Aires, En El Bar De La Esquina De Medrano Y Guardia Vieja - 19hs;reunion45
+Reunión 41 - Sábado 08/05/10 - Al Finalizar El Pyday, En Rafaela;reunion41
+Reunión 46 - 7 De Diciembre - Ciudad De Cordoba, En Alfonsina (Casa Tomada) Belgrano 763.;reunion46
+Reunión 44 - Jueves 26 De Agosto - Ciudad De Buenos Aires, En El Bar De La Esquina De Medrano Y Guardia Vieja - 19hs;reunion44
+Reunión 35 - Viernes 13/03/2009 - Buenos Aires - 19:30hs;reunion35
+Reunión 39 - Martes 17/11 - Buenos Aires - 19:00 Hs;reunion39
+Reunión 38 - Sábado 7/11 - Rafaela - 20:00 Hs;reunion38
+Reunión 36 - Sábado 02/05/09 - Bar El Cairo, Rosario;reunion36
+"Reunión 37 - Sábado 22/08/09 - Bar ""el Cairo"", Rosario, Argentina - 15.00hs";reunion37
+Reunión 24 - 19/09/2007 - Hip Bar, Buenos Aires;reunion24
+Reunión 22 - 25/04/2007 - Hip Bar;reunion22
+Reunión 23 - 11/08/2007 - Except;reunion23
+Reunion70;reunion70
+Reunión 01 - 09/09/2004 - La Cigale;reunion01
+Reunión 04 - 09/12/2004 - Hip Bar;reunion04
+Reunión 03 - 11/11/2004 - Corner Bar;reunion03
+Reunión 02 - 21/10/2004 - Corner Bar;reunion02
+Minuta De Reunión 49 En San Luis;reunion49
+Reunion48;reunion48
+Reunión 47 - 8 De Enero Del 2011 - Rosario, Santa Fe. Bar Davis - Oronio Y El Rio, 19 Pm;reunion47
+Reunión 50 - Martes 23 De Agosto - Ciudad De Buenos Aires, En El Bar De La Esquina De Medrano Y Guardia Vieja - 19hs;reunion50
+Reunión 05 - 13/01/2005 - Hip Bar;reunion05
+Reunión 08 - 14/04/2005 - Hip Bar;reunion08
+Reunión 12 - 30/11/2005 - Hip Bar;reunion12
+Reunión 09 - 12/05/2005 - Hip Bar;reunion09
+Reunión 06 - 10/02/2005 - Hip Bar;reunion06
+Reunión 10 - 09/06/2005 - Hip Bar;reunion10
+Reunión 07 - 10/03/2005 - Hip Bar;reunion07
+Reunión 11 - 04/08/2005 - Hip Bar;reunion11
+Reunión 54 - Sabado 31 De Marzo - Buenos Aires, Universidad De Quilmes - 12hs;reunion54
+Reunión 56 - Sabado 5 De Mayo - Buenos Aires, Universidad De Luján;reunion56
+Reunión 53 - Sabado 17 De Marzo - Ciudad De Córdoba, Oficinas De Machinalis - 22hs;reunion53
+Reunión 55 - Miércoles 28 De Marzo - Rafaela, Cyrano Bar - 21hs;reunion55
+Reunión 58 - Miércoles 18 De Julio De 2012 - Rafaela, Cyrano Bar - 20hs;reunion58
+Reunión 57 - 8 De Julio De 2012 - Verónica, Buenos Aires - 21:00;reunion57
+Reunión 52 - Miércoles 1 De Febrero - Ciudad De Córdoba, Oficinas De Machinalis - 19hs;reunion52
+Reunión 51 - Jueves 26 De Enero - Ciudad De Buenos Aires, En El Bar De La Esquina De Medrano Y Guardia Vieja - 19hs;reunion51
+Releaseprocedure;releaseprocedure
+Próximas Reuniones;proximareunion
+Reunion65;reunion65
+Reunión 63 - 22/03/2014 - Villa Giardino - 22hs;reunion63
+Reunion64;reunion64
+Reunión 62 - 30/01/2014 - Caba - 19hs;reunion62
+Pyar Santa Fe - Reunión 20;reunion20
+Reunión 21 - 27/12/2006 - En Fm La Tribu - 19:00hs;reunion21
+Reunión 17 - 05/07/2006 - Hip Bar;reunion17
+Reunión 16 - 03/06/2006 - 9:00 Hs - Utn - Santa Fe;reunion16
+Reunión 15 - 28/04/2006 - 20:00 Hs - Hip Bar;reunion15
+Reunión 18 - 04/10/2006 - Hip Bar;reunion18
+Reunión 14 - 08/03/2006 - Hip Bar;reunion14
+Reunión 13 - 01/02/2006 - Hip Bar;reunion13
+"Reunión 19, ""la Internacional"" - 10/11/2006 - La Casa Del Queso - A La Salida De Cafeconf";reunion19
+Reunion71;reunion71
+Reunion72;reunion72
+Reunión 61 - Sábado 22 De Junio De 2013 - Villa Giardino, Córdoba - 22hs;reunion61
+Reunión 59 - Miércoles 6 De Marzo De 2013 - Buenos Aires, Post Street Bar - 19hs;reunion59
+Reunión 60 - Jueves 21 De Marzo De 2013 - Rosario, Antares - 19hs;reunion60
+Reuniones Pyar;reuniones
+Django Launch Party, (Buenos Aires ?);djangolaunchparty
+Sprints;sprints
+Posibles Lugares;2012
+Python Day 3 Cordoba;pythonday3
+Python Bug Day (Junio 2008);pythonbugday
+Sebasgiustra;sebasgiustra
+Mauricio Ferrari;mauricioferrari
+Minutas De Reuniones;minutas
+Autoridades;autoridades
+Asociación Civil - Candidatos;candidatos
+Encuesta Relevamiento - Asociación Civil;encuesta
+Misión;mision
+20160412;20160412
+Reunión Irc 2016-07-12;20160712
+Reunión Irc 2016-06-30;20160630
+Reunión Irc 2016-05-26;20160526
+Reunión Irc 2016-09-21;20160921
+20160428;20160428
+Reunión Irc 2016-05-10;20160510
+Reunión Irc 2016-06-14;20160614
+Bandera Ganadora: Pablo4;resultados
+Fotos De La Bandera;fotos
+Banderas Propuestas;descalificadas
+Banderas Propuestas;propuestas
+Con Y Sin Versalitas;variaciones
+Banderas Cambiadas;cambiadas
+Detalle De Votos;detallevotos
+Uso De Python En La Universidad;usodepythonenlauniversidad
+Alocado Alocador;alocadoalocador
+Bienvenido A Pet !!! Una Magazine De Python Entre Todos :);revistapythoncomunidad
+Tweety Finger;tweetyfinger
+Un Manual En Cada Universidad;unmanualencadauniversidad
+Correr Cdpedia Como Servidor;modoservidor
+Changelogs;changelogs
+Versiones Anteriores;versionesanteriores
+Nueva Versión Disponible De La Cdpedia: 0.8;release08
+Nueva Versión Disponible De La Cdpedia: Versión 0.7;release07
+Nueva Versión Disponible De La Cdpedia: 0.8.2;release082
+Notas De Prensa;prensa
+Cdpedia, La Historia;historia
+¿qué Es La Cdpedia?;cdpedia
+Sistema De Gestion De Tesoreria Especializado En Fideicomiso.;getesfi
+Python For Palmos;pythonpalm
+Gauchito Gil;gauchitogil
+Stim: Steam, The Incredible Machine;stim
+Event Matching;eventmatching
+Página Del Articulo Pyafipws: Facilitando, Extendiendo Y Liberando Los Servicios Web De Afip De La Pet2;pyafipws
+Página Del Articulo Como Se Hizo Cómo Se Hizo Pyconar2010;comosehizo
+Desafio;desafio
+Articulos;articulos
+Página Del Articulo Intro Django Pet2;introdjango
+Página Del Articulo Decoradores De La Pet2;decoradores
+Página Del Articulo Info Python;infopython
+Página Del Articulo Depuración Y Defragmentación De Memoria De La Pet2;depuraciondefragmentacion
+Desafio;desafio
+Pet Deluxe / Edicion Especial De Pycon 2010 Cordoba;pet2
+Release 1;release1
+Como Se Organizo La Revista ?!;base
+Geine;geine
+Caucho;caucho
+Colectadehardware;colectadehardware
+Servidor De Pyar/adaptadores Scsi;scsi
+Preguntas Sin Respuesta;preguntassinrespuesta
+Alejo Aka Polar;alejopagadizabal
+Deretiroacordoba;deretiroacordoba
+Nicolás Demarchi;nicolasdemarchi
+Marcelo Alaniz [1];marceloalaniz
+Gonzalo Delgado;gonzalodelgado
+Caucho;caucho
+Trabajo;trabajo
+Mariano Draghi;marianodraghi
diff --git a/scrap_y_chroma/database/chroma.sqlite3 b/scrap_y_chroma/database/chroma.sqlite3
new file mode 100644
index 000000000..55383339c
Binary files /dev/null and b/scrap_y_chroma/database/chroma.sqlite3 differ
diff --git a/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/data_level0.bin b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/data_level0.bin
new file mode 100644
index 000000000..ae2f0093f
Binary files /dev/null and b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/data_level0.bin differ
diff --git a/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/header.bin b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/header.bin
new file mode 100644
index 000000000..d2383e300
Binary files /dev/null and b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/header.bin differ
diff --git a/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/length.bin b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/length.bin
new file mode 100644
index 000000000..1dc89f8e4
Binary files /dev/null and b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/length.bin differ
diff --git a/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/link_lists.bin b/scrap_y_chroma/database/d2674719-86ac-4ab9-9cff-6d91df66bd68/link_lists.bin
new file mode 100644
index 000000000..e69de29bb
diff --git a/scrap_y_chroma/local_datasets.py b/scrap_y_chroma/local_datasets.py
new file mode 100644
index 000000000..3eaebb2a2
--- /dev/null
+++ b/scrap_y_chroma/local_datasets.py
@@ -0,0 +1,85 @@
+import uuid
+import csv
+
+class PYAR:
+ """
+ Dataset con la informacion del ABC Consultas Frecuentes de AFIP
+
+ Metodos que incluye la clase:
+ - build_data -> Construye el dataset con informacion del archivo de datos csv
+ - get_data -> Retorna la informacion del dataset
+ """
+ def __init__(self, data_path:str='./data/url_content_searchbar.csv', collection_name:str='pyar_searchbar_collection', auto_build:bool=True) -> None:
+ self.data_path = data_path
+ self.collection_name = collection_name
+ self.preguntas = []
+ self.respuestas = []
+ self.ids = []
+
+ if auto_build:
+ self.build_data()
+
+ def build_data(self):
+ """
+ Extrae la informacion del archivo de datos csv y la almacena dentro los arrays 'preguntas', 'respuestas' y 'ids'
+ """
+
+ with open(self.data_path, 'r', encoding='utf-8') as input_file:
+ csv_reader = csv.reader(input_file, delimiter=';')
+
+ #omitir el header
+ _ = next(csv_reader)
+
+ for line in csv_reader:
+ pregunta = line[0]
+ respuesta = line[1]
+
+ self.preguntas.append(pregunta)
+ self.respuestas.append(respuesta)
+ #ids ficticios
+ self.ids.append(str(uuid.uuid4()))
+
+ def get_data(self):
+ """
+ Retorna un diccionario con informacion relacionada al dataset
+
+ ```python
+ return {
+ 'collection_name': str,
+ 'documents': list[str],
+ 'doc_info': list[str]
+ 'metadatas': list[dict],
+ 'ids': list[str],
+ 'count': int
+ }
+ ```
+ - collection_name: string con el nombre de la coleccion para acceder a la base de datos
+ - documents: lista de preguntas del abc
+ - metadatas: lista que contiene diccionarios de estructura:
+
+ ```python
+ [{'preguntas': pregunta, 'respuestas': respuesta}, ...]
+ ```
+
+ - ids: ids unicos de cada pregunta
+ - count: cantidad de datos que contiene el dataset
+ """
+
+ return {
+ 'collection_name': self.collection_name,
+ 'documents': self.preguntas,
+ 'doc_info': ['pregunta', 'respuesta'],
+ 'metadatas': [
+ {'pregunta':pregunta, 'respuesta':respuesta} for pregunta, respuesta in zip(self.preguntas, self.respuestas)
+ ],
+ 'ids': self.ids,
+ 'count': len(self.preguntas)
+ }
+
+
+
+if __name__== '__main__':
+
+ abc = ABC()
+ abc.build_data()
+ print(abc.get_data())
\ No newline at end of file
diff --git a/scrap_y_chroma/playground_database.py b/scrap_y_chroma/playground_database.py
new file mode 100644
index 000000000..8f19324f4
--- /dev/null
+++ b/scrap_y_chroma/playground_database.py
@@ -0,0 +1,38 @@
+"""
+Crea una nueva coleccion con los datos del pyar. Para realizar queries a la base de datos ejectuar minimo_caso_de_uso.py
+"""
+
+import chromadb
+from local_datasets import PYAR
+
+cliente = chromadb.PersistentClient('database')
+
+nombre_coleccion_pyar = 'pyar_searchbar_collection'
+
+print('Creando una coleccion con los datos del pyar...')
+coleccion_pyar = cliente.create_collection(nombre_coleccion_pyar)
+
+
+pyar = PYAR()
+pyar_data = pyar.get_data()
+#para limitar la carga de datos a la base
+limit = None
+
+print('\nAsignando valores a la coleccion del pyar..')
+for count, (document, metadata, id) in enumerate(zip(pyar_data['documents'], pyar_data['metadatas'], pyar_data['ids'])):
+ count += 1
+
+ coleccion_pyar.add(
+ documents= document,
+ metadatas= metadata,
+ ids = id
+ )
+ if count%100 == 0:
+ print(f'Se han agregados {count} valores a la coleccion')
+
+ if limit and count == limit:
+ print('Limite de carga de datos alcanzado. Finalizando ..')
+ break
+
+else:
+ print('Datos del pyar agregados correctamente a la coleccion')
diff --git a/scrap_y_chroma/query_database.py b/scrap_y_chroma/query_database.py
new file mode 100644
index 000000000..be86fbde1
--- /dev/null
+++ b/scrap_y_chroma/query_database.py
@@ -0,0 +1,17 @@
+import chromadb
+
+cliente = chromadb.PersistentClient('playground_database')
+
+#cliente.list_collections()
+# >>> [Collection(name='mi_coleccion_abc'), Collection(name='mi_coleccion_crm')]
+
+coleccion_abc = cliente.get_collection('pyar_searchbar_collection')
+#coleccion_crm = cliente.get_collection('mi_coleccion_crm')
+
+while True:
+ resultados_similares = coleccion_abc.query(
+ query_texts= input('Ingresa una query >> '),
+ n_results= 2
+ )
+
+ print(resultados_similares)
\ No newline at end of file
diff --git a/scrap_y_chroma/scapping.py b/scrap_y_chroma/scapping.py
new file mode 100644
index 000000000..1b7c5cec7
--- /dev/null
+++ b/scrap_y_chroma/scapping.py
@@ -0,0 +1,60 @@
+"""
+Scrapper para sacar informacion de los HTML de la wiki de Pyar, para alimentar el buscador semantico (vectores embebidos) con chromaDB
+"""
+
+import bs4
+import os, csv
+
+
+class Scrapper:
+ def scrap_output_folders(self) -> None:
+ folders = os.walk('output')
+
+ ouput_csv = open('url_content_searchbar.csv', 'w')
+ csv_writer = csv.writer(ouput_csv, delimiter=';')
+ csv_writer.writerow(['TITLE', 'URL'])
+ for file in folders:
+ path = file[0]
+
+ if len(file) == 3:
+ try:
+ #htmls validos dentro de las carpetas de output
+ folder_html = file[2][0]
+
+ html = path+ '/' +folder_html
+
+ url = path.split('/')[-1]
+
+ with open(html, 'r') as file:
+ bs = bs4.BeautifulSoup(file)
+ try:
+ title = bs.find('h2').get_text()
+
+ csv_writer.writerow([title, url])
+
+ except Exception as e:
+ pass
+
+ except Exception as e:
+ pass
+ #
+
+ ouput_csv.close()
+
+if __name__ == '__main__':
+ scrapper = Scrapper()
+ scrapper.scrap_output_folders()
+
+ """
+ TODO implementar la creacion de la base de datos de chroma
+ """
+
+
+
+
+
+
+
+
+
+
diff --git a/themes/pyar/assets/css/custom.css b/themes/pyar/assets/css/custom.css
index 948cc7d13..0d3aafdd8 100644
--- a/themes/pyar/assets/css/custom.css
+++ b/themes/pyar/assets/css/custom.css
@@ -78,7 +78,22 @@ body {
*/
/*
- * Search
+ * Searchbar chroma
+ */
+
+ .wiki-search {
+ margin-left: auto;
+ width: min-content;
+ text-align: end;
+ display: flex;
+ }
+
+ .wiki-search > .search-button {
+
+ }
+
+/*
+ * Searchbar google
*/
iframe#google {
diff --git a/themes/pyar/templates/base.tmpl b/themes/pyar/templates/base.tmpl
index 5b3b8e5a3..d5e4b4049 100644
--- a/themes/pyar/templates/base.tmpl
+++ b/themes/pyar/templates/base.tmpl
@@ -60,6 +60,25 @@
{% endif %}
{{ template_hooks['page_header']() }}
+
+
+
+
+
+
{% block content %}{% endblock %}
{% if theme_config.get('sidebar') %}