ai

package
v0.3.16 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: Apache-2.0 Imports: 10 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Backends = []string{
		"openai",
		"localai",
		"azureopenai",
		"noopai",
		"cohere",
	}
)
View Source
var PromptMap = map[string]string{
	"default":             default_prompt,
	"VulnerabilityReport": trivy_vuln_prompt,
	"ConfigAuditReport":   trivy_conf_prompt,
}

Functions

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"`
	Engine      string  `mapstructure:"engine" yaml:"engine,omitempty"`
	Temperature float32 `mapstructure:"temperature" yaml:"temperature,omitempty"`
}

func (*AIProvider) GetBaseURL added in v0.2.5

func (p *AIProvider) GetBaseURL() string

func (*AIProvider) GetEngine added in v0.2.9

func (p *AIProvider) GetEngine() string

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) GetTemperature added in v0.3.16

func (p *AIProvider) GetTemperature() float32

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 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
	GetEngine() string
	GetTemperature() float32
}

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(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)

Jump to

Keyboard shortcuts

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