많은 조직에서 GenAI를 활용한 지원 에이전트를 구축하고 싶어하죠. 하지만 부정확성이나 지식 부족 같은 문제 때문에 LLM API를 단순히 래핑하는 것만으로는 쉽지 않아요.
이번 블로그에서는 GraphRAG, 즉 Knowledge Graph와 Retrieval-Augmented Generation(RAG)을 어떻게 활용해서 지원 에이전트의 정확성, 관련성, 그리고 출처를 향상시킬 수 있는지 알아볼 거예요. GenAI 스택의 일부인 지원 에이전트 앱 예시를 통해 함께 따라해 볼 수 있어요. GenAI 스택은 Docker, LangChain, Ollama, 그리고 Neo4j를 사용하는 GenAI 애플리케이션을 위한 사전 구축된 개발 환경이랍니다.
정보 검색에 대한 두 가지 접근 방식을 살펴볼 건데요:
- 일반 LLM의 내부 지식에 의존하는 방법
- Knowledge Graph의 Vector Search와 컨텍스트를 결합해서 LLM을 강화하는 방법
도구 및 접근 방식 이해
먼저 예제 앱에 사용된 도구와 기술, 그리고 그 장점을 한번 살펴볼까요?
GenAI 스택
GenAI 스택은 Docker Compose로 조정되는 Docker 컨테이너 세트예요. 여기에는 로컬 LLM을 위한 관리 도구(Ollama), 접지용 데이터베이스(), 그리고 LangChain 기반의 GenAI 앱이 포함되어 있어요.
GenAI 스택은 다음과 같이 구성되어 있습니다:
- 애플리케이션 컨테이너: LangChain을 사용해서 오케스트레이션하고, UI는 Streamlit으로 구축된 Python 애플리케이션 로직이에요.
- LLM 컨테이너: Ollama. Linux를 사용하는 경우에 해당하고, macOS를 사용한다면 Docker 외부에 Ollama를 설치할 수 있어요.
이 컨테이너들은 Docker Compose로 연결되어 있어요. Docker Compose에는 애플리케이션 코드를 변경할 때마다 관련 컨테이너를 다시 빌드하는 감시 모드 설정이 있어서 빠른 피드백 루프와 훌륭한 개발자 경험을 제공하죠.
Retrieval-Augmented Generation
GenAI 스택을 사용하면 RAG를 통해 GenAI 앱에서 생성된 결과의 정확성과 관련성을 높일 수 있어요.
Retrieval-Augmented Generation은 생성형 AI 모델과 검색 메커니즘을 결합해서 생성된 콘텐츠의 품질과 관련성을 향상시키는 기술이에요. 훈련된 데이터에만 의존하는 기존 생성 모델과는 달리, RAG 시스템은 먼저 외부 Knowledge Base나 데이터 세트에서 관련 정보를 검색한 다음, 이 정보를 사용해서 생성된 결과물을 보강하고 개선하죠.
RAG 시스템의 응답 생성 프로세스는 다음 두 단계를 거쳐요:
- : 시스템은 입력된 Query와 가장 관련성이 높은 정보를 찾기 위해 데이터베이스와 같은 Knowledge Source를 검색해요.
- : 검색된 정보는 생성 모델에 입력되고, 생성 모델은 이 컨텍스트를 사용해서 더 정확하고 상황에 맞는 응답을 생성하죠.
RAG 시스템의 정보 검색 단계는 다음과 같아요:
- 사용자 쿼리 삽입 – RAG 시스템은 사용자의 자연어 쿼리를 `임베딩(Embedding)`이라는 벡터 표현으로 변환해요. 이 `임베딩(Embedding)`은 쿼리의 의미론적 의미를 포착해서 시스템이 단순한 키워드 일치를 넘어 뉘앙스, 컨텍스트, 의도를 이해할 수 있도록 도와주죠.
- 유사한 문서 검색 – 시스템은 내장된 쿼리를 사용해서 Knowledge Graph 또는 문서 저장소에서 벡터 검색을 수행해요. 이 검색은 쿼리의 벡터 표현을 사용하기 때문에 키워드가 정확히 일치하는 문서뿐만 아니라 개념적으로 쿼리와 일치하는 문서도 식별할 수 있어요.
- – 시스템은 선택적으로 문서(또는 Graph Database, `노드(Node)` 및 그래프에서 검색된 `관계(Relationship)`)의 다양한 정보 사이의 `관계(Relationship)`를 분석해서 더 많은 정보와 상황에 맞는 정확한 답변을 제공해요.
- 향상된 프롬프트 생성 – 시스템은 사용자 `쿼리(Query)`, 검색된 정보 및 기타 특정 지침을 LLM에 대한 자세한 `프롬프트(Prompt)`로 결합해요.
생성 단계에서 LLM은 이 향상된 `프롬프트(Prompt)`를 사용해서 사전 훈련된 지식만을 기반으로 답변하는 것보다 더 많은 맥락을 갖춘 답변을 생성하죠.
RAG는 여러 가지 이점을 제공해요. 외부 지식 소스의 사실 데이터를 바탕으로 LLM 응답을 기반으로 하기 때문에 잘못된 정보가 생성될 위험을 줄이고 사실의 정확성을 향상시키죠. RAG는 가장 관련성이 높은 정보를 검색하고 사용하므로 응답의 관련성도 높아져요. LLM과 달리 RAG는 응답 생성 중에 데이터를 소스로 삼은 곳에서 관련 문서에 액세스할 수 있어요. 즉, 사용하는 정보 소스를 공유할 수 있고, 이를 통해 사용자는 AI 출력의 정확성과 관련성을 확인할 수 있는 거죠.
이 블로그 후반부에서 지원 에이전트에 RAG가 있거나 없는 응답 품질의 차이를 확인할 수 있을 거예요.
오픈 소스 로컬 LLM
OpenAI 및 AWS와 같은 타사 LLM 공급자에 의존하지 않기 위해 GenAI Stack은 Llama and Mistral과 같은 오픈 소스 LLM 설정 및 사용을 지원해요.
오픈 소스 LLM 연구는 최근 크게 발전했어요. Llama 및 Mistral과 같은 모델은 인상적인 수준의 정확도와 성능을 보여주면서 상업용 모델에 대한 실행 가능한 대안이 되고 있죠.
오픈 소스 LLM의 중요한 이점은 외부 LLM 제공업체에 의존할 필요가 없다는 거예요. 이러한 모델을 로컬에 배포하면 AI 인프라를 완벽하게 제어할 수 있으므로 데이터 개인 정보 보호, 공급업체 종속 및 지속적인 비용에 대한 우려가 줄어들죠.
또 다른 이점은 데이터 흐름과 저장을 제어할 수 있다는 거예요. 조직은 민감한 정보를 전적으로 사내에서 관리해서 개인 정보 보호 규정을 준수할 수 있고, 제3자 데이터 처리와 관련된 위험도 줄어들죠.
다음과 같은 도구 Ollama는 이러한 오픈 소스 LLM을 로컬에서 더 쉽게 설정하고 실행할 수 있도록 도와줘요. Ollama는 AI 전문 지식이 부족한 사용자라도 광범위한 구성이나 유지 관리 없이 Llama 및 Mistral과 같은 모델을 사용할 수 있을 정도로 배포 및 관리를 단순화하죠.
예제 애플리케이션 개요: 내부 지원 에이전트 챗봇
예제 앱은 다음과 같은 가상의 사용 사례를 기반으로 해요.
기술 회사에는 최종 사용자의 질문에 답변하는 지원 담당자가 있죠. 조직에는 키워드 검색을 사용하는 기존 질문과 답변에 대한 내부 지식 기반이 있고요.
여러분의 개발자 팀은 LLM을 단독으로 사용하거나 LLM을 지식 기반의 데이터와 결합하는 새로운 Natural Language 채팅 인터페이스에 대한 프로토타입을 구축하라는 요청을 받았어요.
공개 데모에서는 내부 기술 자료에 액세스할 수 없기 때문에 이 문서에서는 스택 오버플로 데이터의 하위 집합을 사용해서 해당 데이터베이스를 시뮬레이션할 거예요.
GenAI Stack과 함께 제공되는 데모 애플리케이션은 다음 세 가지를 보여줘요.
- 태그를 통해 Stack Overflow에서 최근 질문-답변 데이터 가져오기 및 삽입
- 벡터 및 그래프 검색을 사용하여 채팅 인터페이스를 통해 가져온 데이터 `쿼리(Query)`
- 높은 순위의 기존 질문 스타일로 새로운 질문 생성
예시 시스템의 설계 방법은 다음과 같아요.

