Documentation ¶
Index ¶
- Constants
- Variables
- func GetModelOrDefault(model string) string
- func GetRegionOrDefault(region string) string
- func GetVertexAIModelOrDefault(model string) string
- func GetVertexAIRegionOrDefault(region string) string
- func NeedPassword(backend string) bool
- type AIConfiguration
- type AIProvider
- func (p *AIProvider) GetBaseURL() string
- func (p *AIProvider) GetCompartmentId() string
- func (p *AIProvider) GetEndpointName() string
- func (p *AIProvider) GetEngine() string
- func (p *AIProvider) GetMaxTokens() int
- func (p *AIProvider) GetModel() string
- func (p *AIProvider) GetPassword() string
- func (p *AIProvider) GetProviderId() string
- func (p *AIProvider) GetProviderRegion() string
- func (p *AIProvider) GetProxyEndpoint() string
- func (p *AIProvider) GetTemperature() float32
- func (p *AIProvider) GetTopK() int32
- func (p *AIProvider) GetTopP() float32
- type AmazonBedRockClient
- type AzureAIClient
- type CohereClient
- type Generations
- type GoogleGenAIClient
- type GoogleVertexAIClient
- type HuggingfaceClient
- type IAI
- type IAIConfig
- type InvokeModelResponseBody
- type LocalAIClient
- type Message
- type NoOpAIClient
- type OCIGenAIClient
- type OpenAIClient
- type Parameters
- type Request
- type SageMakerAIClient
Constants ¶
const ( US_East_1 = "us-east-1" US_West_2 = "us-west-2" AP_Southeast_1 = "ap-southeast-1" AP_Northeast_1 = "ap-northeast-1" EU_Central_1 = "eu-central-1" )
const ( ModelAnthropicClaudeV2 = "anthropic.claude-v2" ModelAnthropicClaudeV1 = "anthropic.claude-v1" ModelAnthropicClaudeInstantV1 = "anthropic.claude-instant-v1" )
const ( US_Central_1 = "us-central1" US_West_4 = "us-west4" North_America_Northeast1 = "northamerica-northeast1" US_East_4 = "us-east4" US_West_1 = "us-west1" Asia_Northeast_3 = "asia-northeast3" Asia_Southeast_1 = "asia-southeast1" Asia_Northeast_1 = "asia-northeast1" )
const BEDROCK_DEFAULT_REGION = "us-east-1" // default use us-east-1 region
Amazon BedRock support region list US East (N. Virginia),US West (Oregon),Asia Pacific (Singapore),Asia Pacific (Tokyo),Europe (Frankfurt) https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html#bedrock-regions
const (
ModelGeminiProV1 = "gemini-1.0-pro-001"
)
const VERTEXAI_DEFAULT_REGION = "us-central1" // default use us-east-1 region
Vertex AI Gemini supported Regions https://cloud.google.com/vertex-ai/docs/generative-ai/model-reference/gemini
Variables ¶
var BEDROCKER_SUPPORTED_REGION = []string{ US_East_1, US_West_2, AP_Southeast_1, AP_Northeast_1, EU_Central_1, }
var BEDROCK_MODELS = []string{ ModelAnthropicClaudeV2, ModelAnthropicClaudeV1, ModelAnthropicClaudeInstantV1, }
var (
Backends = []string{
openAIClientName,
localAIClientName,
azureAIClientName,
cohereAIClientName,
amazonbedrockAIClientName,
amazonsagemakerAIClientName,
googleAIClientName,
noopAIClientName,
huggingfaceAIClientName,
googleVertexAIClientName,
ociClientName,
}
)
var PromptMap = map[string]string{
"default": default_prompt,
"VulnerabilityReport": trivy_vuln_prompt,
"ConfigAuditReport": trivy_conf_prompt,
"PrometheusConfigValidate": prom_conf_prompt,
"PrometheusConfigRelabelReport": prom_relabel_prompt,
}
var VERTEXAI_MODELS = []string{ ModelGeminiProV1, }
var VERTEXAI_SUPPORTED_REGION = []string{ US_Central_1, US_West_4, North_America_Northeast1, US_East_4, US_West_1, Asia_Northeast_3, Asia_Southeast_1, Asia_Northeast_1, }
Functions ¶
func GetModelOrDefault ¶ added in v0.3.19
GetModelOrDefault check config model
func GetRegionOrDefault ¶ added in v0.3.19
GetModelOrDefault check config region
func GetVertexAIModelOrDefault ¶ added in v0.3.28
GetModelOrDefault check config model
func GetVertexAIRegionOrDefault ¶ added in v0.3.28
GetModelOrDefault check config region
func NeedPassword ¶ added in v0.2.8
Types ¶
type AIConfiguration ¶ added in v0.2.0
type AIConfiguration struct { Providers []AIProvider `mapstructure:"providers"` DefaultProvider string `mapstructure:"defaultprovider"` }
type AIProvider ¶ added in v0.2.0
type AIProvider struct { Name string `mapstructure:"name"` Model string `mapstructure:"model"` Password string `mapstructure:"password" yaml:"password,omitempty"` BaseURL string `mapstructure:"baseurl" yaml:"baseurl,omitempty"` ProxyEndpoint string `mapstructure:"proxyEndpoint" yaml:"proxyEndpoint,omitempty"` ProxyPort string `mapstructure:"proxyPort" yaml:"proxyPort,omitempty"` EndpointName string `mapstructure:"endpointname" yaml:"endpointname,omitempty"` Engine string `mapstructure:"engine" yaml:"engine,omitempty"` Temperature float32 `mapstructure:"temperature" yaml:"temperature,omitempty"` ProviderRegion string `mapstructure:"providerregion" yaml:"providerregion,omitempty"` ProviderId string `mapstructure:"providerid" yaml:"providerid,omitempty"` CompartmentId string `mapstructure:"compartmentid" yaml:"compartmentid,omitempty"` TopP float32 `mapstructure:"topp" yaml:"topp,omitempty"` TopK int32 `mapstructure:"topk" yaml:"topk,omitempty"` MaxTokens int `mapstructure:"maxtokens" yaml:"maxtokens,omitempty"` }
func (*AIProvider) GetBaseURL ¶ added in v0.2.5
func (p *AIProvider) GetBaseURL() string
func (*AIProvider) GetCompartmentId ¶ added in v0.3.31
func (p *AIProvider) GetCompartmentId() string
func (*AIProvider) GetEndpointName ¶ added in v0.3.20
func (p *AIProvider) GetEndpointName() string
func (*AIProvider) GetEngine ¶ added in v0.2.9
func (p *AIProvider) GetEngine() string
func (*AIProvider) GetMaxTokens ¶ added in v0.3.20
func (p *AIProvider) GetMaxTokens() int
func (*AIProvider) GetModel ¶ added in v0.2.5
func (p *AIProvider) GetModel() string
func (*AIProvider) GetPassword ¶ added in v0.2.5
func (p *AIProvider) GetPassword() string
func (*AIProvider) GetProviderId ¶ added in v0.3.28
func (p *AIProvider) GetProviderId() string
func (*AIProvider) GetProviderRegion ¶ added in v0.3.19
func (p *AIProvider) GetProviderRegion() string
func (*AIProvider) GetProxyEndpoint ¶ added in v0.3.28
func (p *AIProvider) GetProxyEndpoint() string
func (*AIProvider) GetTemperature ¶ added in v0.3.16
func (p *AIProvider) GetTemperature() float32
func (*AIProvider) GetTopK ¶ added in v0.3.31
func (p *AIProvider) GetTopK() int32
func (*AIProvider) GetTopP ¶ added in v0.3.20
func (p *AIProvider) GetTopP() float32
type AmazonBedRockClient ¶ added in v0.3.19
type AmazonBedRockClient struct {
// contains filtered or unexported fields
}
AmazonBedRockClient represents the client for interacting with the Amazon Bedrock service.
func (*AmazonBedRockClient) Configure ¶ added in v0.3.19
func (a *AmazonBedRockClient) Configure(config IAIConfig) error
Configure configures the AmazonBedRockClient with the provided configuration.
func (*AmazonBedRockClient) GetCompletion ¶ added in v0.3.19
GetCompletion sends a request to the model for generating completion based on the provided prompt.
func (*AmazonBedRockClient) GetName ¶ added in v0.3.19
func (a *AmazonBedRockClient) GetName() string
GetName returns the name of the AmazonBedRockClient.
type AzureAIClient ¶ added in v0.2.9
type AzureAIClient struct {
// contains filtered or unexported fields
}
func (*AzureAIClient) Configure ¶ added in v0.2.9
func (c *AzureAIClient) Configure(config IAIConfig) error
func (*AzureAIClient) GetCompletion ¶ added in v0.2.9
func (*AzureAIClient) GetName ¶ added in v0.2.9
func (c *AzureAIClient) GetName() string
type CohereClient ¶ added in v0.3.12
type CohereClient struct {
// contains filtered or unexported fields
}
func (*CohereClient) Configure ¶ added in v0.3.12
func (c *CohereClient) Configure(config IAIConfig) error
func (*CohereClient) GetCompletion ¶ added in v0.3.12
func (*CohereClient) GetName ¶ added in v0.3.12
func (c *CohereClient) GetName() string
type Generations ¶ added in v0.3.20
type GoogleGenAIClient ¶ added in v0.3.25
type GoogleGenAIClient struct {
// contains filtered or unexported fields
}
func (*GoogleGenAIClient) Close ¶ added in v0.3.25
func (c *GoogleGenAIClient) Close()
func (*GoogleGenAIClient) Configure ¶ added in v0.3.25
func (c *GoogleGenAIClient) Configure(config IAIConfig) error
func (*GoogleGenAIClient) GetCompletion ¶ added in v0.3.25
func (*GoogleGenAIClient) GetName ¶ added in v0.3.25
func (c *GoogleGenAIClient) GetName() string
type GoogleVertexAIClient ¶ added in v0.3.28
type GoogleVertexAIClient struct {
// contains filtered or unexported fields
}
func (*GoogleVertexAIClient) Close ¶ added in v0.3.28
func (g *GoogleVertexAIClient) Close()
func (*GoogleVertexAIClient) Configure ¶ added in v0.3.28
func (g *GoogleVertexAIClient) Configure(config IAIConfig) error
func (*GoogleVertexAIClient) GetCompletion ¶ added in v0.3.28
func (*GoogleVertexAIClient) GetName ¶ added in v0.3.28
func (g *GoogleVertexAIClient) GetName() string
type HuggingfaceClient ¶ added in v0.3.27
type HuggingfaceClient struct {
// contains filtered or unexported fields
}
func (*HuggingfaceClient) Configure ¶ added in v0.3.27
func (c *HuggingfaceClient) Configure(config IAIConfig) error
func (*HuggingfaceClient) GetCompletion ¶ added in v0.3.27
func (*HuggingfaceClient) GetName ¶ added in v0.3.27
func (c *HuggingfaceClient) GetName() string
type IAI ¶ added in v0.0.5
type IAI interface { // Configure sets up client for given configuration. This is expected to be // executed once per client life-time (e.g. analysis CLI command invocation). Configure(config IAIConfig) error // GetCompletion generates text based on prompt. GetCompletion(ctx context.Context, prompt string) (string, error) // GetName returns name of the backend/client. GetName() string // Close cleans all the resources. No other methods should be used on the // objects after this method is invoked. Close() }
IAI is an interface all clients (representing backends) share.
type IAIConfig ¶ added in v0.2.5
type IAIConfig interface { GetPassword() string GetModel() string GetBaseURL() string GetProxyEndpoint() string GetEndpointName() string GetEngine() string GetTemperature() float32 GetProviderRegion() string GetTopP() float32 GetTopK() int32 GetMaxTokens() int GetProviderId() string GetCompartmentId() string }
type InvokeModelResponseBody ¶ added in v0.3.19
type InvokeModelResponseBody struct { Completion string `json:"completion"` Stop_reason string `json:"stop_reason"` }
InvokeModelResponseBody represents the response body structure from the model invocation.
type LocalAIClient ¶ added in v0.2.8
type LocalAIClient struct {
OpenAIClient
}
func (*LocalAIClient) GetName ¶ added in v0.2.8
func (a *LocalAIClient) GetName() string
type NoOpAIClient ¶ added in v0.2.1
type NoOpAIClient struct {
// contains filtered or unexported fields
}
func (*NoOpAIClient) Configure ¶ added in v0.2.1
func (c *NoOpAIClient) Configure(_ IAIConfig) error
func (*NoOpAIClient) GetCompletion ¶ added in v0.2.1
func (*NoOpAIClient) GetName ¶ added in v0.2.1
func (c *NoOpAIClient) GetName() string
type OCIGenAIClient ¶ added in v0.3.31
type OCIGenAIClient struct {
// contains filtered or unexported fields
}
func (*OCIGenAIClient) Configure ¶ added in v0.3.31
func (c *OCIGenAIClient) Configure(config IAIConfig) error
func (*OCIGenAIClient) GetCompletion ¶ added in v0.3.31
func (*OCIGenAIClient) GetName ¶ added in v0.3.31
func (c *OCIGenAIClient) GetName() string
type OpenAIClient ¶ added in v0.0.5
type OpenAIClient struct {
// contains filtered or unexported fields
}
func (*OpenAIClient) Configure ¶ added in v0.0.5
func (c *OpenAIClient) Configure(config IAIConfig) error
func (*OpenAIClient) GetCompletion ¶ added in v0.0.5
func (*OpenAIClient) GetName ¶ added in v0.2.1
func (c *OpenAIClient) GetName() string
type Parameters ¶ added in v0.3.20
type Request ¶ added in v0.3.20
type Request struct { Inputs [][]Message `json:"inputs"` Parameters Parameters `json:"parameters"` }
type SageMakerAIClient ¶ added in v0.3.20
type SageMakerAIClient struct {
// contains filtered or unexported fields
}
func (*SageMakerAIClient) Configure ¶ added in v0.3.20
func (c *SageMakerAIClient) Configure(config IAIConfig) error
func (*SageMakerAIClient) GetCompletion ¶ added in v0.3.20
func (*SageMakerAIClient) GetName ¶ added in v0.3.20
func (c *SageMakerAIClient) GetName() string