Show HN: Khoj - un segundo cerebro y chat sin conexión con Llama 2
(github.com/khoj-ai)- Khoj es una app personal de IA que amplía las capacidades del usuario, con una arquitectura escalable desde IA personal en el dispositivo hasta IA empresarial a escala de nube
- Permite chatear con LLM locales o en línea; algunos modelos de ejemplo son llama3, qwen, gemma, mistral, gpt, claude, gemini y deepseek
- Puede obtener respuestas desde internet y documentos; los formatos compatibles incluyen imágenes, PDF, Markdown, org-mode, Word y archivos de Notion, entre otros
- Se puede acceder desde Browser, Obsidian, Emacs, Desktop, Phone y Whatsapp, y permite crear agentes con conocimiento, personalidad, modelo de chat y herramientas personalizadas
- Admite automatización de investigación repetitiva, entrega a la bandeja de entrada de boletines personales y alertas inteligentes, exploración de documentos relacionados mediante búsqueda semántica avanzada, generación de imágenes y reproducción de conversaciones de voz y mensajes
- Es de código abierto y puede alojarse por cuenta propia; puede ejecutarse de forma privada en la computadora del usuario o usarse en la app en la nube
- La versión Enterprise se ofrece como servicio en la nube, on-premise o solución híbrida
1 comentarios
Opiniones de Hacker News
En la landing page del sitio no veo para nada Llama ni casos de uso offline; parece que solo menciona el uso online a través de OpenAI.
También me da curiosidad qué tamaño de modelo y fine-tuning usan, y cómo evaluaron el rendimiento en este caso de uso.
Probé un poco Llama 2 en tamaños 7B y 13B, y siento que consume bastante RAM en máquinas de consumo, así que el potencial me entusiasma mucho.
También me pregunto si la búsqueda se basa en embeddings y una base de datos vectorial, con filtros adicionales de metadatos como comandos por fecha.
Khoj usa Llama 7B cuantizado a 4 bits GGML de TheBloke.
Es de lo más cercano a un primer modelo de chat offline que da respuestas coherentes a las consultas del usuario cuando se le pasan notas como contexto, y también es interesante que sea más conversacional que GPT-3.5+.
Si al autoalojarlo hay garantía de que no se envía ningún dato personal a servicios remotos, ayudaría mucho que indiquen con mucha claridad esa garantía de privacidad.
Al ver esto, me parece realmente genial, y creo que la ejecución local es el verdadero futuro de la IA.
Lo probé en una pequeña MacBook Air M2 y se congeló por completo.
Me recordó a los tiempos en que una PC vieja tenía virus: movías el mouse y el cursor se movía 45 segundos después, así que hasta sentí una nostalgia extraña.
Creo que tendré que bajar mis expectativas de rendimiento para esta Air; nunca me había pasado algo así.
Los modelos 7B suelen funcionar bien con 16 GB o más de memoria unificada, pero he visto que las Mac de 8 GB sufren bastante.
¿Sería posible tomar el historial web de un día y resumir en notas lo que investigué?
Esto se acerca cada vez más al ideal de una IA personal.
Me emociona pensar que en unos años podré tener un cerebro digital lleno de todo lo que sé.
Crear una extensión de navegador que resuma el historial web diario no parece una tarea tan grande, y probablemente ya exista algo parecido.
Indexar todo el rastro digital y hacerlo fácil de digerir tendría muchísimo valor.
Ojalá Khoj llegue a ser eso.
Me pregunto si hay alguna herramienta recomendada que haga esto.
O si no, también me gustaría encontrar a alguien para construirla juntos.
¿Para qué se usa la telemetría de PostHog?
No entiendo por qué no hay nada en la documentación ni por qué no hay una forma clara de hacer opt-out.
Por ejemplo, para saber si la gente usa Markdown, org, etc.
Todos los datos se recopilan de forma completamente anónima y no se envía información identificable al servidor de telemetría.
Para hacer opt-out, configura el valor
should-log-telemetryenfalsedentro dekhoj.yml.Agregamos a la documentación qué recopilamos y cómo: https://docs.khoj.dev/#/telemetry
Por lo demás, el proyecto funciona sorprendentemente bien.
Parece un proyecto genial.
Sería muy bueno que también pudiera indexar directorios de PDF y hacer OCR en los PDF para indexar documentos escaneados.
Puede que esté fuera del alcance actual del proyecto, pero justo hace unos días pensé que sería bueno tener una herramienta así.
Khoj puede indexar directorios de PDF para búsqueda y chat.
Pero actualmente no puede procesar PDF escaneados que no tienen texto seleccionable.
Sería bueno poder manejar también esos archivos; solo falta implementarlo.
Espero que esté disponible pronto.
Que rastree PDF, descargas, capturas de pantalla, fotos, etc., muestre un árbol lógico de organización de archivos y permita modificarlo con instrucciones como: “agrega aquí los PDF relacionados con este tema y ordénalos por fuente/autor, luego mueve aquí las capturas en orden cronológico”.
Siempre quise una computadora a la que pudiera llamar simplemente “COMPUTADORA”.
Dije “¡COMPUTADORA!” y me respondió: “Señor, debe usar el teclado”. Ah, el teclado, qué cosa tan pintoresca.
Parece que usa gpt4all, y me pregunto si hay una forma oficialmente soportada de cambiar el modelo de inferencia local.
Muchas apps diseñadas para la API de completion/chat de OpenAI funcionan casi de la misma manera con solo apuntarlas al endpoint que ofrece llama-cpp-python [0], y así pueden usar varios modelos y cuantizaciones compatibles con llama.cpp.
Eso permitiría ejecutar modelos más grandes en el hardware que uno quiera, incluida la aceleración Metal en Apple Silicon o GPU NVIDIA, y también usar otros proxies como openrouter.io.
Personalmente uso mucho openrouter.io porque soporta el modelo de 100k de Anthropic.
[0]: https://github.com/abetlen/llama-cpp-python
Creo que bastaría con cambiar esta línea https://github.com/khoj-ai/khoj/blob/master/src/khoj/process... por el modelo que quieras.
Tendrías que compilar tu propia imagen local con
docker-compose, pero debería ser relativamente simple.Varios desarrolladores quieren probar distintos modelos, pero nosotros queremos apuntar a algo fácil de usar y que a la vez ayude en profundidad.
Como tenemos recursos limitados, estamos pensando un poco en dónde conviene enfocarnos.
Como alguien que empezó a usar Obsidian y a experimentar con IA de chat, esto es realmente excelente
Todavía no lo he probado, pero algo así definitivamente tiene que existir
Si no tienes una GPU lo suficientemente buena, probablemente aún no sea muy usable en hardware de consumo, pero estoy seguro de que será posible en unos años o incluso antes
El logo también es hermoso y me gustan los colores
Para este tipo de caso de uso, Llama 2 es lo suficientemente capaz como para que pagar por ChatGPT resulte menos atractivo, especialmente cuando la privacidad importa
Espero que sigan construyéndolo bien
Usé Khoj durante un día y está realmente pulido y bien hecho
Tengo algunas observaciones
Dejé un issue y una propuesta al respecto aquí: https://github.com/khoj-ai/khoj/issues/389
También agregué una nota en el issue de GitHub mencionado
Por ejemplo, me pregunto si se puede configurar un modelo de huggingface/gpt4all y, de ser posible, si se descarga automáticamente por nombre o si hay que poner el
.biny el YAML en algún volumenComo está escrito en la documentación, puedes ver directamente el servidor de telemetría[1]
Si ves algo raro, avísanos y haremos un hotfix de inmediato
También puedes revisar todos los metadatos de telemetría aquí[2]
[1]: https://github.com/khoj-ai/khoj/tree/master/src/telemetry
[2]: https://github.com/khoj-ai/khoj/blob/master/src/khoj/routers...
La configuración de
docker-composees un poco especial, así que mira ese issue para más detallesGracias también por el apunte sobre la integración con GPU; para aclararlo, usamos optimización de GPU para la indexación, pero todavía no para el chat local basado en Llama
Estamos trabajando para que esa parte funcione
./serveren ggml?Si están pretokenizando el contexto de búsqueda, puede que sea más difícil
El proyecto está realmente genial
Me pareció interesante que mencionaran
C-sisearch-forwardnormalmente se usa para búsqueda de coincidencias literales con baja latenciaMe pregunto en qué flujo de trabajo Khoj podría ofrecer una latencia aceptable o una utilidad superior como reemplazo de isearch
¿Tienen algún ejemplo de cómo lo usan al navegar documentos?
Ofrece una experiencia de búsqueda al escribir al instante, pero con una interfaz de búsqueda en lenguaje natural en lugar de palabras clave
Mi flujo de trabajo es así
C-c s sRETn n o 2[1]:
C-c sestá vinculado al menú transient dekhoj[2] https://orgmode.org/manual/Speed-Keys.html