뉴렐릭을 사용하면 문서, 런북, 인시던트 레트로, 심지어 서비스와 연결하여 검색 생성(RAG)으로 뉴렐릭 AI 에이전트를 향상할 수 있습니다. 이 프로세스를 통해 뉴렐릭 AI는 시스템 문제를 더 효과적으로 파악할 수 있습니다. 이 튜토리얼에서는 조직 ID를 얻는 방법, RAG 도구를 만드는 방법, Blob API를 사용하여 플랫폼에 문서를 추가하는 방법을 설명합니다.
문서를 추가한 후 RAG 도구와 연결하는 관계를 생성합니다. 그런 다음 RAG 문서와 RAG 도구 간의 관계를 쿼리하여 설정을 확인할 수 있습니다. 마지막 단계는 RAG 도구 자체에 쿼리를 보내 관련 색인 정보를 검색하는 것입니다.
id 은 이후 단계에서 문서를 도구에 연결하고, 관계를 확인하고, 뉴렐릭에서 관련 정보를 도구에 쿼리하는 데 필요하므로 반환된 값을 저장해야 합니다.
과제 2
RAG 도구에 컨텍스트를 제공하는 방법에는 두 가지 옵션이 있습니다. 정적 파일을 수동으로 업로드하거나 실시간 문서화를 위한 자동화된 커넥터를 설정할 수 있습니다.
옵션 A: 문서에 색인을 생성하세요
cloud 기반 지식 베이스에 호스팅되지 않은 PDF, Word 파일 또는 로컬 CSV와 같은 정적 문서가 있는 경우 문서 지식 커넥터를 사용하십시오. 이 방법은 Blob API 사용하여 개별 파일을 뉴렐릭에 직접 업로드합니다. 이 옵션은 다음과 같은 경우에 사용하십시오.
**일회성 상황:** 거의 변경되지 않는 특정 운영 매뉴얼 또는 아키텍처 다이어그램을 업로드하는 경우.
로컬 데이터: 위키가 아닌 로컬 컴퓨터에 저장된 독점 파일 또는 내부 파일을 색인화합니다.
에이전트 테스트: 특정 워크플로우를 위해 AI 에이전트에 특정 문서 세트를 신속하게 제공합니다.
중요
모든 색인된 문서는 조직 내 모든 사용자가 볼 수 있습니다. 색인하는 문서가 내부 정책을 준수하는지 확인하고, 민감하거나 개인적인 데이터를 업로드하지 않도록 하세요.
Blob API와 그 목적
Blob API 문서, 런북 등의 파일을 계정에 업로드하기 위해 설계된 뉴렐릭 서비스입니다. NerdGraph는 구조화된 데이터 쿼리와 변형에 최적화되어 있고, 효율적인 파일 전송에는 적합하지 않으므로, 문서를 업로드하려면 Blob API가 필요합니다.
인증 요구 사항
문서를 업로드할 수 있는 권한이 있는 유효한 뉴렐릭 API 키가 필요합니다. Blob API 사용하여 뉴렐릭에 문서를 업로드하기 위한 API 키를 얻으려면:
문서를 업로드하면 색인이 생성되어 뉴렐릭 AI가 검색하고 검색할 수 있게 됩니다. RAG 도구와의 관계를 생성하거나 NerdGraph에서 문서를 쿼리하려면 응답에서 entityGuid 을 저장해야 합니다.
Blob API 통해 문서가 업로드된 후 이 쿼리를 실행하면 업로드가 성공했고 문서가 RAG 문서로 제대로 등록되었는지 확인할 수 있습니다. 고유한 사용자 및 속성이 있습니다.
입력스피커, 변수
반응, 이름
데이터 형식
꼭 필요한가요?
설명
id
문자열
네
검색할 RAG 문서의 고유 GUID입니다.
샘플 쿼리
아래 쿼리에서 ${RAG_DOCUMENT_GUID} 플레이스홀더를 이전 단계에서 받은 entityGuid 로 바꾸세요.
{
actor{
entityManagement{
entity(
id: `${RAG_DOCUMENT_GUID}`
){
...onEntityManagementRagDocumentEntity{
id
name
blob{
url
}
type
}
}
}
}
}
이 쿼리는 RAG 문서에 대한 다음과 같은 세부 정보를 반환합니다.
id: RAG 문서의 고유 ID입니다.
name: RAG 문서의 이름.
blob { url }: 업로드된 문서에 접근하기 위한 URL입니다.
type: 이 경우 EntityManagementRagDocumentEntity 사고의 유형입니다.
이제 RAG 도구를 만들고, 문서를 업로드하고, 업로드가 성공했는지 확인했으니, 다음 단계는 RAG 도구와 RAG 문서를 연결하여 뉴렐릭 AI가 문서를 검색하고 사용할 수 있도록 하는 것입니다. 이렇게 하려면 entityManagementCreateRelationship 돌연변이를 실행하세요.
Blob API를 통한 문서 업로드 응답에서 ${RAG_DOCUMENT_GUID}entityGuid 로 바꾸세요.
${RAG_TOOL_GUID} RAG 도구 생성 돌연변이의 응답에서 id 로 바꾸세요.
입력스피커, 변수
반응, 이름
데이터 형식
꼭 필요한가요?
설명
relationship
물체
네
관계에 대한 세부 정보를 포함하는 입력 개체입니다.
source
물체
네
이 관계의 출처는 RAG 문서입니다.
source.scope
문자열
네
소스의 범위는
ORGANIZATION
이어야 합니다.
source.id
문자열
네
RAG 문서의 고유 GUID(
${RAG_DOCUMENT_GUID}
).
target
물체
네
RAG 도구인 관계의 터키, 목표를 분리합니다.
target.scope
문자열
네
구간, 분할의 범위는
ORGANIZATION
이어야 합니다.
target.id
문자열
네
RAG 도구의 고유 GUID(
${RAG_TOOL_GUID}
).
type
문자열
네
관계의 유형은
"INDEXED_FOR"
이어야 합니다.
샘플 돌연변이
mutation{
entityManagementCreateRelationship(
relationship:{
source:{
scope:ORGANIZATION,
id: `${RAG_DOCUMENT_GUID}`
},
target:{
scope:ORGANIZATION,
id: `${RAG_TOOL_GUID}`
},
type:"INDEXED_FOR"
}
){
relationship{
type
target{
id
type
}
source{
id
type
}
}
}
}
옵션 B: Confluence 문서에 색인을 생성하세요
조직에서 문서 관리를 위해 Confluence를 사용하는 경우 Blob API 사용하지 않고도 Confluence 문서를 뉴럴릭에 인덱싱할 수 있습니다. 이 옵션을 사용하면 Confluence 인스턴스를 연결하고 특정 문서 또는 스페이스를 선택하여 색인을 생성하고 RAG 도구와 연결할 수 있습니다. 이 옵션을 사용하면 뉴렐릭 AI가 항상 최신 버전의 Confluence 페이지를 사용할 수 있습니다.
이 커넥터를 사용하려면 Atlassian API 토큰이 필요합니다. 이 정보를 뉴럴릭 비밀 관리자에 안전하게 보관하세요.
입력스피커, 변수
반응, 이름
데이터 형식
필수의?
설명
description
문자열
아니요
비밀 정보가 어떤 용도로 사용되는지에 대한 간략한 요약입니다.
열쇠
문자열
네
이 비밀을 참조하는 데 사용되는 고유 이름입니다(예:
CONFLUENCE_API_TOKEN
).
네임스페이스
문자열
네
RAG 인덱서 서비스에서 해당 데이터에 접근하려면
rag-datafetching
으로 설정해야 합니다.
값
문자열
네
실제 Confluence API 토큰 값 또는 비밀번호입니다.
범위
물체
네
조직적 맥락을 정의합니다. 유형은 반드시
ORGANIZATION
이어야 합니다.
샘플 돌연변이
mutationcreateSecretKey{
secretsManagementCreateSecret(
description:"Confluence API token for RAG indexing"
RAG 설정과 RAG 도구 간에 APPLY_TO 관계가 생성되면 뉴렐릭 RAG 인덱서 서비스는 다음 백그라운드 프로세스를 시작합니다.
이 서비스는 사용자의 confluenceQuery 사용하여 Confluence 인스턴스에서 일치하는 콘텐츠를 검색합니다.
일치하는 모든 페이지를 검색하여 처리 가능한 형식으로 변환합니다.
콘텐츠는 사용자의 chunkSize, chunkOverlap, textSplitterType 설정에 따라 더 작은 부분으로 나뉩니다.
이 서비스는 각 청크에 대해 밀집 임베딩과 희소 임베딩을 생성하고 이를 벡터 데이터베이스(Pinecone)에 인덱싱합니다.
커넥터는 사용자가 정의한 intervalSeconds 간격에 따라 주기적으로 콘텐츠를 다시 인덱싱하여 AI가 최신 문서에 액세스할 수 있도록 합니다.
과제 3: 관련 정보 검색
관계를 설정한 후(INDEXED_FOR 통해 특정 RAG 문서를 연결하거나 APPLY_TO 통해 Confluence 구성을 적용하여) 연결을 확인하고 도구를 쿼리할 수 있습니다. 이를 통해 사용자의 내부 지식이 적절하게 색인화되어 신경 AI가 상황에 맞는 답변을 제공할 수 있게 됩니다.
${RAG_DOCUMENT_ID} 업로드한 문서의 entityGuid 로 바꾸세요.
입력스피커, 변수
반응, 이름
데이터 형식
꼭 필요한가요?
설명
relationships
질문
네
파트 간의 관계를 검색하는 쿼리입니다.
filter
물체
아니요
속성을 기준으로 관계를 필터링하는 데 사용되는 객체입니다.
filter.sourceId
물체
아니요
소스의 고유 분리로 필터링할 개체입니다.
filter.sourceId.eq
문자열
아니요
일치시킬 RAG 문서의 고유 GUID입니다.
샘플 쿼리
{
actor{
entityManagement{
relationships(
filter:{sourceId:{eq: `${RAG_DOCUMENT_ID}`}}
){
items{
type
target{
id
type
}
}
}
}
}
}
RAG 도구를 설정하고 문서를 색인한 후 RAG 도구를 쿼리하여 질문에 대한 관련 정보를 검색할 수 있습니다. 이를 통해 뉴렐릭 AI는 귀하의 조직의 문서를 사용하여 상황에 맞는 답변을 표면화할 수 있습니다.
입력스피커, 변수
반응, 이름
데이터 형식
꼭 필요한가요?
설명
prompt
문자열
네
RAG 도구에서 처리하려는 자연어 쿼리입니다.
toolId
문자열
네
쿼리할 RAG 도구의 고유 GUID입니다.
샘플 쿼리
{
actor{
machineLearning{
ragQueryData(
prompt:"tell me about the incident",
toolId: `${RAG_TOOL_GUID}`
){
blobId
chunk
documentId
score
toolId
}
}
}
}
응답에는 색인된 문서에서 일치하는 부분이 포함되며, 직접 사용하거나 뉴렐릭 AI로 요약할 수 있습니다.