"use client";
import React, { useState } from "react";
import { RAGManager } from "./rag-manager";
import { DocumentUploader } from "./document-uploader";
import { RSSManager } from "./rss-manager";
import { QALearningManager } from "./qa-learning-manager";
import { AgentConfigManager } from "./agent-config-manager";
import { ChunkManager } from "../../../../components/admin/chunk-manager";
interface RAGAdminIntegratedProps {
title?: string;
subtitle?: string;
showNavigation?: boolean;
defaultTab?: string;
className?: string;
}
export function RAGAdminIntegrated({
title = "RAG 관리 시스템",
subtitle = "문서 업로드, 검색 테스트, 청크 관리",
showNavigation = true,
defaultTab = "search",
className = "",
}: RAGAdminIntegratedProps) {
const [activeTab, setActiveTab] = useState(defaultTab);
const tabs = [
{ id: "search", label: "검색 테스트" },
{ id: "upload", label: "문서 업로드" },
{ id: "rss", label: "RSS 관리" },
{ id: "qa", label: "Q&A 학습" },
{ id: "chunks", label: "청크 관리" },
{ id: "agent", label: "에이전트 설정" },
];
return (
{showNavigation && (
<>
>
)}
{activeTab === "search" && (
RAG 검색 테스트
업로드된 문서들을 대상으로 검색을 테스트해보세요.
)}
{activeTab === "upload" && (
문서 업로더
PDF, 텍스트 파일 등을 업로드하여 RAG 시스템에 추가합니다.
)}
{activeTab === "rss" && (
RSS 관리 시스템
네이버 블로그 RSS 피드를 수동으로 학습하거나, 자동화 설정을 통해
매일 새벽 1시에 자동으로 최신 내용을 학습하도록 관리합니다.
)}
{activeTab === "qa" && (
Q&A 학습 관리
관리자가 직접 질문과 답변을 입력하여 RAG 시스템에 학습시킵니다.
개별 입력 모드와 벌크 입력 모드를 지원합니다.
)}
{activeTab === "chunks" && (
청크 관리
현재 저장된 청크들을 확인하고 관리합니다.
)}
{activeTab === "agent" && (
에이전트 설정
채팅 에이전트의 이름, 성격, 인사말 등을 설정합니다.
)}
);
}