wiki:it:wiki:gemini_api_integration
문서의 이전 판입니다!
목차
Gemini API 연동 개발
이 문서는 DokuWiki와 Google Gemini API를 연동한 플러그인 개발에 대한 상세한 설명입니다.
아키텍처 개요
사용자 인터페이스
- 편집기 툴바에 두 개의 AI 버튼 추가
- 반응형 디자인으로 모바일 지원
- 색상 구분: 파란색(초안 생성), 녹색(텍스트 수정)
백엔드 구조
action.php
- 메인 플러그인 클래스- AJAX 이벤트 핸들러 등록
- API 키 관리 및 보안
- 사용량 제한 및 모니터링
프론트엔드 구조
script.js
- 사용자 인터페이스 로직- 텍스트 선택 및 편집기 조작
- AJAX 통신 및 오류 처리
- 사용자 피드백 제공
핵심 기능
==== AI 초안 생성 TEMP_FIVE
- 전체 편집기 내용을 기반으로 초안 생성
- DokuWiki 문법 규칙 엄격 준수
- 상세하고 구조적인 문서 생성
- 한국어 출력 보장
TEMP_FIVE AI 텍스트 수정 ====
- 선택된 텍스트만 수정
- 사용자 지시사항 기반 수정
- 원본 DokuWiki 문법 보존
- 실시간 편집기 업데이트
API 설정 및 보안
==== API 키 관리 TEMP_FIVE
- DokuWiki 설정 관리자를 통한 안전한 키 저장
- 하드코딩 방지
- 관리자 권한으로만 접근 가능
TEMP_FIVE 사용량 제한 ====
- 분당 10회 호출 제한
- 일일 500회 호출 제한
- 파일 기반 사용량 추적
- 자동 제한 및 사용자 알림
모델 설정
==== Gemini 2.5 Flash 모델 TEMP_FIVE
- 최신 모델 사용으로 성능 최적화
- 1,048,576 토큰 입력 한도
- 65,536 토큰 출력 한도
- 빠른 응답 속도
TEMP_FIVE 생성 설정 ====
generationConfig: { temperature: 0.7, // 창의성 조절 topP: 1.0, // 다양성 조절 topK: 32, // 토큰 선택 범위 maxOutputTokens: 8192 // 최대 출력 길이 }
프롬프트 엔지니어링
==== DokuWiki 문법 규칙 TEMP_FIVE
- 제목: H3~H5 레벨만 사용
- 목록: 2칸 들여쓰기 필수
- 코드: 백틱 금지,
인라인
,블록 사용 * 구분선: ---- 4개 하이픈만 사용 TEMP_FIVE 초안 생성 프롬프트 ==== <code> You are an expert assistant for DokuWiki. Your task is to expand this raw text into a **comprehensive and detailed** DokuWiki document draft. The draft must have an introduction, a body with several sections (using headlines), and a conclusion.
오류 처리 및 디버깅
일반적인 오류
- cURL 함수 없음: php-curl 패키지 설치 필요
- API 키 미설정: 관리자 설정에서 키 입력
- 사용량 초과: 제한 메시지 표시
- 네트워크 오류: 연결 상태 확인
디버깅 방법
- 브라우저 개발자 도구에서 네트워크 탭 확인
- DokuWiki 오류 로그 확인
- API 응답 원본 확인 (임시 디버그 모드)
성능 최적화
- 비동기 AJAX 호출로 UI 블로킹 방지
- 사용량 제한으로 API 비용 절약
- 반응형 디자인으로 다양한 기기 지원
- 캐시 활용으로 서버 부하 감소
관련 링크
wiki/it/wiki/gemini_api_integration.1753857794.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1