- 사용자가 지원 상담원에게 질문을 하면 질문은 먼저 `임베딩(Embedding)` 모델을 거쳐 벡터 표현을 계산해요.
- 다음으로, 챗봇은 사용자 질문의 임베딩 값과 데이터베이스 내 문서의 코사인 유사성을 비교해서 데이터베이스에서 가장 관련성이 높은 `Node`를 찾아요.
- `Vector Search`를 사용해서 관련 `Node`가 식별되면, 애플리케이션은 `Node`에서 추가 정보를 검색하고 그래프의 관계를 탐색하죠.
- 마지막으로 데이터베이스의 컨텍스트 정보를 사용자 질문 및 추가 지침과 결합해서 `Prompt`로 만들어요. 그런 다음 이 `Prompt`를 LLM에 전달해서 최종 답변을 생성한 다음, 이를 사용자에게 보내는 거예요.
GenAI 스택을 사용하여 AI 지원 에이전트 설정
이 점을 염두에 두고 예제 앱이 실제로 작동하는 모습을 한번 살펴볼까요?
저장소 설정
의 Docker Desktop에서 GenAI 스택을 클릭해서 GitHub 저장소의 지원 챗봇 예시를 탐색해보세요:

저장소를 로컬로 복제합니다.
메모: 리포지토리에서 Docker 컨테이너를 실행하려면 머신에 Docker가 설치되어 있어야 해요.
Linux에서 Ollama는 예시 앱의 일부로 컨테이너에서 실행되기 때문에 수동으로 설치할 필요가 없어요. 간단하게 .env를 복제하고 변수를 설정한 저장소의 파일 OLLAMA_BASE_URL=http://llm:11434를 구성하면 돼요.
Windows와 macOS에서는 올라마 다운로드 GUI 애플리케이션을 사용하거나 다음을 실행해서 시작하세요. ollama serve CLI를 사용해서요.
저장소의 예제 앱
이번 튜토리얼에서는 앱 과 를 사용해서 지원 에이전트와 데이터 로딩 서비스가 어떻게 작동하는지 보여드릴 거예요. 하지만 복제한 저장소에는 GenAI 스택을 사용해서 구축된 앱이 몇 개 더 포함되어 있다는 것을 알 수 있을 거예요.
가장 주목할만한 것은 PDF 챗봇인데, 이걸 사용하면 PDF 문서를 업로드하고 해당 내용에 대해 질문할 수 있어요.

