Wprowadzenie
Cześć! Uruchamiasz projekt local-ai-packaged na Ubuntu Desktop (np. na laptopie z AMD Ryzen 9 5900HS i NVIDIA RTX 3060, serwer 192.168.76.171) i zauważyłeś w wyniku polecenia docker ps kontener localai-neo4j-1, który jest w stanie „Restarting”? Zastanawiasz się, czym jest Neo4j i jakie pełni funkcje w Twoim środowisku AI? Ten idiotoodporny poradnik wyjaśni, czym jest Neo4j, do czego służy w local-ai-packaged i jak wspiera lokalne wdrożenia AI, takie jak Flowise, Supabase czy Ollama. Artykuł jest po polsku, z gotowymi komendami i opisami zrzutów ekranu, idealny dla klientów agencja-ai.com!
Czym jest Neo4j?
Neo4j to open-source’owa baza danych grafowa, zaprojektowana do przechowywania, zarządzania i analizowania danych w formie grafów, czyli struktur składających się z węzłów (nodes) i relacji (relationships). W odróżnieniu od relacyjnych baz danych (np. Postgres), Neo4j jest zoptymalizowany do pracy z danymi o złożonych powiązaniach, co czyni go idealnym dla aplikacji AI wymagających modelowania relacji, np. w systemach rekomendacji, analizie sieci społecznościowych czy przetwarzaniu wiedzy. W projekcie local-ai-packaged, Neo4j jest uruchomiony jako kontener Docker (localai-neo4j-1), ale w dostarczonym wyniku docker ps brak mapowania portów, a kontener jest w stanie „Restarting”, co wymaga naprawy.
Kluczowe cechy Neo4j:
- Grafowa struktura danych: Przechowuje dane jako węzły (np. użytkownicy, obiekty) i relacje (np. „przyjaźń”, „lubi”), co ułatwia modelowanie złożonych powiązań.
- Język Cypher: Używa prostego języka zapytań do przeszukiwania i manipulacji grafami.
- Wysoka wydajność: Zoptymalizowany dla szybkiego przeszukiwania relacji, kluczowy dla aplikacji AI.
- Integracja z AI: Idealny do przechowywania wiedzy dla modeli językowych (LLM) lub systemów rekomendacji.
- Interfejs użytkownika: Oferuje Neo4j Browser do wizualizacji grafów i zarządzania danymi.
Do czego służy Neo4j w local-ai-packaged?
W projekcie local-ai-packaged, Neo4j pełni rolę bazy danych grafowej do przechowywania i analizowania danych relacyjnych używanych przez aplikacje AI, takie jak Flowise, Supabase czy Ollama. Oto szczegółowe funkcje Neo4j:
- Przechowywanie wiedzy grafowej: Neo4j przechowuje struktury danych, takie jak grafy wiedzy (knowledge graphs), które mogą być używane przez modele AI (np. Ollama) do odpowiadania na pytania kontekstowe.
- Systemy rekomendacji: Umożliwia modelowanie relacji między użytkownikami, treściami czy produktami, co wspiera aplikacje Flowise w generowaniu rekomendacji.
- Analiza sieci: Pomaga analizować powiązania, np. między użytkownikami w Supabase, dla aplikacji AI w
local-ai-packaged. - Integracja z Flowise: Flowise może używać Neo4j do przechowywania przepływów pracy (workflows) w formie grafów, ułatwiając ich wizualizację i optymalizację.
- Skalowalność: Obsługuje złożone zapytania grafowe, co jest kluczowe przy intensywnym korzystaniu z GPU NVIDIA RTX 3060 dla obliczeń AI.
Uwaga: Kontener localai-neo4j-1 jest w stanie „Restarting”, co wskazuje na problem z konfiguracją, np. brak mapowania portów (domyślnie 7474 dla HTTP i 7687 dla Bolt). Poniżej pokażemy, jak to naprawić.
Zrzut ekranu: Neo4j Browser otwarty w przeglądarce na http://127.0.0.1:7474, pokazujący wizualizację grafu.
Jak Neo4j działa w local-ai-packaged?
W local-ai-packaged, Neo4j jest skonfigurowany w pliku docker-compose.yml i uruchamiany za pomocą skryptu start_services.py. Przykładowa konfiguracja w docker-compose.yml powinna wyglądać następująco, aby naprawić problem z restartowaniem:
services:
neo4j:
image: neo4j:latest
ports:
- "127.0.0.1:7474:7474"
- "127.0.0.1:7687:7687"
environment:
- NEO4J_AUTH=neo4j/password
volumes:
- neo4j-data:/data
- neo4j-logs:/logs
volumes:
neo4j-data:
neo4j-logs:
Wyjaśnienie:
ports: Mapuje porty hosta7474(Neo4j Browser, HTTP) i7687(protokół Bolt) na porty kontenera.environment: Ustawia domyślne dane logowania (np. użytkownik:neo4j, hasło:password).volumes: Przechowuje dane i logi w wolumenachneo4j-dataineo4j-logsdla trwałości.
Zrzut ekranu: Edytor tekstu z otwartym plikiem docker-compose.yml, pokazującym konfigurację Neo4j.
Kroki do przetestowania Neo4j
- Zaktualizuj
docker-compose.yml, aby dodać mapowanie portów (patrz powyżej). - Uruchom ponownie
local-ai-packagedz profilem GPU: - Sprawdź, czy Neo4j działa:
- Przetestuj dostęp do Neo4j Browser:
- Przetestuj zapytanie Cypher (np. za pomocą
neo4jCLI lub przeglądarki):
cd ~/local-ai-packaged
docker compose down
python3 start_services.py --profile gpu-nvidia --environment public
docker ps -f name=localai-neo4j-1
Powinien być w stanie Up, a nie Restarting.
curl http://127.0.0.1:7474
Otwórz przeglądarkę i wejdź na http://127.0.0.1:7474. Zaloguj się, używając danych z docker-compose.yml (np. neo4j:password).
docker exec -it localai-neo4j-1 cypher-shell -u neo4j -p password
CREATE (n:Person {name: 'Jan'})-[:LIKES]->(m:Movie {title: 'Matrix'});
MATCH (n:Person)-[:LIKES]->(m:Movie) RETURN n, m;
Jeśli używasz Konga, przetestuj przez trasę (np. /neo4j):
curl -H "apikey: my-key" http://192.168.76.171:8000/neo4j
Zrzut ekranu: Terminal z wynikiem cypher-shell, pokazującym utworzony graf.
Dlaczego Neo4j jest ważny w local-ai-packaged?
Neo4j jest kluczowym komponentem w local-ai-packaged, ponieważ:
- Modelowanie relacji: Umożliwia przechowywanie złożonych powiązań, np. między użytkownikami a treściami w Supabase lub Flowise.
- Wsparcie dla AI: Dostarcza grafy wiedzy dla modeli językowych (np. Ollama), poprawiając jakość odpowiedzi kontekstowych.
- Integracja: Współpracuje z innymi usługami w
local-ai-packaged, takimi jak Flowise, do wizualizacji i analizy przepływów pracy. - Wydajność: Obsługuje złożone zapytania grafowe, wspierając obliczenia AI na GPU NVIDIA RTX 3060.
- Wizualizacja: Neo4j Browser ułatwia zarządzanie danymi grafowymi.
Uwaga: Problem z restartowaniem localai-neo4j-1 wynika prawdopodobnie z braku mapowania portów lub błędnej konfiguracji. Powyższe kroki powinny to naprawić. Jeśli problem persists, sprawdź nasz poradnik o sterownikach NVIDIA dla Dockera dla ogólnych problemów z GPU.
Najlepsze praktyki
- Bezpieczeństwo: Skonfiguruj Konga z wtyczką
key-authdla Neo4j: - Monitorowanie: Sprawdzaj logi Neo4j:
- Trwałość danych: Regularnie twórz kopie zapasowe wolumenu
neo4j-data: - Firewall: Otwórz tylko potrzebne porty:
# Edytuj kong.yaml
services:
- name: neo4j
url: http://neo4j:7474
routes:
- name: neo4j-route
paths:
- /neo4j
plugins:
- name: key-auth
config:
key_names:
- apikey
docker logs localai-neo4j-1
cp -r /var/lib/docker/volumes/neo4j-data /var/lib/docker/volumes/neo4j-data-backup
sudo ufw allow 7474
sudo ufw allow 7687
Rozwiązywanie problemów
- Neo4j w stanie Restarting: Sprawdź logi, aby zidentyfikować przyczynę:
- Brak dostępu do Neo4j Browser: Upewnij się, że porty
7474i7687są otwarte: - Błąd logowania: Sprawdź dane logowania w
docker-compose.yml(np.neo4j:password). - Problemy z siecią: Sprawdź sieć Docker:
- Problemy z GPU: Upewnij się, że sterowniki NVIDIA działają:
- Kontakt: Napisz na agencja-ai.com/kontakt.
docker logs localai-neo4j-1
sudo netstat -tuln | grep -E '7474|7687'
docker network inspect localai
Zobacz nasz poradnik o widoczności usług.
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi
Zobacz nasz poradnik o NVIDIA dla Dockera.
Zwiększanie sprzedaży instrukcji
- Polski język: Proste instrukcje po polsku przyciągają użytkowników.
- Demo: Pokaż Neo4j Browser na
http://127.0.0.1:7474lub przez Konga nahttps://neo4j.agencja-ai.com. - PDF: Udostępnij ten artykuł jako PDF na agencja-ai.com.
Podsumowanie
Neo4j w local-ai-packaged to baza danych grafowa, która przechowuje i analizuje złożone relacje danych dla aplikacji AI, takich jak Flowise czy Ollama, na serwerze 192.168.76.171 z GPU NVIDIA RTX 3060. Problem z restartowaniem localai-neo4j-1 można rozwiązać przez dodanie mapowania portów (7474, 7687) w docker-compose.yml. Ten poradnik zwiększy atrakcyjność Twoich instrukcji na agencja-ai.com. Potrzebujesz więcej poradników, np. o konfiguracji Cypher lub integracji Neo4j z Flowise? Napisz do nas! 😄
Źródła: Neo4j, local-ai-packaged, Docker