 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package openai
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"fmt"
 | |
| 	"net/http"
 | |
| )
 | |
| 
 | |
| // Model struct represents an OpenAPI model.
 | |
| type Model struct {
 | |
| 	CreatedAt  int64        `json:"created"`
 | |
| 	ID         string       `json:"id"`
 | |
| 	Object     string       `json:"object"`
 | |
| 	OwnedBy    string       `json:"owned_by"`
 | |
| 	Permission []Permission `json:"permission"`
 | |
| 	Root       string       `json:"root"`
 | |
| 	Parent     string       `json:"parent"`
 | |
| 
 | |
| 	httpHeader
 | |
| }
 | |
| 
 | |
| // Permission struct represents an OpenAPI permission.
 | |
| type Permission struct {
 | |
| 	CreatedAt          int64       `json:"created"`
 | |
| 	ID                 string      `json:"id"`
 | |
| 	Object             string      `json:"object"`
 | |
| 	AllowCreateEngine  bool        `json:"allow_create_engine"`
 | |
| 	AllowSampling      bool        `json:"allow_sampling"`
 | |
| 	AllowLogprobs      bool        `json:"allow_logprobs"`
 | |
| 	AllowSearchIndices bool        `json:"allow_search_indices"`
 | |
| 	AllowView          bool        `json:"allow_view"`
 | |
| 	AllowFineTuning    bool        `json:"allow_fine_tuning"`
 | |
| 	Organization       string      `json:"organization"`
 | |
| 	Group              interface{} `json:"group"`
 | |
| 	IsBlocking         bool        `json:"is_blocking"`
 | |
| }
 | |
| 
 | |
| // FineTuneModelDeleteResponse represents the deletion status of a fine-tuned model.
 | |
| type FineTuneModelDeleteResponse struct {
 | |
| 	ID      string `json:"id"`
 | |
| 	Object  string `json:"object"`
 | |
| 	Deleted bool   `json:"deleted"`
 | |
| 
 | |
| 	httpHeader
 | |
| }
 | |
| 
 | |
| // ModelsList is a list of models, including those that belong to the user or organization.
 | |
| type ModelsList struct {
 | |
| 	Models []Model `json:"data"`
 | |
| 
 | |
| 	httpHeader
 | |
| }
 | |
| 
 | |
| // ListModels Lists the currently available models,
 | |
| // and provides basic information about each model such as the model id and parent.
 | |
| func (c *Client) ListModels(ctx context.Context) (models ModelsList, err error) {
 | |
| 	req, err := c.newRequest(ctx, http.MethodGet, c.fullURL("/models"))
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	err = c.sendRequest(req, &models)
 | |
| 	return
 | |
| }
 | |
| 
 | |
| // GetModel Retrieves a model instance, providing basic information about
 | |
| // the model such as the owner and permissioning.
 | |
| func (c *Client) GetModel(ctx context.Context, modelID string) (model Model, err error) {
 | |
| 	urlSuffix := fmt.Sprintf("/models/%s", modelID)
 | |
| 	req, err := c.newRequest(ctx, http.MethodGet, c.fullURL(urlSuffix))
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	err = c.sendRequest(req, &model)
 | |
| 	return
 | |
| }
 | |
| 
 | |
| // DeleteFineTuneModel Deletes a fine-tune model. You must have the Owner
 | |
| // role in your organization to delete a model.
 | |
| func (c *Client) DeleteFineTuneModel(ctx context.Context, modelID string) (
 | |
| 	response FineTuneModelDeleteResponse, err error) {
 | |
| 	req, err := c.newRequest(ctx, http.MethodDelete, c.fullURL("/models/"+modelID))
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	err = c.sendRequest(req, &response)
 | |
| 	return
 | |
| }
 |