utils

package
v1.0.18 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenRequestId

func GenRequestId() string

func Retry

func Retry(ctx context.Context,
	rp RetryPolicy,
	isNeedRetry func() bool,
	doFunc func() error, overRetryLimitError error,
	isNeedRetryError func(error) bool,
) error

Types

type BotChatCompletionStreamReader

type BotChatCompletionStreamReader struct {
	ChatCompletionStreamReader
}

func (*BotChatCompletionStreamReader) Close

func (stream *BotChatCompletionStreamReader) Close() error

type Breaker

type Breaker struct {
	// contains filtered or unexported fields
}

Breaker 定义熔断结构体

func NewBreaker

func NewBreaker() *Breaker

NewBreaker 创建一个新的 Breaker 实例

func (*Breaker) Reset

func (mb *Breaker) Reset(duration time.Duration)

Reset 重置 allowTime

func (*Breaker) Wait added in v1.0.12

func (mb *Breaker) Wait()

Wait 同步等待直到允许通过

type ChatCompletionStreamReader

type ChatCompletionStreamReader struct {
	EmptyMessagesLimit uint
	IsFinished         bool

	Reader         *bufio.Reader
	Response       *http.Response
	ErrAccumulator ErrorAccumulator
	Unmarshaler    Unmarshaler

	model.HttpHeader
}

func (*ChatCompletionStreamReader) Close

func (stream *ChatCompletionStreamReader) Close() error

func (*ChatCompletionStreamReader) Recv

func (stream *ChatCompletionStreamReader) Recv() (response model.ChatCompletionStreamResponse, err error)

type DefaultErrorAccumulator

type DefaultErrorAccumulator struct {
	Buffer errorBuffer
}

func (*DefaultErrorAccumulator) Bytes

func (e *DefaultErrorAccumulator) Bytes() (errBytes []byte)

func (*DefaultErrorAccumulator) Write

func (e *DefaultErrorAccumulator) Write(p []byte) error

type ErrorAccumulator

type ErrorAccumulator interface {
	Write(p []byte) error
	Bytes() []byte
}

func NewErrorAccumulator

func NewErrorAccumulator() ErrorAccumulator

type HTTPRequestBuilder

type HTTPRequestBuilder struct {
	// contains filtered or unexported fields
}

func NewRequestBuilder

func NewRequestBuilder() *HTTPRequestBuilder

func (*HTTPRequestBuilder) Build

func (b *HTTPRequestBuilder) Build(
	ctx context.Context,
	method string,
	url string,
	body interface{},
	header http.Header,
) (req *http.Request, err error)

type JSONMarshaller

type JSONMarshaller struct{}

func (*JSONMarshaller) Marshal

func (jm *JSONMarshaller) Marshal(value interface{}) ([]byte, error)

type JSONUnmarshaler

type JSONUnmarshaler struct{}

func (*JSONUnmarshaler) Unmarshal

func (jm *JSONUnmarshaler) Unmarshal(data []byte, v interface{}) error

type Marshaller

type Marshaller interface {
	Marshal(value interface{}) ([]byte, error)
}

type ModelBreakerProvider added in v1.0.12

type ModelBreakerProvider struct {
	// contains filtered or unexported fields
}

func NewModelBreakerProvider added in v1.0.12

func NewModelBreakerProvider() *ModelBreakerProvider

func (*ModelBreakerProvider) GetOrCreateBreaker added in v1.0.12

func (p *ModelBreakerProvider) GetOrCreateBreaker(model string) *Breaker

type RequestBuilder

type RequestBuilder interface {
	Build(ctx context.Context, method, url string, body interface{}, header http.Header) (*http.Request, error)
}

type RetryPolicy

type RetryPolicy struct {
	MaxAttempts    int
	InitialBackoff time.Duration
	MaxBackoff     time.Duration
}

type Unmarshaler

type Unmarshaler interface {
	Unmarshal(data []byte, v interface{}) error
}

Jump to

Keyboard shortcuts

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