Inflearn brand logo image

인프런 커뮤니티 질문&답변

변정원님의 프로필 이미지
변정원

작성한 질문수

graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)

프로젝트 설정 (uv 설치, 프로젝트 초기화, 가상환경 생성, AuraDB 연동)

2강에서 Aura에 파이썬으로 접속 안 됩니다.

작성

·

40

0

test.py 작성 시 AuraDB에 접속이 안 되서 막혀 있습니다.

이전에도 질문해 주신 분이 계셨던 것 같은데요.

.env 파일에 URI, USERNAME, PASSWORD 정확히 썼고요
(browser.neo4j.io 접속해서 위 정보 복사해서 붙이니 잘 되는 것 확인했습니다.)

분명 제 PC 문제일 것 같은데, 유사 해결사례가 있으시면 조언부탁드립니다. 수업을 시작할 수가 없네요. ㅠㅠ

(방화벽 off 시도, PC 재부팅 시도 )

 

<code>

import os
from dotenv import load_dotenv
from langchain_neo4j import Neo4jGraph


load_dotenv()


graph = Neo4jGraph( 
    url=os.getenv("NEO4J_URI"), 
    username=os.getenv("NEO4J_USERNAME"), 
    password=os.getenv("NEO4J_PASSWORD"),
)

def main():
    # 간단한 테스트 쿼리
    result = graph.query("MATCH (n) RETURN count(n) as node_count")
    print(f"Neo4j 데이터베이스 내 노드 수: {result[0]['node_count']}")

if __name__ == "__main__":
    main()


                                            

<Error>

Unable to retrieve routing information
Traceback (most recent call last):
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\langchain_neo4j\graphs\neo4j_graph.py", line 153, in __init__   
    self._driver.verify_connectivity()
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\driver.py", line 1090, in verify_connectivity       
    self._get_server_info(session_config)
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\driver.py", line 1305, in _get_server_info
    return session._get_server_info()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\session.py", line 183, in _get_server_info     
    self._connect(
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\session.py", line 136, in _connect
    super()._connect(
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\workspace.py", line 186, in _connect
    target_db = self._get_routing_target_database(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\workspace.py", line 260, in _get_routing_target_database
    self._pool.update_routing_table(
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\io\_pool.py", line 1025, in update_routing_table    
    raise ServiceUnavailable("Unable to retrieve routing information")
neo4j.exceptions.ServiceUnavailable: Unable to retrieve routing information

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\VSCODE Scripts\neo4j-project\test.py", line 9, in <module>
    graph = Neo4jGraph(
            ^^^^^^^^^^^
  File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\langchain_neo4j\graphs\neo4j_graph.py", line 160, in __init__
    raise ValueError(
ValueError: Could not connect to Neo4j database. Please ensure that the url is correct

ㅇㄹ

답변 2

0

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

안녕하세요. 판다스 스튜디오입니다.

예전에 유사한 질문을 주셨던 분은 직접 해결하셔서 구체적인 정보를 확인하지는 못했습니다.

Windows 환경에서 유사한 사례가 커뮤니티에서 언급되고 있어서, 관련 게시글에서 처리한 방식으로 우선 진행해보시기 바랍니다. Windows 환경에서 SSL 인증서 검증 오류가 원인일 것 같은데, NEO4J_URI SSL 스키마를 다음과 같이 'neo4j+s://' 에서 'neo4j+ssc://' 로 변경해보시기 바랍니다.

NEO4J_URI = "neo4j+ssc://your-instance.databases.neo4j.io"

[링크]https://community.neo4j.com/t/python-driver-on-windows-11-fails-with-serviceunavailable-unable-to-retrieve-routing-information-despite-successful-test-netconnection/74376/9

잘 해결되면 좋을텐데, 한번 해보시고 댓글 남겨주세요.

감사합니다.

 

0

안녕하세요, 인프런 AI 인턴입니다.

변정원님께서 겪고 있는 문제는 Neo4j 데이터베이스 연결 시 자주 발생할 수 있는 오류 중 하나입니다. 연결 정보를 정확하게 작성했음에도 연결이 안 되는 경우에는 다양한 원인이 있을 수 있습니다. 이전에 유사한 질문이 있었으며, 몇 가지 해결법을 소개드립니다.

  1. 네트워크 설정 확인: 특정한 네트워크 환경에서 방화벽이나 프록시 서버가 Neo4j의 특정 포트에 대한 접근을 막고 있을 수 있습니다. 가능하다면 네트워크 관리자에게 문의하여 네트워크 설정을 확인해 보세요.

  2. Neo4j 버전 호환성: 사용하는 Neo4j 드라이버 버전이 Neo4j 데이터베이스 버전과 호환되지 않을 수 있습니다. 드라이버의 최신 버전을 설치하거나 Neo4j 서버의 버전을 확인하시기 바랍니다.

  3. .env 파일 확인: .env 파일이 코드에서 불려지는 위치와 경로를 다시 한번 확인하시기 바랍니다. 간혹 가상환경 안 또는 밖에서 다른 경로를 참조할 수 있습니다.

  4. 데이터베이스 모드 설정 확인: Neo4j 클러스터 모드가 아닌 단일 인스턴스 모드로 설정되어 있어야 할 수도 있습니다. 본인이 사용하는 데이터베이스 모드를 점검해 보세요.

이전에 유사한 문제를 경험하신 분의 사례를 참고하시기 바랍니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

변정원님의 프로필 이미지
변정원

작성한 질문수

질문하기