utils

package
v1.0.35 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2025 License: Apache-2.0 Imports: 17 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 Event added in v1.0.29

type Event struct {
	Type string
	Data []byte
}

type EventStreamDecoder added in v1.0.29

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

A base implementation of a Decoder for text/event-stream.

func NewEventStreamDecoder added in v1.0.29

func NewEventStreamDecoder(rc io.ReadCloser) *EventStreamDecoder

func (*EventStreamDecoder) Close added in v1.0.29

func (s *EventStreamDecoder) Close() error

func (*EventStreamDecoder) Err added in v1.0.29

func (s *EventStreamDecoder) Err() error

func (*EventStreamDecoder) Event added in v1.0.29

func (s *EventStreamDecoder) Event() Event

func (*EventStreamDecoder) Next added in v1.0.29

func (s *EventStreamDecoder) Next() bool

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 ImageGenerationStreamReader added in v1.0.27

type ImageGenerationStreamReader struct {
	ChatCompletionStreamReader
}

func (*ImageGenerationStreamReader) Close added in v1.0.27

func (stream *ImageGenerationStreamReader) Close() error

func (*ImageGenerationStreamReader) Recv added in v1.0.27

func (stream *ImageGenerationStreamReader) Recv() (response model.ImagesStreamResponse, 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 ResponsesStreamReader added in v1.0.30

type ResponsesStreamReader struct {
	ChatCompletionStreamReader
	Decoder *EventStreamDecoder
}

func (*ResponsesStreamReader) Recv added in v1.0.30

func (stream *ResponsesStreamReader) Recv() (response *responses.Event, err 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