Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DarkStyleConfig is the default dark style. DarkStyleConfig = ansi.StyleConfig{ Document: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ BlockPrefix: "\n", BlockSuffix: "\n", Color: stringPtr("252"), }, Margin: uintPtr(1), }, BlockQuote: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{}, Indent: uintPtr(1), IndentToken: stringPtr("│ "), }, List: ansi.StyleList{ LevelIndent: 2, }, Heading: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ BlockSuffix: "\n", Color: stringPtr("39"), Bold: boolPtr(true), }, }, H1: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: " ", Suffix: " ", Color: stringPtr("228"), BackgroundColor: stringPtr("63"), Bold: boolPtr(true), }, }, H2: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "## ", }, }, H3: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "### ", }, }, H4: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "#### ", }, }, H5: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "##### ", }, }, H6: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "###### ", Color: stringPtr("35"), Bold: boolPtr(false), }, }, Strikethrough: ansi.StylePrimitive{ CrossedOut: boolPtr(true), }, Emph: ansi.StylePrimitive{ Italic: boolPtr(true), }, Strong: ansi.StylePrimitive{ Bold: boolPtr(true), }, HorizontalRule: ansi.StylePrimitive{ Color: stringPtr("240"), Format: "\n--------\n", }, Item: ansi.StylePrimitive{ BlockPrefix: "• ", }, Enumeration: ansi.StylePrimitive{ BlockPrefix: ". ", }, Task: ansi.StyleTask{ StylePrimitive: ansi.StylePrimitive{}, Ticked: "[✓] ", Unticked: "[ ] ", }, Link: ansi.StylePrimitive{ Color: stringPtr("30"), Underline: boolPtr(true), }, LinkText: ansi.StylePrimitive{ Color: stringPtr("35"), Bold: boolPtr(true), }, Image: ansi.StylePrimitive{ Color: stringPtr("212"), Underline: boolPtr(true), }, ImageText: ansi.StylePrimitive{ Color: stringPtr("243"), Format: "Image: {{.text}} →", }, Code: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: " ", Suffix: " ", Color: stringPtr("203"), BackgroundColor: stringPtr("236"), }, }, CodeBlock: ansi.StyleCodeBlock{ StyleBlock: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Color: stringPtr("244"), }, Margin: uintPtr(2), }, Chroma: &ansi.Chroma{ Text: ansi.StylePrimitive{ Color: stringPtr("#C4C4C4"), }, Error: ansi.StylePrimitive{ Color: stringPtr("#F1F1F1"), BackgroundColor: stringPtr("#F05B5B"), }, Comment: ansi.StylePrimitive{ Color: stringPtr("#676767"), }, CommentPreproc: ansi.StylePrimitive{ Color: stringPtr("#FF875F"), }, Keyword: ansi.StylePrimitive{ Color: stringPtr("#00AAFF"), }, KeywordReserved: ansi.StylePrimitive{ Color: stringPtr("#FF5FD2"), }, KeywordNamespace: ansi.StylePrimitive{ Color: stringPtr("#FF5F87"), }, KeywordType: ansi.StylePrimitive{ Color: stringPtr("#6E6ED8"), }, Operator: ansi.StylePrimitive{ Color: stringPtr("#EF8080"), }, Punctuation: ansi.StylePrimitive{ Color: stringPtr("#E8E8A8"), }, Name: ansi.StylePrimitive{ Color: stringPtr("#C4C4C4"), }, NameBuiltin: ansi.StylePrimitive{ Color: stringPtr("#FF8EC7"), }, NameTag: ansi.StylePrimitive{ Color: stringPtr("#B083EA"), }, NameAttribute: ansi.StylePrimitive{ Color: stringPtr("#7A7AE6"), }, NameClass: ansi.StylePrimitive{ Color: stringPtr("#F1F1F1"), Underline: boolPtr(true), Bold: boolPtr(true), }, NameDecorator: ansi.StylePrimitive{ Color: stringPtr("#FFFF87"), }, NameFunction: ansi.StylePrimitive{ Color: stringPtr("#00D787"), }, LiteralNumber: ansi.StylePrimitive{ Color: stringPtr("#6EEFC0"), }, LiteralString: ansi.StylePrimitive{ Color: stringPtr("#C69669"), }, LiteralStringEscape: ansi.StylePrimitive{ Color: stringPtr("#AFFFD7"), }, GenericDeleted: ansi.StylePrimitive{ Color: stringPtr("#FD5B5B"), }, GenericEmph: ansi.StylePrimitive{ Italic: boolPtr(true), }, GenericInserted: ansi.StylePrimitive{ Color: stringPtr("#00D787"), }, GenericStrong: ansi.StylePrimitive{ Bold: boolPtr(true), }, GenericSubheading: ansi.StylePrimitive{ Color: stringPtr("#777777"), }, Background: ansi.StylePrimitive{ BackgroundColor: stringPtr("#373737"), }, }, }, Table: ansi.StyleTable{ StyleBlock: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{}, }, CenterSeparator: stringPtr("┼"), ColumnSeparator: stringPtr("│"), RowSeparator: stringPtr("─"), }, DefinitionDescription: ansi.StylePrimitive{ BlockPrefix: "\n🠶 ", }, } // LightStyleConfig is the default light style. LightStyleConfig = ansi.StyleConfig{ Document: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ BlockPrefix: "", BlockSuffix: "\n", Color: stringPtr("234"), }, Margin: uintPtr(0), }, BlockQuote: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{}, Indent: uintPtr(1), IndentToken: stringPtr("│ "), }, List: ansi.StyleList{ LevelIndent: 2, }, Heading: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ BlockSuffix: "\n", Color: stringPtr("27"), Bold: boolPtr(true), }, }, H1: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: " ", Suffix: " ", Color: stringPtr("228"), BackgroundColor: stringPtr("63"), Bold: boolPtr(true), }, }, H2: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "## ", }, }, H3: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "### ", }, }, H4: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "#### ", }, }, H5: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "##### ", }, }, H6: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: "###### ", Bold: boolPtr(false), }, }, Strikethrough: ansi.StylePrimitive{ CrossedOut: boolPtr(true), }, Emph: ansi.StylePrimitive{ Italic: boolPtr(true), }, Strong: ansi.StylePrimitive{ Bold: boolPtr(true), }, HorizontalRule: ansi.StylePrimitive{ Color: stringPtr("249"), Format: "\n--------\n", }, Item: ansi.StylePrimitive{ BlockPrefix: "• ", }, Enumeration: ansi.StylePrimitive{ BlockPrefix: ". ", }, Task: ansi.StyleTask{ StylePrimitive: ansi.StylePrimitive{}, Ticked: "[✓] ", Unticked: "[ ] ", }, Link: ansi.StylePrimitive{ Color: stringPtr("36"), Underline: boolPtr(true), }, LinkText: ansi.StylePrimitive{ Color: stringPtr("29"), Bold: boolPtr(true), }, Image: ansi.StylePrimitive{ Color: stringPtr("205"), Underline: boolPtr(true), }, ImageText: ansi.StylePrimitive{ Color: stringPtr("243"), Format: "Image: {{.text}} →", }, Code: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Prefix: " ", Suffix: " ", Color: stringPtr("203"), BackgroundColor: stringPtr("254"), }, }, CodeBlock: ansi.StyleCodeBlock{ StyleBlock: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{ Color: stringPtr("242"), }, Margin: uintPtr(2), }, Chroma: &ansi.Chroma{ Text: ansi.StylePrimitive{ Color: stringPtr("#2A2A2A"), }, Error: ansi.StylePrimitive{ Color: stringPtr("#F1F1F1"), BackgroundColor: stringPtr("#FF5555"), }, Comment: ansi.StylePrimitive{ Color: stringPtr("#8D8D8D"), }, CommentPreproc: ansi.StylePrimitive{ Color: stringPtr("#FF875F"), }, Keyword: ansi.StylePrimitive{ Color: stringPtr("#279EFC"), }, KeywordReserved: ansi.StylePrimitive{ Color: stringPtr("#FF5FD2"), }, KeywordNamespace: ansi.StylePrimitive{ Color: stringPtr("#FB406F"), }, KeywordType: ansi.StylePrimitive{ Color: stringPtr("#7049C2"), }, Operator: ansi.StylePrimitive{ Color: stringPtr("#FF2626"), }, Punctuation: ansi.StylePrimitive{ Color: stringPtr("#FA7878"), }, NameBuiltin: ansi.StylePrimitive{ Color: stringPtr("#0A1BB1"), }, NameTag: ansi.StylePrimitive{ Color: stringPtr("#581290"), }, NameAttribute: ansi.StylePrimitive{ Color: stringPtr("#8362CB"), }, NameClass: ansi.StylePrimitive{ Color: stringPtr("#212121"), Underline: boolPtr(true), Bold: boolPtr(true), }, NameConstant: ansi.StylePrimitive{ Color: stringPtr("#581290"), }, NameDecorator: ansi.StylePrimitive{ Color: stringPtr("#A3A322"), }, NameFunction: ansi.StylePrimitive{ Color: stringPtr("#019F57"), }, LiteralNumber: ansi.StylePrimitive{ Color: stringPtr("#22CCAE"), }, LiteralString: ansi.StylePrimitive{ Color: stringPtr("#7E5B38"), }, LiteralStringEscape: ansi.StylePrimitive{ Color: stringPtr("#00AEAE"), }, GenericDeleted: ansi.StylePrimitive{ Color: stringPtr("#FD5B5B"), }, GenericEmph: ansi.StylePrimitive{ Italic: boolPtr(true), }, GenericInserted: ansi.StylePrimitive{ Color: stringPtr("#00D787"), }, GenericStrong: ansi.StylePrimitive{ Bold: boolPtr(true), }, GenericSubheading: ansi.StylePrimitive{ Color: stringPtr("#777777"), }, Background: ansi.StylePrimitive{ BackgroundColor: stringPtr("#373737"), }, }, }, Table: ansi.StyleTable{ StyleBlock: ansi.StyleBlock{ StylePrimitive: ansi.StylePrimitive{}, }, CenterSeparator: stringPtr("┼"), ColumnSeparator: stringPtr("│"), RowSeparator: stringPtr("─"), }, DefinitionDescription: ansi.StylePrimitive{ BlockPrefix: "\n🠶 ", }, } )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements a REST client for OpenAI API
func NewChatClient ¶
func NewChatClient(baseURL string, token string, model string, system string, stream bool, maxContextLength int) *Client
NewChatClient creates a Client configured for chat completion
func (*Client) CreateCompletion ¶
func (c *Client) CreateCompletion(request *CompletionRequest) (*CompletionResponse, error)
CreateCompletion sends the CompletionRequest If stream is enabled, server-sent events will be sent into the events channel Otherwise, it returns CompletionResponse
func (*Client) NewRequest ¶
func (c *Client) NewRequest(body *CompletionRequest) (*http.Request, error)
NewRequest creates a http request for the chat completion API
type CompletionChoice ¶
type CompletionRequest ¶
type CompletionRequest struct { Model string `json:"model"` Messages []Message `json:"messages"` Temperature float32 `json:"temperature,omitempty"` TopP float32 `json:"top_p,omitempty"` N int `json:"n,omitempty"` Stream bool `json:"stream,omitempty"` Stop []string `json:"stop,omitempty"` MaxTokens int `json:"max_tokens,omitempty"` PresencePenalty float32 `json:"presence_penalty,omitempty"` FrequencyPenalty float32 `json:"frequency_penalty,omitempty"` LogitBias map[string]int `json:"logit_bias,omitempty"` User string `json:"user,omitempty"` }
type CompletionResponse ¶
type CompletionResponse struct { ID string `json:"id,omitempty"` Object string `json:"object,omitempty"` Created int64 `json:"created,omitempty"` Choices []CompletionChoice `json:"choices,omitempty"` Usage CompletionUsage `json:"usage,omitempty"` }
type CompletionStreamChoice ¶
type CompletionStreamChoice struct { Index int `json:"index,omitempty"` Delta CompletionStreamDelta `json:"delta,omitempty"` FinishReason string `json:"finish_reason,omitempty"` }
type CompletionStreamDelta ¶
type CompletionStreamResponse ¶
type CompletionStreamResponse struct { ID string `json:"id,omitempty"` Object string `json:"object,omitempty"` Created int64 `json:"created,omitempty"` Choices []CompletionStreamChoice `json:"choices,omitempty"` }
type CompletionUsage ¶
Click to show internal directories.
Click to hide internal directories.