Skip to content Skip to footer

Czym jest Neo4j w local-ai-packaged i do czego służy

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 hosta 7474 (Neo4j Browser, HTTP) i 7687 (protokół Bolt) na porty kontenera.
  • environment: Ustawia domyślne dane logowania (np. użytkownik: neo4j, hasło: password).
  • volumes: Przechowuje dane i logi w wolumenach neo4j-data i neo4j-logs dla trwałości.

Zrzut ekranu: Edytor tekstu z otwartym plikiem docker-compose.yml, pokazującym konfigurację Neo4j.

Kroki do przetestowania Neo4j

  1. Zaktualizuj docker-compose.yml, aby dodać mapowanie portów (patrz powyżej).
  2. Uruchom ponownie local-ai-packaged z profilem GPU:
  3. cd ~/local-ai-packaged
    docker compose down
    python3 start_services.py --profile gpu-nvidia --environment public
    
  4. Sprawdź, czy Neo4j działa:
  5. docker ps -f name=localai-neo4j-1
    

    Powinien być w stanie Up, a nie Restarting.

  6. Przetestuj dostęp do Neo4j Browser:
  7. 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).

  8. Przetestuj zapytanie Cypher (np. za pomocą neo4j CLI lub przeglądarki):
  9. 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-auth dla Neo4j:
  • # Edytuj kong.yaml
    services:
      - name: neo4j
        url: http://neo4j:7474
        routes:
          - name: neo4j-route
            paths:
              - /neo4j
    plugins:
      - name: key-auth
        config:
          key_names:
            - apikey
    
  • Monitorowanie: Sprawdzaj logi Neo4j:
  • docker logs localai-neo4j-1
    
  • Trwałość danych: Regularnie twórz kopie zapasowe wolumenu neo4j-data:
  • cp -r /var/lib/docker/volumes/neo4j-data /var/lib/docker/volumes/neo4j-data-backup
    
  • Firewall: Otwórz tylko potrzebne porty:
  • sudo ufw allow 7474
    sudo ufw allow 7687
    

Rozwiązywanie problemów

  • Neo4j w stanie Restarting: Sprawdź logi, aby zidentyfikować przyczynę:
  • docker logs localai-neo4j-1
    
  • Brak dostępu do Neo4j Browser: Upewnij się, że porty 7474 i 7687 są otwarte:
  • sudo netstat -tuln | grep -E '7474|7687'
    
  • Błąd logowania: Sprawdź dane logowania w docker-compose.yml (np. neo4j:password).
  • Problemy z siecią: Sprawdź sieć Docker:
  • docker network inspect localai
    

    Zobacz nasz poradnik o widoczności usług.

  • Problemy z GPU: Upewnij się, że sterowniki NVIDIA działają:
  • docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi
    

    Zobacz nasz poradnik o NVIDIA dla Dockera.

  • Kontakt: Napisz na agencja-ai.com/kontakt.

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:7474 lub przez Konga na https://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

Leave a comment

0.0/5