ai

package
v0.3.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2023 License: Apache-2.0 Imports: 15 Imported by: 4

Documentation

Index

Constants

View Source
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"
)
View Source
const (
	ModelAnthropicClaudeV2        = "anthropic.claude-v2"
	ModelAnthropicClaudeV1        = "anthropic.claude-v1"
	ModelAnthropicClaudeInstantV1 = "anthropic.claude-instant-v1"
)
View Source
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

Variables

View Source
var BEDROCKER_SUPPORTED_REGION = []string{
	US_East_1,
	US_West_2,
	AP_Southeast_1,
	AP_Northeast_1,
	EU_Central_1,
}
View Source
var (
	Backends = []string{
		"openai",
		"localai",
		"azureopenai",
		"noopai",
		"cohere",
		"amazonbedrock",
		"amazonsagemaker",
	}
)
View Source
var PromptMap = map[string]string{
	"default":             default_prompt,
	"VulnerabilityReport": trivy_vuln_prompt,
	"ConfigAuditReport":   trivy_conf_prompt,
}

Functions

func GetModelOrDefault added in v0.3.19

func GetModelOrDefault(model string) string

GetModelOrDefault check config model

func GetRegionOrDefault added in v0.3.19

func GetRegionOrDefault(region string) string

GetModelOrDefault check config region

func NeedPassword added in v0.2.8

func NeedPassword(backend string) bool

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"`
	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"`
	TopP           float32 `mapstructure:"topp" yaml:"topp,omitempty"`
	MaxTokens      int     `mapstructure:"maxtokens" yaml:"maxtokens,omitempty"`
}

func (*AIProvider) GetBaseURL added in v0.2.5

func (p *AIProvider) GetBaseURL() 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) GetProviderRegion added in v0.3.19

func (p *AIProvider) GetProviderRegion() string

func (*AIProvider) GetTemperature added in v0.3.16

func (p *AIProvider) GetTemperature() float32

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, language string) error

Configure configures the AmazonBedRockClient with the provided configuration and language.

func (*AmazonBedRockClient) GetCompletion added in v0.3.19

func (a *AmazonBedRockClient) GetCompletion(ctx context.Context, prompt string, promptTmpl string) (string, error)

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.

func (*AmazonBedRockClient) Parse added in v0.3.19

func (a *AmazonBedRockClient) Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)

Parse generates a completion for the provided prompt using the Amazon Bedrock model.

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, lang string) error

func (*AzureAIClient) GetCompletion added in v0.2.9

func (c *AzureAIClient) GetCompletion(ctx context.Context, prompt string, promptTmpl string) (string, error)

func (*AzureAIClient) GetName added in v0.2.9

func (a *AzureAIClient) GetName() string

func (*AzureAIClient) Parse added in v0.2.9

func (a *AzureAIClient) Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)

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, language string) error

func (*CohereClient) GetCompletion added in v0.3.12

func (c *CohereClient) GetCompletion(ctx context.Context, prompt, promptTmpl string) (string, error)

func (*CohereClient) GetName added in v0.3.12

func (a *CohereClient) GetName() string

func (*CohereClient) Parse added in v0.3.12

func (a *CohereClient) Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)

type Generations added in v0.3.20

type Generations []struct {
	Generation struct {
		Role    string `json:"role"`
		Content string `json:"content"`
	} `json:"generation"`
}

type IAI added in v0.0.5

type IAI interface {
	Configure(config IAIConfig, language string) error
	GetCompletion(ctx context.Context, prompt string, promptTmpl string) (string, error)
	Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)
	GetName() string
}

func NewClient

func NewClient(provider string) IAI

type IAIConfig added in v0.2.5

type IAIConfig interface {
	GetPassword() string
	GetModel() string
	GetBaseURL() string
	GetEndpointName() string
	GetEngine() string
	GetTemperature() float32
	GetProviderRegion() string
	GetTopP() float32
	GetMaxTokens() int
}

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 Message added in v0.3.20

type Message struct {
	Role    string `json:"role"`
	Content string `json:"content"`
}

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(config IAIConfig, language string) error

func (*NoOpAIClient) GetCompletion added in v0.2.1

func (c *NoOpAIClient) GetCompletion(ctx context.Context, prompt string, promptTmpl string) (string, error)

func (*NoOpAIClient) GetName added in v0.2.1

func (a *NoOpAIClient) GetName() string

func (*NoOpAIClient) Parse added in v0.2.1

func (a *NoOpAIClient) Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)

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, language string) error

func (*OpenAIClient) GetCompletion added in v0.0.5

func (c *OpenAIClient) GetCompletion(ctx context.Context, prompt string, promptTmpl string) (string, error)

func (*OpenAIClient) GetName added in v0.2.1

func (a *OpenAIClient) GetName() string

func (*OpenAIClient) Parse added in v0.2.0

func (a *OpenAIClient) Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)

type Parameters added in v0.3.20

type Parameters struct {
	MaxNewTokens int     `json:"max_new_tokens"`
	TopP         float64 `json:"top_p"`
	Temperature  float64 `json:"temperature"`
}

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, language string) error

func (*SageMakerAIClient) GetCompletion added in v0.3.20

func (c *SageMakerAIClient) GetCompletion(ctx context.Context, prompt string, promptTmpl string) (string, error)

func (*SageMakerAIClient) GetName added in v0.3.20

func (a *SageMakerAIClient) GetName() string

func (*SageMakerAIClient) Parse added in v0.3.20

func (a *SageMakerAIClient) Parse(ctx context.Context, prompt []string, cache cache.ICache, promptTmpl string) (string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL