@@ -67,31 +67,33 @@ func (h *OpenAIAPIHandler) OpenAIModels(c *gin.Context) {
6767 // Get all available models
6868 allModels := h .Models ()
6969
70- // Filter to only include the 4 required fields: id, object, created, owned_by
71- filteredModels := make ([]map [string ]any , len (allModels ))
72- for i , model := range allModels {
70+ c .JSON (http .StatusOK , gin.H {
71+ "object" : "list" ,
72+ "data" : filterOpenAIModelsResponse (allModels ),
73+ })
74+ }
75+
76+ func filterOpenAIModelsResponse (models []map [string ]any ) []map [string ]any {
77+ filteredModels := make ([]map [string ]any , len (models ))
78+ for i , model := range models {
7379 filteredModel := map [string ]any {
7480 "id" : model ["id" ],
7581 "object" : model ["object" ],
7682 }
7783
78- // Add created field if it exists
7984 if created , exists := model ["created" ]; exists {
8085 filteredModel ["created" ] = created
8186 }
82-
83- // Add owned_by field if it exists
8487 if ownedBy , exists := model ["owned_by" ]; exists {
8588 filteredModel ["owned_by" ] = ownedBy
8689 }
90+ if contextLength , exists := model ["context_length" ]; exists {
91+ filteredModel ["context_length" ] = contextLength
92+ }
8793
8894 filteredModels [i ] = filteredModel
8995 }
90-
91- c .JSON (http .StatusOK , gin.H {
92- "object" : "list" ,
93- "data" : filteredModels ,
94- })
96+ return filteredModels
9597}
9698
9799// ChatCompletions handles the /v1/chat/completions endpoint.
0 commit comments