api: add generate endpoint for structured outputs (#7939)

This commit is contained in:
Parth Sareen 2024-12-04 17:37:12 -08:00 committed by GitHub
parent 630e7dc6ff
commit c6c526275d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 4 additions and 7 deletions

View file

@ -148,10 +148,7 @@ func (s *Server) GenerateHandler(c *gin.Context) {
return
}
if req.Format != "" && req.Format != "json" {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": "format must be empty or \"json\""})
return
} else if req.Raw && (req.Template != "" || req.System != "" || len(req.Context) > 0) {
if req.Raw && (req.Template != "" || req.System != "" || len(req.Context) > 0) {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": "raw mode does not support template, system, or context"})
return
}
@ -278,7 +275,7 @@ func (s *Server) GenerateHandler(c *gin.Context) {
if err := r.Completion(c.Request.Context(), llm.CompletionRequest{
Prompt: prompt,
Images: images,
Format: json.RawMessage(req.Format),
Format: req.Format,
Options: opts,
}, func(cr llm.CompletionResponse) {
res := api.GenerateResponse{