이 페이지에서는 아직 지원되지 않는 기능을 비롯하여 서버 프롬프트 템플릿의 몇 가지 권장사항과 고려사항 을 설명합니다 . 이러한 기능 중 다수는 서버 프롬프트 템플릿이 발전함에 따라 제공될 예정이므로 출시 노트를 확인하여 업데이트를 확인하세요.
권장사항
이러한 권장사항 중 다수는 템플릿 관리에 자세히 설명되어 있습니다.
템플릿 버전 관리
Firebase Remote Config 를 사용하면 요청에서 템플릿과 기타 값을 쉽게 변경할 수 있습니다.
템플릿 보호
변경사항을 철저히 테스트하지 않은 경우 프로덕션에서 사용되는 템플릿을 수정하지 마세요.
프로덕션으로 전환하기 전에 템플릿을 잠급니다.
템플릿을 잠그면 의도치 않은 수정을 방지할 수 있지만 잠그더라도 수정을 완전히 차단하지는 않습니다. 적절한 권한이 있는 프로젝트 구성원은 언제든지 템플릿을 잠금 해제하여 수정할 수 있습니다.
코드, 특히 프로덕션 코드에서 활발하게 사용되는 템플릿을 잠그는 것이 좋습니다.
Gemini API 사용 보호
입력 변수에 강력한 입력 유효성 검사 를 작성하면 다음과 같은 작업을 수행하는 데 도움이 됩니다.
- 프롬프트 인젝션을 방지하는 데 도움이 될 수 있습니다.
- 요청이 성공하고 응답이 예상대로 이루어지도록 하는 데 도움이 될 수 있습니다.
Firebase 프로젝트에 템플릿 전용 모드를 적용하여 Gemini API 요청이 Firebase AI Logic 서버 프롬프트 템플릿을 사용하도록 합니다.
서버 프롬프트 템플릿에서 아직 지원되지 않는 기능
이러한 기능 중 다수는 서버 프롬프트 템플릿이 발전함에 따라 제공될 예정이므로, 출시 노트를 확인하여 업데이트를 확인하세요.
템플릿에서 아직 지원되지 않는 Firebase AI Logic 기능
다음과 같은 Firebase AI Logic의 표준 기능은 서버 프롬프트 템플릿을 통해 아직 지원되지 않습니다.
- 양방향 스트리밍 (Gemini Live API)
- 하이브리드 또는 기기 내 추론
- 출력을 enum 목록으로 제한
또한 Firebase 콘솔에서 AI 모니터링을 사용하는 경우 템플릿 ID가 아직 레코드에 채워지지 않습니다.
템플릿에서 아직 지원되지 않는 Dotprompt의 일반적인 요소
서버 프롬프트 템플릿은 Dotprompt의 다음과 같은 일반적인 요소를 곧 지원할 예정입니다.
프런트매터에서 입력 및 출력 스키마에 JSON 스키마 사양 사용
- 이 사양은 서버가 아닌 템플릿 요청에서도 지원되지 않습니다. 현재는 OpenAPI 스키마 사양만 지원합니다.
*를 사용하여 와일드 카드 필드 정의 선언@key를 사용하거나 일반적으로 객체 입력의 필드를 반복합니다(이 경우@key가 관련됨).현재
this와 관계없이 루트 변수 컨텍스트를 참조할 수 있는@root사용
서버 프롬프트 템플릿은 Dotprompt의 다음과 같은 일반적인 요소를 지원하지 않을 가능성이 높습니다.
- 다른 템플릿에 포함할 수 있는 재사용 가능한 템플릿 스니펫인 부분 사용
기타 고려사항
기본적으로 Firebase 콘솔에서 안내 UI를 사용하면 Firebase AI Logic에 사용 가능한 모든 리전에서 템플릿이 프로비저닝됩니다.Firebase AI Logic Vertex AI Gemini API를 사용하고 사용 사례에 위치 기반 제한이 필요한 경우 REST API를 사용하여 템플릿의 위치를 지정할 수 있습니다.
서버 프롬프트 템플릿을 파일로 제공하려면 (Firebase 콘솔의 안내 UI를 사용하는 대신) REST API를 사용하면 됩니다. 서버 프롬프트 템플릿은 앱 코드에 정의되어 템플릿으로 전달되는 스키마를 지원하지 않습니다.
템플릿이 서버에 있더라도 입력 변수로 제공될 수 있는 Cloud Storage for Firebase URL을 제외하고 Firebase 프로젝트의 다른 서버 측 리소스(예: 데이터베이스)와 직접 상호작용할 수 없습니다.