Documentation
¶
Index ¶
- Constants
- func FirstSet[T comparable](in ...T) (result T)
- type BuiltinFunc
- type CompletionFunctionCall
- type CompletionFunctionDefinition
- type CompletionMessage
- type CompletionMessageRoleType
- type CompletionRequest
- type CompletionStatus
- type CompletionTool
- type CompletionToolCall
- type ContentPart
- type JSONSchema
- type Parameters
- type Program
- type Property
- type Repo
- type Tool
- type ToolSet
- type ToolSource
- type Type
Constants ¶
View Source
const ( CompletionMessageRoleTypeUser = CompletionMessageRoleType("user") CompletionMessageRoleTypeSystem = CompletionMessageRoleType("system") CompletionMessageRoleTypeAssistant = CompletionMessageRoleType("assistant") CompletionMessageRoleTypeTool = CompletionMessageRoleType("tool") )
Chat message role defined by the OpenAI API.
View Source
const ( DaemonPrefix = "#!sys.daemon" CommandPrefix = "#!" )
Variables ¶
This section is empty.
Functions ¶
func FirstSet ¶
func FirstSet[T comparable](in ...T) (result T)
Types ¶
type BuiltinFunc ¶
type CompletionFunctionCall ¶
type CompletionFunctionDefinition ¶
type CompletionFunctionDefinition struct {
ToolID string `json:"toolID,omitempty"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Domain string `json:"domain,omitempty"`
Parameters *JSONSchema `json:"parameters"`
}
type CompletionMessage ¶
type CompletionMessage struct {
Role CompletionMessageRoleType `json:"role,omitempty"`
Content []ContentPart `json:"content,omitempty" column:"name=Message,jsonpath=.spec.content"`
// ToolCall should be set for only messages of type "tool" and Content[0].Text should be set as the
// result of the call describe by this field
ToolCall *CompletionToolCall `json:"toolCall,omitempty"`
}
func (CompletionMessage) IsToolCall ¶
func (in CompletionMessage) IsToolCall() bool
func (CompletionMessage) String ¶
func (in CompletionMessage) String() string
type CompletionMessageRoleType ¶
type CompletionMessageRoleType string
type CompletionRequest ¶
type CompletionRequest struct {
Model string
InternalSystemPrompt *bool
Tools []CompletionTool
Messages []CompletionMessage
MaxTokens int
Temperature *float32
JSONResponse bool
Grammar string
Cache *bool
}
type CompletionStatus ¶ added in v0.1.4
type CompletionTool ¶
type CompletionTool struct {
Function CompletionFunctionDefinition `json:"function,omitempty"`
}
type CompletionToolCall ¶
type CompletionToolCall struct {
Index *int `json:"index,omitempty"`
ID string `json:"id,omitempty"`
Function CompletionFunctionCall `json:"function,omitempty"`
}
type ContentPart ¶
type ContentPart struct {
Text string `json:"text,omitempty"`
ToolCall *CompletionToolCall `json:"toolCall,omitempty"`
}
func Text ¶
func Text(text string) []ContentPart
type JSONSchema ¶
type JSONSchema struct {
Property
ID string `json:"$id,omitempty"`
Title string `json:"title,omitempty"`
Properties map[string]Property `json:"properties"`
Required []string `json:"required,omitempty"`
Defs map[string]JSONSchema `json:"defs,omitempty"`
AdditionalProperties bool `json:"additionalProperties,omitempty"`
}
func ObjectSchema ¶
func ObjectSchema(kv ...string) *JSONSchema
type Parameters ¶
type Parameters struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
MaxTokens int `json:"maxTokens,omitempty"`
ModelName string `json:"modelName,omitempty"`
JSONResponse bool `json:"jsonResponse,omitempty"`
Temperature *float32 `json:"temperature,omitempty"`
Cache *bool `json:"cache,omitempty"`
InternalPrompt *bool `json:"internalPrompt"`
Arguments *JSONSchema `json:"arguments,omitempty"`
Tools []string `json:"tools,omitempty"`
Export []string `json:"export,omitempty"`
}
type Property ¶
type Property struct {
Description string `json:"description,omitempty"`
Type string `json:"type,omitempty"`
Ref string `json:"$ref,omitempty"`
Items []JSONSchema `json:"items,omitempty"`
}
type Repo ¶ added in v0.2.0
type Repo struct {
// VCS The VCS type, such as "git"
VCS string
// The URL where the VCS repo can be found
Root string
// The path in the repo of this source. This should refer to a directory and not the actual file
Path string
// The filename of the source in the repo, relative to Path
Name string
// The revision of this source
Revision string
}
type Tool ¶
type Tool struct {
Parameters `json:",inline"`
Instructions string `json:"instructions,omitempty"`
ID string `json:"id,omitempty"`
ToolMapping map[string]string `json:"toolMapping,omitempty"`
LocalTools map[string]string `json:"localTools,omitempty"`
BuiltinFunc BuiltinFunc `json:"-"`
Source ToolSource `json:"source,omitempty"`
WorkingDir string `json:"workingDir,omitempty"`
}
type ToolSource ¶
type ToolSource struct {
Location string `json:"location,omitempty"`
LineNo int `json:"lineNo,omitempty"`
Repo *Repo `json:"repo,omitempty"`
}
func (ToolSource) String ¶
func (t ToolSource) String() string
Click to show internal directories.
Click to hide internal directories.