y3iz+LnmZ0?puLem+VbTk- 0Zb_9}8
zgCL
+1taZv8Sh}
zj~VT3tgRVwb*QEhpVa>>G5F39y;AHtt;fi5-u8Zpb5t7(w
z@LA9dlCDQbM?W;=a&r*gS{_$_c
YU%4^
z2D6Q2BXd7~pbA>O&DU;K{QK#P*PUw5{)BTM=a6(tl>bZ%xA;=&HF)gOyDx;*
zz>jbBuMY+c1Kp5q6|_|ApKo>A00O)G=;RK?KacUxVp>kUW>+tpzoy%cZ!5m)17Ofr
ZAIbA?kF;^gc2R&o9hiXz`i9+;{{ZWAsF?r&
literal 0
HcmV?d00001
diff --git a/pkg/azureopenai/azureopenai.go b/pkg/azureopenai/azureopenai.go
index c14242f..f61d017 100644
--- a/pkg/azureopenai/azureopenai.go
+++ b/pkg/azureopenai/azureopenai.go
@@ -13,8 +13,46 @@ curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo/chat/completions?api
package azureopenai
+import (
+ "encoding/json"
+ "net/http"
+)
+
var (
ENDPOINT string
API_KEY string
DEPLOYMENT_NAME string
)
+
+type ModelsList struct {
+ Data []struct {
+ ScaleSettings struct {
+ ScaleType string `json:"scale_type"`
+ } `json:"scale_settings"`
+ Model string `json:"model"`
+ Owner string `json:"owner"`
+ ID string `json:"id"`
+ Status string `json:"status"`
+ CreatedAt int `json:"created_at"`
+ UpdatedAt int `json:"updated_at"`
+ Object string `json:"object"`
+ } `json:"data"`
+ Object string `json:"object"`
+}
+
+func Models(endpoint, apikey string) (*ModelsList, error) {
+ var modelsl ModelsList
+ req, _ := http.NewRequest(http.MethodGet, endpoint+"/openai/deployments?api-version=2022-12-01", nil)
+ req.Header.Set("api-key", apikey)
+ resp, err := http.DefaultClient.Do(req)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+ err = json.NewDecoder(resp.Body).Decode(&modelsl)
+ if err != nil {
+ return nil, err
+ }
+ return &modelsl, nil
+
+}
diff --git a/store/keydb.go b/store/keydb.go
index 3d623fe..05f6d9c 100644
--- a/store/keydb.go
+++ b/store/keydb.go
@@ -3,12 +3,15 @@ package store
import "time"
type Key struct {
- ID uint `gorm:"primarykey" json:"id,omitempty"`
- Key string `gorm:"unique;not null" json:"key,omitempty"`
- Name string `gorm:"unique;not null" json:"name,omitempty"`
- UserId string `json:"-,omitempty"`
- CreatedAt time.Time `json:"createdAt,omitempty"`
- UpdatedAt time.Time `json:"updatedAt,omitempty"`
+ ID uint `gorm:"primarykey" json:"id,omitempty"`
+ Key string `gorm:"unique;not null" json:"key,omitempty"`
+ Name string `gorm:"unique;not null" json:"name,omitempty"`
+ UserId string `json:"-,omitempty"`
+ KeyType string
+ EndPoint string
+ DeploymentName string
+ CreatedAt time.Time `json:"createdAt,omitempty"`
+ UpdatedAt time.Time `json:"updatedAt,omitempty"`
}
func GetKeyrByName(name string) (*Key, error) {