ability

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2023 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ability

type Ability struct {
	LLM LLMAblt `json:"llm"`
	TTS TTSAblt `json:"tts"`
	STT STTAblt `json:"stt"`
}

Ability guide clients in adjusting all parameters.

type ChatGPTAblt

type ChatGPTAblt struct {
	Available bool     `json:"available"`
	Models    []string `json:"models"`
}

type ChatGPTOption

type ChatGPTOption struct {
	Model            string  `json:"model"`
	MaxTokens        int     `json:"maxTokens"`
	Temperature      float32 `json:"temperature"`
	TopP             float32 `json:"topP"`
	PresencePenalty  float32 `json:"presencePenalty"`
	FrequencyPenalty float32 `json:"frequencyPenalty"`
}

func DefaultChatGPTOption

func DefaultChatGPTOption() *ChatGPTOption

type ElevenlabsTTSAblt

type ElevenlabsTTSAblt struct {
	Available bool         `json:"available"`
	Voices    []TaggedItem `json:"voices"`
}

type ElevenlabsTTSOption

type ElevenlabsTTSOption struct {
	VoiceId   string  `json:"voiceId"`
	Stability float32 `json:"stability"`
	Clarity   float32 `json:"clarity"`
}

type GoogleSTTAb

type GoogleSTTAb struct {
	Available   bool         `json:"available"`
	Recognizers []TaggedItem `json:"recognizers"`
}

type GoogleSTTOption

type GoogleSTTOption struct {
	Recognizer string `json:"recognizer"`
	Model      string `json:"model"`
	Language   string `json:"language"`
}

type GoogleTTSAblt

type GoogleTTSAblt struct {
	Available bool         `json:"available"`
	Voices    []TaggedItem `json:"voices"`
}

type GoogleTTSOption

type GoogleTTSOption struct {
	// if VoiceId is provided, LanguageCode and Gender will not be used
	VoiceId      string                         `json:"voiceId"`
	LanguageCode string                         `json:"languageCode"`
	Gender       texttospeechpb.SsmlVoiceGender `json:"gender"`
	SpeakingRate float64                        `json:"speakingRate"`
	Pitch        float64                        `json:"pitch"`
	VolumeGainDb float64                        `json:"volumeGainDb"`
}

type LLMAblt

type LLMAblt struct {
	Available bool        `json:"available"`
	ChatGPT   ChatGPTAblt `json:"chatGPT"`
}

type LLMOption

type LLMOption struct {
	ChatGPT *ChatGPTOption `json:"chatGPT"`
}

LLMOption clients use TalkOption to guide LLMAblt in generating text

type STTAblt

type STTAblt struct {
	Available bool         `json:"available"`
	Whisper   WhisperSTTAb `json:"whisper"`
	Google    GoogleSTTAb  `json:"google"`
}

type STTOption

type STTOption struct {
	Whisper *WhisperOption   `json:"whisper"`
	Google  *GoogleSTTOption `json:"google"`
}

type TTSAblt

type TTSAblt struct {
	Available  bool              `json:"available"`
	Google     GoogleTTSAblt     `json:"google"`
	Elevenlabs ElevenlabsTTSAblt `json:"elevenlabs"`
}

type TTSOption

type TTSOption struct {
	Elevenlabs *ElevenlabsTTSOption `json:"elevenlabs"`
	Google     *GoogleTTSOption     `json:"google"`
}

type TaggedItem

type TaggedItem struct {
	Id   string   `json:"id"`   // used by TTSAblt client
	Name string   `json:"name"` // to display on UI
	Tags []string `json:"tags"` // gender, accent, age, etc
}

type WhisperOption

type WhisperOption struct {
	Model string `json:"model"`
}

type WhisperSTTAb

type WhisperSTTAb struct {
	Available bool     `json:"available"`
	Models    []string `json:"models"`
}

Jump to

Keyboard shortcuts

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