atareao a révisé ce gist 3 hours ago. Aller à la révision
1 file changed, 80 insertions
setup.sh(fichier créé)
| @@ -0,0 +1,80 @@ | |||
| 1 | + | #!/usr/bin/env bash | |
| 2 | + | # | |
| 3 | + | # setup.sh — Preparación del entorno para el episodio 841 (GraphRAG III) | |
| 4 | + | # | |
| 5 | + | # Deja listo lo mínimo para interrogar el grafo con IA 100% local: | |
| 6 | + | # 1. Comprueba que Ollama está instalado y en marcha (lo arranca si hace falta). | |
| 7 | + | # 2. Descarga los modelos que usa el episodio: | |
| 8 | + | # - bge-m3:latest → embeddings (vectores) de la demo | |
| 9 | + | # - nomic-embed-text → embeddings por defecto del binario (alternativa) | |
| 10 | + | # - llama3.2:3b → resúmenes de comunidad y respuestas de `ask` | |
| 11 | + | # 3. Localiza el binario `graphrag` compilado y comprueba su versión. | |
| 12 | + | # 4. Comprueba que existe la base de la demo `grafo.db`. | |
| 13 | + | # | |
| 14 | + | # No instala Rust ni compila nada: si el binario no existe, te dice cómo | |
| 15 | + | # compilarlo o instalarlo desde crates.io. | |
| 16 | + | # | |
| 17 | + | # Uso: | |
| 18 | + | # chmod +x setup.sh | |
| 19 | + | # ./setup.sh | |
| 20 | + | ||
| 21 | + | set -euo pipefail | |
| 22 | + | ||
| 23 | + | # Binario de desarrollo (v0.2.12). Cambia esta ruta si compilas en otro sitio. | |
| 24 | + | GRAPHRAG="/data/rust/graphrag/target/release/graphrag" | |
| 25 | + | ||
| 26 | + | echo "==> 1/4 Comprobando Ollama..." | |
| 27 | + | if ! command -v ollama >/dev/null 2>&1; then | |
| 28 | + | echo "ERROR: Ollama no está instalado. Instálalo desde https://ollama.ai/" >&2 | |
| 29 | + | exit 1 | |
| 30 | + | fi | |
| 31 | + | ||
| 32 | + | if ! curl -sf http://localhost:11434/api/tags >/dev/null 2>&1; then | |
| 33 | + | echo "Ollama no responde en http://localhost:11434; lo arranco..." | |
| 34 | + | ollama serve >/dev/null 2>&1 & | |
| 35 | + | for _ in $(seq 1 30); do | |
| 36 | + | if curl -sf http://localhost:11434/api/tags >/dev/null 2>&1; then break; fi | |
| 37 | + | sleep 1 | |
| 38 | + | done | |
| 39 | + | if ! curl -sf http://localhost:11434/api/tags >/dev/null 2>&1; then | |
| 40 | + | echo "ERROR: Ollama no arrancó. Lánzalo a mano con: ollama serve" >&2 | |
| 41 | + | exit 1 | |
| 42 | + | fi | |
| 43 | + | fi | |
| 44 | + | echo " Ollama está en marcha." | |
| 45 | + | ||
| 46 | + | echo "==> 2/4 Descargando modelos (si faltan)..." | |
| 47 | + | # Embeddings de la demo: bge-m3, ~1 GB | |
| 48 | + | ollama pull bge-m3:latest | |
| 49 | + | # Embeddings por defecto del binario si no hay config: nomic-embed-text, ~275 MB | |
| 50 | + | ollama pull nomic-embed-text | |
| 51 | + | # Generación: resúmenes y respuestas de `ask`, llama3.2:3b, ~2 GB | |
| 52 | + | ollama pull llama3.2:3b | |
| 53 | + | ||
| 54 | + | echo " Modelos disponibles:" | |
| 55 | + | curl -s http://localhost:11434/api/tags \ | |
| 56 | + | | grep -o '"name":"[^"]*"' | sed 's/"name":"/ - /; s/"$//' | |
| 57 | + | ||
| 58 | + | echo "==> 3/4 Comprobando el binario graphrag..." | |
| 59 | + | if [ -x "$GRAPHRAG" ]; then | |
| 60 | + | echo " Binario: $GRAPHRAG" | |
| 61 | + | "$GRAPHRAG" --version | |
| 62 | + | else | |
| 63 | + | echo "AVISO: no se encontró $GRAPHRAG" | |
| 64 | + | echo "Opciones:" | |
| 65 | + | echo " · Compilar desde fuente: cd /data/rust/graphrag && cargo build --release" | |
| 66 | + | echo " · Instalar desde crates: cargo install graphrag-search" | |
| 67 | + | fi | |
| 68 | + | ||
| 69 | + | echo "==> 4/4 Comprobando la base de la demo..." | |
| 70 | + | if [ -f grafo.db ]; then | |
| 71 | + | echo " Base: grafo.db" | |
| 72 | + | else | |
| 73 | + | echo "AVISO: no se encontró grafo.db en el directorio actual." | |
| 74 | + | echo " Es la base construida en el episodio 839; sin ella no hay demo." | |
| 75 | + | fi | |
| 76 | + | ||
| 77 | + | echo | |
| 78 | + | echo "Entorno listo. Siguiente paso:" | |
| 79 | + | echo " graphrag stats grafo.db" | |
| 80 | + | echo " graphrag search \"servidor web seguro\" grafo.db -k 5" | |
Plus récent
Plus ancien