Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- type ClientOptions
- type Message
- type MessageContent
- type MessageContentFile
- type MessageContentFileSource
- type MessageContentText
- type MessagesRequest
- type MessagesResponse
- type MessagesResponseError
- type MessagesStream
- type MessagesStreamReader
- type MessagesStreamResponse
- type MessagesStreamResponseContentBlock
- type MessagesStreamResponseDelta
Constants ¶
View Source
const ( // See: https://docs.anthropic.com/claude/docs/models-overview#model-recommendations MODEL_CLAUDE_2_1 = "claude-2.1" MODEL_CLAUDE_3_SONNET = "claude-3-sonnet-20240229" MODEL_CLAUDE_3_OPUS = "claude-3-opus-20240229" MODEL_CLAUDE_3_HAIKU = "claude-3-haiku-20240307" )
View Source
const ( SSE_EVENT_PREFIX = "event: " SSE_EVENT_MESSAGE_START = "message_start" SSE_EVENT_CONTENT_BLOCK_START = "content_block_start" SSE_EVENT_PING = "ping" SSE_EVENT_BLOCK_DELTA = "content_block_delta" SSE_EVENT_CONTENT_BLOCK_STOP = "content_block_stop" SSE_EVENT_MESSAGE_DELTA = "message_delta" SSE_EVENT_MESSAGE_STOP = "message_stop" SSE_EVENT_ERROR = "error" SSE_DATA_PREFIX = "data: " )
View Source
const DEFAULT_ANTHROPIC_BASE_URL = "https://api.anthropic.com/v1"
Variables ¶
View Source
var ( ANTHROPIC_BASE_URL = getEnv("ANTHROPIC_BASE_URL", DEFAULT_ANTHROPIC_BASE_URL) ANTHROPIC_API_KEY = getEnv("ANTHROPIC_API_KEY", "") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(opts ...ClientOptions) *Client
func (*Client) CreateMessages ¶
func (c *Client) CreateMessages(mr MessagesRequest) (*MessagesResponse, error)
func (*Client) CreateMessagesStream ¶
func (c *Client) CreateMessagesStream(mr MessagesRequest) (*MessagesStream, error)
type ClientOptions ¶
type Message ¶
type Message struct { Role string `json:"role"` Content []MessageContent `json:"content"` }
type MessageContent ¶
type MessageContent interface {
GetType() string
}
MessageContentText | MessageContentFile
type MessageContentFile ¶
type MessageContentFile struct { Type string `json:"type"` Source MessageContentFileSource `json:"source,omitempty"` }
func (*MessageContentFile) GetType ¶
func (m *MessageContentFile) GetType() string
type MessageContentText ¶
func (*MessageContentText) GetType ¶
func (m *MessageContentText) GetType() string
type MessagesRequest ¶
type MessagesRequest struct { Model string `json:"model"` Messages []Message `json:"messages"` System string `json:"system,omitempty"` MaxTokens int `json:"max_tokens"` Metadata struct { UserID string `json:"user_id"` } `json:"metadata,omitempty"` StopSequences []string `json:"stop_sequences,omitempty"` Stream bool `json:"stream,omitempty"` Temperature float64 `json:"temperature,omitempty"` TopP float64 `json:"top_p,omitempty"` TopK int `json:"top_k,omitempty"` }
type MessagesResponse ¶
type MessagesResponse struct { ID string `json:"id"` Type string `json:"type"` Role string `json:"role"` Content []MessageContentText `json:"content"` Model string `json:"model"` StopReaon string `json:"stop_reason"` StopSequence string `json:"stop_sequence"` Usage struct { InputTokens int `json:"input_tokens"` OutputTokens int `json:"output_tokens"` } `json:"usage"` }
type MessagesResponseError ¶
type MessagesStream ¶
type MessagesStream struct {
*MessagesStreamReader
}
type MessagesStreamReader ¶
type MessagesStreamReader struct {
// contains filtered or unexported fields
}
func (*MessagesStreamReader) Close ¶
func (s *MessagesStreamReader) Close()
func (*MessagesStreamReader) Recv ¶
func (s *MessagesStreamReader) Recv() (*MessagesStreamResponse, error)
type MessagesStreamResponse ¶
type MessagesStreamResponse struct { Type string `json:"type"` Message MessagesResponse `json:"message,omitempty"` Index int `json:"index,omitempty"` ContentBlock MessagesStreamResponseContentBlock `json:"content_block,omitempty"` Delta MessagesStreamResponseDelta `json:"delta,omitempty"` Error struct { Type string `json:"type"` Message string `json:"message"` } `json:"error,omitempty"` }
Click to show internal directories.
Click to hide internal directories.