Ostatnio aktywny 3 hours ago

Preparación del entorno GraphRAG para el episodio 841 (Ollama + modelos + binario + grafo)

atareao's Avatar atareao zrewidował ten Gist 3 hours ago. Przejdź do rewizji

1 file changed, 80 insertions

setup.sh(stworzono plik)

@@ -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"
Nowsze Starsze