봇은 제공된 PDF의 텍스트를 청크로 분할하고 해당 청크를 Neo4j 데이터베이스에 포함시켜요. 그런 다음 콘텐츠에 대해 질문하고 LLM이 `Vector` 유사성 검색을 사용해서 청크를 참조하도록 할 수 있죠.
저장소에는 다음 위치에 독립형 HTTP API도 포함되어 있어요. http://localhost:8504 이는 여러분이 구축할 지원 에이전트와 동일한 방식으로 질문에 답변하는 기능을 노출해요. 정적 프런트엔드 http://localhost:8505 위에서 본 지원 에이전트와 동일한 기능을 가지고 있지만 최신 모범 사례(Vite, Svelte, Tailwind)를 사용해서 백엔드 코드와 별도로 구축되었어요.
기본값을 사용하여 예제 앱 가동
시작하려면 예제 앱의 기본 구성을 사용하세요. 로컬로 다운로드한 Llama 2 모델, 문장 변환기 임베딩 모델 및 사용자 이름이 있는 로컬 Neo4j 데이터베이스 인스턴스 neo4j 그리고 비밀번호 password를 사용해요.
기본값을 사용하는 터미널에서 다음 명령을 호출하세요. docker-compose.yml:
docker compose up
처음 실행 시 필요한 종속성을 다운로드한 다음 종속성 순서대로 모든 컨테이너를 시작할 거예요.
Knowledge Graph 설정을 위한 데이터 가져오기 애플리케이션은 http://localhost:8502에서 실행되고, 지원 채팅 인터페이스는 http://localhost:8501에서 실행돼요.
태그를 통해 Stack Overflow에서 데이터 가져오기 및 임베딩
챗봇에 질문을 던지기 전에 Knowledge Graph에 데이터를 먼저 로드해야겠죠?
애플리케이션은 http://localhost:8502에서 제공되는데요, Stack Overflow 질문-답변 데이터를 Neo4j 데이터 저장소로 가져올 수 있는 데이터 가져오기 애플리케이션이에요.

