graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
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 ㅇㄹ
POST API 첫번째 강의에서 main.py의 52번 줄에 request를 dict() 형식으로 꼭 맞춰 주어야하나요?? 출력은 request >> id=4 contents='aaa' is_done=True request.dict() >> {'id': 4, 'contents': 'aaaa', 'is_done': True} 이렇게 되는데, 그냥 request 만 써도 swagger UI에서 보았을 땐 똑같이 dict 형식으로 들어오더라구요. 궁금해서 문의드립니다.
fine-tunning은 어떻게 생각하세요? 강사님이 알려주신 내용대로 RAG만 하면, fine-tunning은 할 필요가 없을까요? 아니면 fine-tunning이 필요한 영역이 따로 있는 걸까요? fine-tunning에 대해서 어떻게 생각하시는지 궁굼해서 문의드립니다 :)
안녕하세요. 김판다 강사님을 보조하는 이조교 입니다. 저는 강사님 개인 메일로 도착한 질문들을 정리해, 다른 수강생분들께도 도움이 되도록 질문 게시판에 깔끔하게 편집해 올리고 있습니다. 개인 메일( pandakimt@gmail.com )로 질문하셔도, 강사님이 활발히 답변해드립니다. 제목: 구글 코랩에서는 셀마다 변수 값을 다시 정의해야 하나요? 구글 코랩에서는 셀마다 변수 값을 다시 정의해야 하나요? 아니면 첫 번째 셀에서 x = 10 이라고 하면, 두 번째 셀에서도 x 를 그대로 쓸 수 있나요?
[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
현재 강의 수강 중에 참고 엑셀 파일들을 활용하여 실습을 진행할려고하는데 강의 7에서 다운 받은 자료에서 COVID-19-master 관련 등 자료들이 누락된거 같아서 혹시 별도 첨부파일이 있는지 아니면 강의 28부터 실습에 사용하는 참고 자료들을 별도로 받을 수 있을까요 ?
에러메세지는 이건데요.. KeyError: "Input to ChatPromptTemplate is missing variables {'dictionary'}. Expected: ['dictionary', 'question'] Received: ['question']" 그래서 아래처럼 고쳤더니 결과는 잘 나오는데 new_question = dictionary_chain.invoke({ "dictionary": dictionary, "question": query }) 이러고 나서 또 밑에 ai_response관련 코드도 같은 에러가 나오다보니 강의를 매끄럽게 들을 수 없고 자꾸 흐름이 끊기네요. 사실 3.5때도 강의코드 그대로 따라하니까 llm이 답변을 제대로 안해줘서, chunk_size / overlap 이렇게 저렇게 조정하고. 조정해보니 또 한번에 넣을 수 없는 사이즈라서 배치처럼 짤라서 넣고. 우여곡절 끝에 강의랑 동일한 결과를 얻긴 했는데요... 빠르게 슥슥 듣고 강사님 다른 강의(ai agent)로 넘어가고싶은데 매끄럽게 안되니까 초큼 힘들어요 ㅠ 제 환경이 잘못 구성된걸까요 ㅠㅠ
클래스의 생성자 강의 내용 중에서, 1. 젤리 리스트 형식에서 jelly=[teddy_jelly('red', 'strawberry'), teddy_jelly('yellow','lemon')]의 teddy_jelly('red', 'strawberry') 이 부분은 함수의 인수로 이해하면 될까요. 그것을 젤리라는 변수에 담은 것으로요. 2. 그리고 jelly인스턴스 속성에 접근하는 방법에서 print(jelly[0].color)는 위의 리스트에서 0번째 위치의 color값을 의미할텐데 .color의 형식이 함수의 표기와 비슷합니다. 이 부분이 맨 위 매소드 작성 시 self.color=color라고 작성한 부분과 관련이 있는지, 아니면 그냥 단순 작성 규칙인 지 질문드립니다.
안녕하세요, 코드 마지막에 순열의 중복 제거를 위한 로직을 for i in range(...): ans //= fact(S.count(chr(i))) 아래처럼 직접 분모를 먼저 구하는 방식으로 구현하고 대입했는데 채점에서 풀이가 틀렸다고 나옵니다. deno = 1 for i in range(...): deno *= S.count(chr(i))) ans = int(ans/deno) 순열 공식상 순열의 개수 ans/deno는 항상 정수가 나옴이 자명함에도 왜 //=를 써야 정답이 되는지 궁금합니다.