Files
go-openai/engines.go
Alexander Baranov f5b3ec4ffe Add api client code
2020-08-19 12:57:32 +03:00

44 lines
1.1 KiB
Go

package gogpt
import (
"context"
"fmt"
"net/http"
)
type Engine struct {
ID string `json:"id"`
Object string `json:"object"`
Owner string `json:"owner"`
Ready bool `json:"ready"`
}
type EnginesList struct {
Engines []Engine `json:"data"`
}
// ListEngines Lists the currently available engines, and provides basic information about each option such as the owner and availability.
func (c *Client) ListEngines(ctx context.Context) (engines EnginesList, err error) {
req, err := http.NewRequest("GET", c.fullURL("/engines"), nil)
if err != nil {
return
}
req = req.WithContext(ctx)
err = c.sendRequest(req, &engines)
return
}
// GetEngine Retrieves an engine instance, providing basic information about the engine such as the owner and availability.
func (c *Client) GetEngine(ctx context.Context, engineID string) (engine Engine, err error) {
urlSuffix := fmt.Sprintf("/engines/%s", engineID)
req, err := http.NewRequest("GET", c.fullURL(urlSuffix), nil)
if err != nil {
return
}
req = req.WithContext(ctx)
err = c.sendRequest(req, &engine)
return
}