inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

지식그래프(KG) 검색 - Text2Cypher 기법

Text2Cypher 기법에서 Llm이 작성하는 cypher 코드의 오타 발생 문제

321

JIYEON SUNG

작성한 질문수 1

0

안녕하세요 강사님

수업 도중 openai의 llm 모델이 아니라 개인적으로 ChatOllama를 이용해 gemma3 모델로 실습을 해 보고 있었는데, 스키마가 제대로 전달이 되었는데도 불구하고 llm이 서치를 위해 작성한 cypher 코드 상에서 오타가 나는 것을 발견했습니다.

 

image.png

우선 위와 같이 전달 되는 스키마는 제대로 [:DIRECTED] 로 작성되어 있음을 확인할 수 있고요.

 

image.png

반면 크리스토퍼 놀란이 감독한 영화를 찾기 위해 작성한 쿼리에서는 Llm이 [:DORECTED]로 오타를 내고 있습니다.

(참고로 다른 예제에서는 정상적으로 동작하였습니다.)

 

  1. 이처럼 llm이 쿼리 작성 시에 오타를 내는 문제가 종종 발생하는 일인지

  2. 그렇다면 이 문제를 어떻게 해결 혹은 완화할 수 있는지 궁급합니다! 그냥 좀 더 똑똑한 모델을 쓰면 대체적으로 해결되는 문제인가요?

 

 

dbms/rdbms neo4j llm langchain rag

답변 2

1

판다스 스튜디오

안녕하세요.

 

Text2Cypher에서 LLM의 오타 문제는 흔한 현상이며, 특히 작은 모델에서 자주 발생합니다.
모델이 학습한 데이터에 Cypher 구문이 얼마나 많이 포함되어 있는지에 따라서도 차이가 있습니다.

일반적인 해결책은 Few-shot으로 예시를 직접 보여주거나, 더 좋은 성능을 보이는 모델을 적용하는 것입니다.

 

  1. Few-shot 프롬프팅: 예시 추가

"""
Examples:
CORRECT: MATCH (p:Person)-[:DIRECTED]->(m:Movie)
WRONG: MATCH (p:Person)-[:DORECTED]->(m:Movie)
"""
  1. 더 좋은 모델 사용: GPT-4.1, Google Gemini-2.0-pro, Claude-3.7-sonnet 등


이 외에도 적용 도메인에서 자주 사용하는 Cypher 쿼리를 기반으로 Fine-tuning하거나, LLM을 사용하여 Cypher 쿼리 검증 및 재작성하는 방법도 가능합니다.

1

JIYEON SUNG

감사합니다! few shot 프롬프팅도 좋은 방법이 되겠네요!

0

인프런 AI 인턴

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

LLM 모델을 사용하는 과정에서 예기치 않은 오타가 발생할 수 있습니다. 이는 자연어 처리 모델의 특성상 맥락을 충분히 이해하지 못하는 경우에 발생할 수 있는 일입니다. 주로 모델이 텍스트 기반의 지시를 데이터 처리 명령어로 변환하는 과정에서 문맥적 실수를 하게 되죠.

  1. 쿼리 작성 시 오타 문제 발생 여부:

    • LLM 모델이 작성한 코드에는 가끔 문법적 오류나 오타가 발생할 수 있습니다. 이는 특히 입력 프롬프트에 명확성이 부족하거나 충분히 강력한 데이터셋으로 학습되지 않았을 때 더욱 두드러질 수 있습니다.
  2. 문제 해결 및 완화 방법:

    • 프롬프트 개선: 더 다양한 사례를 제공하거나 특정 문법 규칙을 명시하면 도움이 될 수 있습니다.

    • 자동 교정: 작성한 쿼리를 후처리하여 잘못된 부분을 자동으로 교정하는 로직을 추가할 수 있습니다.

    • 더 높은 성능의 모델 사용: 오류율을 줄이기 위해서는 고성능 모델을 사용할 필요가 있습니다. 성능이 좋은 모델들은 텍스트 맥락을 더 잘 파악하여 오류를 줄일 수 있습니다.

    • 커스터마이징: 학습된 모델을 특정 작업에서 더 잘 수행할 수 있도록 추가적인 데이터로 파인튜닝할 수 있습니다.

관련된 경험이나 해결 방법에 대한 깊은 논의를 보실 수 있게끔 다른 질문과 답변을 참고해 주시면 좋을 것 같습니다. 이 링크에서는 다양한 모델 및 프롬프트 관리 방안에 관한 정보가 다루어졌습니다.

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

18강 smithery 를 이용한 mcp 실습(업데이트 요청)

0

4

1

guardrails 부분도 현재버전과 약간 다릅니다.

0

5

0

간단한 오타 제보입니다.

0

3

0

smithery ai 언제 업데이트 되나요?

0

9

0

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

19

1

뉴스 데이터 전처리 실습 파일 부재

0

53

3

강의 github 어디에 있나요?

0

52

2

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

0

117

2

프로젝트 설정 (uv 설치, ..) -> 해당 영상 자료 없음

0

72

1

test.py 파일이 어딨나요?

0

70

2

EasyOcr 관련

0

64

2

neo4j 사용에 질문 드립니다.

0

60

2

fulltext index 생성이 안됩니다

0

52

2

2강 main.py 파일

0

91

3

neo4j 데스크탑 config파일설정변경

0

94

2

Preview KG_P1_02_neo4j_cypher_advanced.md자료

0

55

1

id(actor) 와 관련한 질문입니다

0

48

2

쿼리문 질문 드립니다.

0

86

3

프로젝트 4 법률 실습데이터 존재하지 않음

0

58

2

LangChain 질문

0

67

2

neo4j의 장점

0

109

2

neo4j-nori-analyzer 출처 문의

0

91

2

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

0

139

2

AuraDB 연동 안되는 현상 질문

0

153

1