이 가이드에서는 다음을 수행합니다:
지식 등록
시맨틱 검색 실행
Chat API로 RAG 구축
SDK 설치
아직 설치하지 않았다면 SDK를 설치 하세요. npm install @neuradex/sdk
클라이언트 초기화
import { NdxClient } from '@neuradex/sdk' ;
const client = new NdxClient ({
apiKey: process . env . NEURADEX_API_KEY ,
projectId: process . env . NEURADEX_PROJECT_ID ,
});
지식 등록
지식은 제목, 내용, 태그로 구성됩니다.
// 단일 지식 생성
const knowledge = await client . knowledge . create ({
title: '반품 정책' ,
content: `
상품 도착 후 30일 이내에 반품 가능합니다.
반품 조건:
- 미사용·미개봉 상태여야 합니다
- 태그가 부착된 상태여야 합니다
- 영수증 또는 주문 확인 이메일이 필요합니다
반품 절차:
1. 마이페이지에서 반품 신청
2. 반송용 라벨 인쇄
3. 상품 포장 후 발송
` ,
tags: [ '반품' , '정책' , '고객지원' ],
});
console . log ( `생성 완료: ${ knowledge . id } ` );
일괄 등록
여러 지식을 한 번에 등록할 수도 있습니다.
const items = await client . knowledge . bulkCreate ([
{
title: '배송 안내' ,
content: '일반 배송은 3-5영업일 소요됩니다. 빠른 배송은 익일 배송입니다.' ,
tags: [ '배송' , 'FAQ' ],
},
{
title: '결제 수단' ,
content: '신용카드, 계좌이체, 편의점 결제를 지원합니다.' ,
tags: [ '결제' , 'FAQ' ],
},
]);
시맨틱 검색
등록된 지식을 자연어로 검색할 수 있습니다.
// 검색 실행
const results = await client . knowledge . search ( '상품을 반품하고 싶어요' );
// 결과 표시
for ( const result of results ) {
console . log ( ` ${ result . title } (점수: ${ result . score } )` );
console . log ( ` 요약: ${ result . summary } ` );
console . log ( ` 태그: ${ result . tags . join ( ', ' ) } ` );
}
search()는 제목, 태그, 점수만 반환합니다. 전체 내용이 필요하면 get()을 사용하세요.
상세 정보 가져오기
검색 결과에서 상세 정보를 가져옵니다.
// 가장 관련성 높은 결과의 상세 정보 가져오기
if ( results . length > 0 ) {
const detail = await client . knowledge . get ( results [ 0 ]. id );
console . log ( detail . title );
console . log ( detail . content );
// 관련 지식 확인
for ( const connected of detail . connectedKnowledge ) {
console . log ( `관련: ${ connected . title } ` );
}
}
Chat API로 RAG 구축
**Chat API **를 사용하면 컨텍스트 가져오기, 프롬프트 구성, LLM 호출을 한 단계로 실현할 수 있습니다.
Chat API는 컨텍스트 가져오기, 프롬프트 구성, LLM 호출을 내부에서 자동 처리합니다. memory: { enabled: true }만 지정하면 지식 베이스를 활용한 RAG가 완성됩니다.
import { NdxClient } from '@neuradex/sdk' ;
const client = new NdxClient ({
apiKey: process . env . NEURADEX_API_KEY ,
projectId: process . env . NEURADEX_PROJECT_ID ,
});
// 이것만으로 RAG 완성 — Memory 가져오기도 프롬프트 구성도 SDK가 자동 처리
const stream = client . chat . create ({
model: 'gpt-4o' ,
messages: [
{
role: 'system' ,
content: '당신은 고객 지원 어시스턴트입니다.' ,
},
{
role: 'user' ,
content: '반품하려면 어떻게 해야 하나요?' ,
},
],
memory: { enabled: true , maxTokens: 4000 , includeEpisodes: true },
});
// 스트리밍으로 즉시 표시
for await ( const chunk of stream . textStream ) {
process . stdout . write ( chunk );
}
다음 단계
Chat API 메모리 기반 Chat Completions
Knowledge API 지식 작업 상세 가이드