데이터 가져오기 애플리케이션은 API 요청을 통해 Stack Overflow에서 데이터를 가져오고, LangChain 임베딩을 사용하여 콘텐츠를 임베딩하고, 질문-답변 데이터를 Neo4j에 저장해요. 또한 채팅이나 다른 애플리케이션에서 관련 정보를 쉽고 빠르게 검색할 수 있도록 Vector Search Index를 생성한답니다.
데이터 가져오기 애플리케이션을 사용하면 사용자는 Stack Overflow API에서 가져올 태그와 최근 질문 수(100개 단위)를 지정할 수 있어요.
여기에서 태그를 선택하고 페이지 수를 5~10 사이로 설정한 다음 Import 버튼을 눌러 데이터 가져오기를 시작해 보세요.

가져오기를 실행하는 데 1~2분 정도 걸릴 거예요. 이 시간의 대부분은 임베딩을 생성하는 데 사용되죠.
가져오기 이후 또는 가져오는 도중에 다음 링크 http://localhost:7474를 클릭해서 사용자 이름 neo4j, 비밀번호 password로 로그인할 수 있어요. Docker Compose 파일에 구성된 대로 말이죠. 로그인하면 웹페이지 왼쪽 사이드바에서 개요를 볼 수 있고, 숫자가 표시된 알약을 클릭하면 연결된 데이터를 확인할 수 있답니다.

데이터 로더는 다음 스키마를 사용하여 그래프를 가져와요.

Stack Overflow의 그래프 스키마는 질문(Question), 답변(Answer), 사용자(User) 및 태그(Tag)를 나타내는 Nodes로 구성되어 있어요. 사용자는 ASKED 관계를 통해 질문한 질문에 연결되고, ANSWERED 관계를 통해 그들이 제공한 답변에 연결되죠. 각 답변은 특정 질문과 연관되어 있고요. 또한 질문은 관련 주제나 기술별로 TAGGED 관계를 통해 Tag에 연결됩니다.
아래 그래프로 가져온 데이터의 일부를 볼 수 있어요.

Vector 및 그래프 검색을 사용하여 채팅 인터페이스를 통해 가져온 데이터 쿼리
이제 챗봇의 Knowledge Graph에 데이터가 준비되었으니, 질문을 시작해 볼까요?
애플리케이션은 http://localhost:8501에서 제공되고, 질문하고 답변을 얻을 수 있는 일반적인 LLM 채팅 UI를 가지고 있어요.

RAG 모드 스위치를 사용하면 사용자는 LLM의 훈련된 지식에만 의존할지 (RAG: Disabled) 또는 애플리케이션이 텍스트 임베딩 및 유사성 검색과 그래프 쿼리를 사용하여 데이터베이스에서 가장 관련성이 높은 질문과 답변을 찾아야 하는지 (RAG: Enabled) 여부를 선택할 수 있어요.

그래프의 데이터를 탐색하면 LLM이 질문에 답할 수 있는 순수한 Vector 조회보다 더 풍부하고 정확한 정보를 제공하여 더 나은 사용자 경험을 제공할 수 있어요. 이 예에서는 앱이 유사성 검색에서 반환된 질문에 대해 가장 관련성이 높은 (승인되고 점수가 매겨진) 답변을 찾는 데 도움이 되죠. 하지만 예를 들어 관련 태그를 고려하면 이보다 훨씬 더 많은 정보를 얻을 수 있을 거예요.
다음은 LangChain을 사용해서 Neo4j Graph Database의 소스와 정보를 가지고 사용자 쿼리에 응답하는 Python 코드예요.
qa_chain = load_qa_with_sources_chain(
llm,
chain_type="stuff",
prompt=qa_prompt
)
# Vector + Knowledge Graph response
kg = Neo4jVector.from_existing_index(
embedding=embeddings,
url=url,
...,
index_name="stackoverflow",
retrieval_query="""
CALL { with question
MATCH (question)<-[:ANSWERS]-(answer)
RETURN answer
ORDER BY answer.is_accepted DESC, answer.score DESC LIMIT 2
}
RETURN question.title + ' ' + question.body + ' ' + collect(answer.body) AS text, similarity, {source: question.link} AS metadata
ORDER BY similarity
""",
)
kg_qa = RetrievalQAWithSourcesChain(
combine_documents_chain=qa_chain,
retriever=kg.as_retriever(search_kwargs={"k": 2})
)
LangChain과 Neo4j는 순수 벡터 검색도 지원한답니다.
RAG 애플리케이션은 답변을 생성하는 데 사용된 소스를 제공할 수 있어서 사용자가 답변을 신뢰하고 확인할 수 있게 도와줘요. RAG 모드에서 예제 앱은 응답을 생성하는 데 사용하는 정보의 소스를 제공하도록 LLM에 지시하는데요. 제공되는 소스는 LLM이 응답에 사용하는 Stack Overflow 질문에 대한 링크랍니다.

