Documentation ¶
Index ¶
- Constants
- Variables
- func FirstSet[T comparable](in ...T) (result T)
- func IsMatch(subTool string) bool
- func ObjectSchema(kv ...string) *openapi3.Schema
- func PickToolName(toolName string, existing map[string]struct{}) string
- func SplitArg(hasArg string) (prefix, arg string)
- func SplitToolRef(targetToolName string) (toolName, subTool string)
- func ToDisplayText(tool Tool, input string) string
- func ToSysDisplayString(id string, args map[string]string) (string, error)
- func ToolNormalizer(tool string) string
- type BuiltinFunc
- type CompletionFunctionCall
- type CompletionFunctionDefinition
- type CompletionMessage
- type CompletionMessageRoleType
- type CompletionRequest
- type CompletionStatus
- type CompletionTool
- type CompletionToolCall
- type ContentPart
- type ErrToolNotFound
- type Parameters
- type Program
- func (p Program) ChatName() string
- func (p Program) GetCompletionTools() (result []CompletionTool, err error)
- func (p Program) GetContextToolRefs(toolID string) ([]ToolReference, error)
- func (p Program) IsChat() bool
- func (p Program) SetBlocking() Program
- func (p Program) TopLevelTools() (result []Tool)
- type Prompt
- type Repo
- type Tool
- func (t *Tool) AddToolMapping(name string, tool Tool)
- func (t Tool) GetAgentGroup(agentGroup []ToolReference, toolID string) (result []ToolReference, _ error)
- func (t Tool) GetCompletionTools(prg Program, agentGroup ...ToolReference) (result []CompletionTool, err error)
- func (t Tool) GetContextTools(prg Program) ([]ToolReference, error)
- func (t Tool) GetExportedContext(prg Program) ([]ToolReference, error)
- func (t Tool) GetExportedTools(prg Program) ([]ToolReference, error)
- func (t Tool) GetInterpreter() string
- func (t Tool) GetToolRefsFromNames(names []string) (result []ToolReference, _ error)
- func (t Tool) IsCommand() bool
- func (t Tool) IsDaemon() bool
- func (t Tool) IsEcho() bool
- func (t Tool) IsHTTP() bool
- func (t Tool) IsOpenAPI() bool
- type ToolDef
- type ToolReference
- type ToolSet
- type ToolSource
- type Usage
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 ( PromptURLEnvVar = "GPTSCRIPT_PROMPT_URL" PromptTokenEnvVar = "GPTSCRIPT_PROMPT_TOKEN" )
View Source
const ( DaemonPrefix = "#!sys.daemon" OpenAPIPrefix = "#!sys.openapi" EchoPrefix = "#!sys.echo" CommandPrefix = "#!" )
Variables ¶
View Source
var (
DefaultFiles = []string{"agent.gpt", "tool.gpt"}
)
Functions ¶
func FirstSet ¶
func FirstSet[T comparable](in ...T) (result T)
func ObjectSchema ¶
func PickToolName ¶ added in v0.4.0
func SplitToolRef ¶ added in v0.7.0
func ToDisplayText ¶ added in v0.8.0
func ToSysDisplayString ¶ added in v0.8.0
func ToolNormalizer ¶ added in v0.4.0
Types ¶
type BuiltinFunc ¶
type CompletionFunctionCall ¶
type CompletionMessage ¶
type CompletionMessage struct { Role CompletionMessageRoleType `json:"role,omitempty"` Content []ContentPart `json:"content,omitempty"` // 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"` Usage Usage `json:"usage,omitempty"` }
func (CompletionMessage) ChatText ¶ added in v0.7.0
func (c CompletionMessage) ChatText() string
func (CompletionMessage) IsToolCall ¶
func (c CompletionMessage) IsToolCall() bool
func (CompletionMessage) String ¶
func (c CompletionMessage) String() string
type CompletionMessageRoleType ¶
type CompletionMessageRoleType string
type CompletionRequest ¶
type CompletionRequest struct { Model string `json:"model,omitempty"` InternalSystemPrompt *bool `json:"internalSystemPrompt,omitempty"` Tools []CompletionTool `json:"tools,omitempty"` Messages []CompletionMessage `json:"messages,omitempty"` MaxTokens int `json:"maxTokens,omitempty"` Temperature *float32 `json:"temperature,omitempty"` JSONResponse bool `json:"jsonResponse,omitempty"` Cache *bool `json:"cache,omitempty"` }
func (*CompletionRequest) GetCache ¶ added in v0.6.0
func (r *CompletionRequest) GetCache() 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 ErrToolNotFound ¶ added in v0.4.0
type ErrToolNotFound struct {
ToolName string
}
func NewErrToolNotFound ¶ added in v0.5.0
func NewErrToolNotFound(toolName string) *ErrToolNotFound
func (*ErrToolNotFound) Error ¶ added in v0.4.0
func (e *ErrToolNotFound) Error() string
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"` ModelProvider bool `json:"modelProvider,omitempty"` JSONResponse bool `json:"jsonResponse,omitempty"` Chat bool `json:"chat,omitempty"` Temperature *float32 `json:"temperature,omitempty"` Cache *bool `json:"cache,omitempty"` InternalPrompt *bool `json:"internalPrompt"` Arguments *openapi3.Schema `json:"arguments,omitempty"` Tools []string `json:"tools,omitempty"` GlobalTools []string `json:"globalTools,omitempty"` GlobalModelName string `json:"globalModelName,omitempty"` Context []string `json:"context,omitempty"` ExportContext []string `json:"exportContext,omitempty"` Export []string `json:"export,omitempty"` Agents []string `json:"agents,omitempty"` Credentials []string `json:"credentials,omitempty"` Blocking bool `json:"-"` }
func (Parameters) ToolRefNames ¶ added in v0.8.0
func (p Parameters) ToolRefNames() []string
type Program ¶
type Program struct { Name string `json:"name,omitempty"` EntryToolID string `json:"entryToolId,omitempty"` ToolSet ToolSet `json:"toolSet,omitempty"` OpenAPICache map[string]any `json:"-"` }
func (Program) GetCompletionTools ¶ added in v0.4.0
func (p Program) GetCompletionTools() (result []CompletionTool, err error)
func (Program) GetContextToolRefs ¶ added in v0.6.0
func (p Program) GetContextToolRefs(toolID string) ([]ToolReference, error)
func (Program) SetBlocking ¶ added in v0.3.0
func (Program) TopLevelTools ¶ added in v0.4.0
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 { ToolDef `json:",inline"` ID string `json:"id,omitempty"` ToolMapping map[string][]ToolReference `json:"toolMapping,omitempty"` LocalTools map[string]string `json:"localTools,omitempty"` Source ToolSource `json:"source,omitempty"` WorkingDir string `json:"workingDir,omitempty"` }
func (*Tool) AddToolMapping ¶ added in v0.7.1
func (Tool) GetAgentGroup ¶ added in v0.8.0
func (t Tool) GetAgentGroup(agentGroup []ToolReference, toolID string) (result []ToolReference, _ error)
func (Tool) GetCompletionTools ¶ added in v0.4.0
func (t Tool) GetCompletionTools(prg Program, agentGroup ...ToolReference) (result []CompletionTool, err error)
func (Tool) GetContextTools ¶ added in v0.7.0
func (t Tool) GetContextTools(prg Program) ([]ToolReference, error)
func (Tool) GetExportedContext ¶ added in v0.7.0
func (t Tool) GetExportedContext(prg Program) ([]ToolReference, error)
func (Tool) GetExportedTools ¶ added in v0.7.0
func (t Tool) GetExportedTools(prg Program) ([]ToolReference, error)
func (Tool) GetInterpreter ¶ added in v0.8.0
func (Tool) GetToolRefsFromNames ¶ added in v0.6.0
func (t Tool) GetToolRefsFromNames(names []string) (result []ToolReference, _ error)
type ToolDef ¶ added in v0.7.1
type ToolDef struct { Parameters `json:",inline"` Instructions string `json:"instructions,omitempty"` BuiltinFunc BuiltinFunc `json:"-"` }
type ToolReference ¶ added in v0.6.0
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.