setAuthConfig($credentialsPath); $client->addScope(Google_Service_Storage::CLOUD_PLATFORM); $storage = new Google_Service_Storage($client); $msg = ""; // Handle File Upload if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['md_file'])) { $file = $_FILES['md_file']; $ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); if ($ext !== 'md') { $msg = "오직 .md 파일만 업로드 가능합니다."; } else { $gcsObjectName = $folderPrefix . basename($file['name']); try { // Upload to GCS $fileContent = file_get_contents($file['tmp_name']); $postBody = new Google_Service_Storage_StorageObject(); $postBody->setName($gcsObjectName); $storage->objects->insert($bucketName, $postBody, [ 'data' => $fileContent, 'mimeType' => 'text/markdown', 'uploadType' => 'media' ]); $msg = "GCS 업로드 성공: " . htmlspecialchars($file['name']); } catch (Exception $e) { $msg = "GCS 업로드 실패: " . $e->getMessage(); } } } // Handle File Delete if (isset($_GET['del'])) { $delFileName = $_GET['del']; // This should be the simple filename $gcsObjectName = $folderPrefix . basename($delFileName); try { $storage->objects->delete($bucketName, $gcsObjectName); $msg = "GCS 파일 삭제 완료: " . htmlspecialchars($delFileName); } catch (Exception $e) { $msg = "GCS 삭제 실패: " . $e->getMessage(); } } // List Files from GCS $files = []; try { $objects = $storage->objects->listObjects($bucketName, ['prefix' => $folderPrefix]); // The list includes the folder itself sometimes, and full paths if ($objects->getItems()) { foreach ($objects->getItems() as $object) { $name = $object->getName(); // Filter out the folder itself "tenant_knowledge_base/" if ($name === $folderPrefix) continue; // Extract pure filename $pureName = str_replace($folderPrefix, '', $name); if(empty($pureName)) continue; $size = $object->getSize(); // bytes $files[] = [ 'name' => $pureName, 'size' => $size ]; } } } catch (Exception $e) { $msg = "파일 목록 로드 실패: " . $e->getMessage(); } ?>

챗봇 지식 관리 (GCS)

Tenant Knowledge Base (MD) - Google Storage

파일 업로드

Notion 등에서 Export한 Markdown(.md) 파일을 업로드하세요.

파일명은 문서의 제목으로 사용됩니다.

Google Cloud Storage에 저장됩니다.

AI 학습 데이터 생성

GCS 파일을 분석하여 벡터 DB를 갱신합니다.

GCS 파일 목록 (Total: )
파일명 크기 관리
GCS 버킷에 파일이 없습니다.