높은 순위의 기존 질문 스타일로 새로운 질문 생성
데모 애플리케이션을 사용하면 LLM이 이미 데이터베이스에 있는 높은 순위의 질문 스타일로 새 질문을 생성할 수도 있어요.
여기서 가상적인 상황은 지원 에이전트가 기존 Knowledge Graph에서 최종 사용자 질문에 대한 답변을 찾을 수 없고 내부 엔지니어링 지원 팀에 새 질문을 게시하려고 한다는 건데요.

사용자가 버튼을 클릭하면 LLM에 사용자 질문과 함께 데이터베이스의 상위 질문이 제공돼요. 그런 다음 원래 사용자 질문을 기반으로 상위 질문과 동일한 어조, 스타일 및 품질로 새 티켓을 생성하라는 요청을 받게 되죠.

앱 사용자 정의
이러한 앱을 사용 사례에 맞게 변경하는 방법은 다음과 같아요.
기본 구성 사용자 정의
저장소에 있는 예제 앱의 기본 구성을 사용자 정의하려면 다음을 생성해서 저장소에 저장하면 돼요. .env 파일을 저장하고 다음 환경 변수를 구성하세요.
| 변수 이름 | 기본값 | 설명 |
|---|---|---|
OLLAMA_BASE_URL |
http://host.docker.internal:11434 |
필수 – Ollama LLM API에 대한 URL |
NEO4J_URI |
neo4j://database:7687 |
필수 – Neo4j 데이터베이스에 대한 URL |
NEO4J_USERNAME |
neo4j |
필수 – Neo4j 데이터베이스의 사용자 이름 |
NEO4J_PASSWORD |
password |
필수 – Neo4j 데이터베이스의 비밀번호 |
LLM |
llama2 |
필수 – Ollama 모델 태그일 수 있습니다.gpt-4 or gpt-3.5 or claudev2 |
EMBEDDING_MODEL |
sentence_transformer |
필수 – 가능sentence_transformer, openai, aws, ollama, or google-genai-embedding-001 |
AWS_ACCESS_KEY_ID |
필수 – 다음의 경우에만LLM=claudev2 or embedding_model=aws |
AWS_SECRET_ACCESS_KEY필수 – 다음의 경우에만
LLM=claudev2 or embedding_model=awsAWS_DEFAULT_REGION필수 – 다음의 경우에만
LLM=claudev2 or embedding_model=awsOPENAI_API_KEY필수 – 다음의 경우에만
LLM=gpt-4 or LLM=gpt-3.5 or embedding_model=openaiGOOGLE_API_KEY필수 – Google GenAI LLM을 사용할 때만 필요해요.
embedding_model=google-genai-embedding-001LANGCHAIN_ENDPOINT"https://api.smith.langchain.com"선택 사항 – LangChain Smith API에 대한 URLLANGCHAIN_TRACING_V2false선택 사항 – LangChain Tracing V2 활성화LANGCHAIN_PROJECT선택 사항 – LangChain 프로젝트 이름
LANGCHAIN_API_KEY선택 사항 – LangChain API 키
LLM 변수를 변경해서 사용할 로컬 LLM을 바꿀 수 있어요. Ollama를 통해 다른 로컬 LLM을 사용하려면, 사용하려는 모델을 로 지정하세요. 예를 들어 llama2:7b 또는 mistral처럼요. OpenAI LLM을 사용하려면 LLM 변수를 gpt-4 또는 gpt3.5로 설정하고, OpenAI API 키를 OPENAI_API_KEY 변수에 설정하면 돼요.
앱의 임베딩 모델로는 sentence_transformer, openai, aws, ollama, 그리고 google-genai-embedding-001 중에서 고를 수 있습니다.
Neo4j의 로컬 컨테이너화된 인스턴스를 사용하고 싶다면, .env 파일에 Neo4j 관련 키를 지정할 필요는 없어요. 기본 비밀번호(password)는 docker-compose.yml 파일에 설정되어 있거든요.
만약 원격 Neo4j 인스턴스(예: Neo4j AuraDB)를 사용한다면, Neo4j 관련 변수(NEO4J_URI, NEO4J_USERNAME, 그리고 NEO4J_PASSWORD)에 값을 추가해주세요. 클라우드 인스턴스를 가동할 때, 이러한 자격 증명을 텍스트 파일 다운로드로 받게 될 거예요.
LangChain Smith를 사용해서 이 LangChain 애플리케이션을 관찰하고 디버깅하려면, LangChain 계정에 로그인하고 프로젝트와 API 키를 생성한 다음 환경 변수로 추가하세요.
일단 .env 파일 구성을 마쳤다면, 터미널에서 docker compose up을 호출해서 애플리케이션을 시작하면 됩니다.
코드 커스터마이징
원하는 대로 예제 앱의 코드를 커스터마이징할 수도 있어요. 각 컴포넌트를 편집하는 방법을 한번 살펴볼까요?
Python
Python 코드(loader.py 또는 bot.py)를 변경하려면, 변경 사항이 저장되면 해당 컨테이너가 자동으로 다시 빌드되도록 새 터미널 창을 열고 docker compose alpha watch를 호출하세요.
이제 Python 파일을 변경하면, 개발 환경이 훨씬 좋아지도록 해당 파일이 포함된 컨테이너가 다시 빌드될 거예요.
데이터베이스
데이터를 변경하려면 http://localhost:7474로 이동해서 Neo4j 브라우저를 로드하세요. 비밀번호는 password이고, docker-compose.yml 또는 .env 파일에서 구성되어 있죠. 여기서 데이터베이스의 데이터를 탐색, 편집, 추가 및 삭제할 수 있어요.
로컬 data 폴더를 현재 작업 디렉터리에 저장하도록 구성되어 있어서, 컨테이너를 다시 빌드하고 다시 시작해도 데이터베이스 파일은 유지됩니다. 처음부터 다시 설정하려면 해당 폴더를 삭제하면 돼요.
기타 변경 사항
Streamlit 프레임워크를 사용해서 예제 앱의 UI를 변경할 수 있어요. 아니면 기능을 API로 제공하고 싶다면, FastAPI 또는 Flask를 설치하고, 채팅 엔드포인트를 노출하고, 프런트엔드 기술을 사용해서 UI를 구축하면 됩니다.
Obsidian Markdown 메모, Slack 대화, 또는 실제 Knowledge Graph와 같은 비공개 내부 데이터가 있다면, 이를 삽입하고 질문을 시작할 수 있어요. LangChain에는 다양한 기능이 있어서, GenAI 애플리케이션에서 여러 데이터 소스 또는 다른 LLM 제공자를 추가하고 결합하려는 경우에 유용하죠.
다음 단계
GenAI 앱 구축은 점점 더 복잡해지고 있죠. 부정확성이나 지식 부족 때문에 어려움을 겪고 있다면, 예제 앱 데모와 함께 Retrieval-Augmented Generation (RAG)이 어떻게 이런 문제들을 해결하는지 살펴보는 게 도움이 될 거예요.
좀 더 구체적으로 들어가자면, Neo4j는 GraphRAG를 도입했고, GenAI 애플리케이션을 향상시키는 GraphRAG 생태계 도구도 있답니다. 이런 도구들을 사용하면 구조화되지 않은 텍스트에서 Knowledge Graph를 생성하고, 그래프를 이용해서 벡터 및 그래프 검색을 통해 생성 작업에 필요한 관련 정보를 가져올 수 있어요.
- GenAI Stack
- Generative AI
- Langchain
- Ollama
- Stack Overflow
- Support Agent
에이치시스템즈의 LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.
'Agent AI' 카테고리의 다른 글
| Graphiti: 에이전트 시대를 위한 Knowledge Graph 메모리 (0) | 2026.04.10 |
|---|---|
| Building an AI Agent with Memory: Microsoft Agent Framework + Neo4j (1) | 2026.04.10 |
| 에이전트 워크플로우에서 Function Calling 활용하기 (0) | 2026.04.09 |
| MCP Agentic 시스템에서 Graph 검색 성능 평가하기 (0) | 2026.04.09 |
| Google 어시스턴트 eBay 앱: Graph로 구동되는 대화형 커머스 (1) | 2026.04.08 |
