openai

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetOpenAITokenCount added in v0.3.0

func GetOpenAITokenCount(messages []goopenai.ChatCompletionMessage) (numTokens int)

Types

type AggregatedResponse

type AggregatedResponse struct {
	Completion string              `json:"completion,omitempty"`
	ToolCallID string              `json:"tool_call_id,omitempty"`
	ToolCalls  []goopenai.ToolCall `json:"tool_calls,omitempty"`
	Usage      goopenai.Usage      `json:"usage,omitempty"`
}

type ChatCompletionStream

func NewChatCompletionStreamWrapper

func NewChatCompletionStreamWrapper(traceID string, observationID string, request *goopenai.ChatCompletionRequest, upstream *goopenai.ChatCompletionStream, langfuseClient *hlangfuse.Langfuse) ChatCompletionStream

type Client

type Client struct {
	OpenAIClient   *goopenai.Client
	LangfuseClient *hlangfuse.Langfuse
}

func (*Client) CreateChatCompletion

func (c *Client) CreateChatCompletion(
	ctx context.Context,
	request goopenai.ChatCompletionRequest,
	langfuseTraceOptions ...LangfuseTraceOption,
) (response goopenai.ChatCompletionResponse, err error)

func (*Client) CreateChatCompletionStream

func (c *Client) CreateChatCompletionStream(
	ctx context.Context,
	request goopenai.ChatCompletionRequest,
	langfuseTraceOptions ...LangfuseTraceOption,
) (ChatCompletionStream, error)

type LangfuseTraceOption

type LangfuseTraceOption func(*LangfuseTraceOptions)

func WithMetadata

func WithMetadata(metadata map[string]any) LangfuseTraceOption

func WithParentObservationID

func WithParentObservationID(parentObservationID string) LangfuseTraceOption

func WithRelease

func WithRelease(release string) LangfuseTraceOption

func WithSessionID

func WithSessionID(sessionID string) LangfuseTraceOption

func WithTags

func WithTags(tags []string) LangfuseTraceOption

func WithTraceID

func WithTraceID(traceID string) LangfuseTraceOption

func WithUserID

func WithUserID(userID string) LangfuseTraceOption

type LangfuseTraceOptions

type LangfuseTraceOptions struct {
	TraceID             string
	ParentObservationID string
	SessionID           string
	UserID              string
	Metadata            map[string]any
	Tags                []string
	Release             string
}

func ApplyTraceOptions

func ApplyTraceOptions(options []LangfuseTraceOption) *LangfuseTraceOptions

type StreamReader

type StreamReader[T Streamable] interface {
	Recv() (T, error)
	Close() error
	GetRateLimitHeaders() goopenai.RateLimitHeaders
	Header() http.Header
}

Jump to

Keyboard shortcuts

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