service

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterAliyun

func RegisterAliyun(i IAliyun)

func RegisterBaidu

func RegisterBaidu(i IBaidu)

func RegisterChat

func RegisterChat(i IChat)

func RegisterCommon

func RegisterCommon(i ICommon)

func RegisterFile

func RegisterFile(i IFile)

func RegisterMidjourney

func RegisterMidjourney(i IMidjourney)

func RegisterOpenAI

func RegisterOpenAI(i IOpenAI)

func RegisterRobot

func RegisterRobot(i IRobot)

func RegisterSession

func RegisterSession(i ISession)

func RegisterUser

func RegisterUser(i IUser)

func RegisterXfyun

func RegisterXfyun(i IXfyun)

Types

type IAliyun

type IAliyun interface {
	Text(ctx context.Context, robot *model.Robot, message *model.Message) (*model.Text, error)
}

func Aliyun

func Aliyun() IAliyun

type IBaidu

type IBaidu interface {
	Text(ctx context.Context, robot *model.Robot, message *model.Message) (*model.Text, error)
}

func Baidu

func Baidu() IBaidu

type IChat

type IChat interface {
	Chat(ctx context.Context, chat *model.Chat, retry ...int) (response openai.ChatCompletionResponse, err error)
	ChatStream(ctx context.Context, chat *model.Chat, retry ...int) (responseChan chan model.ChatCompletionStreamResponse, err error)
}

func Chat

func Chat() IChat

type ICommon

type ICommon interface {
	GetMessageContext(ctx context.Context, robot *model.Robot, message *model.Message) []string
	SaveMessageContext(ctx context.Context, robot *model.Robot, message *model.Message, value any) error
	ClearMessageContext(ctx context.Context, robot *model.Robot, message *model.Message) (int64, error)
	TrimMessageContext(ctx context.Context, robot *model.Robot, message *model.Message, start, stop int64) error
	Translate(ctx context.Context, text string, retry ...int) (res string)
}

func Common

func Common() ICommon

type IFile

type IFile interface {
	SaveImage(ctx context.Context, imgBytes []byte, ext string, fileName ...string) (*model.Image, error)
}

func File

func File() IFile

type IMidjourney

type IMidjourney interface {
	Image(ctx context.Context, robot *model.Robot, message *model.Message) (imageInfo *model.Image, err error)
}

func Midjourney

func Midjourney() IMidjourney

type IOpenAI

type IOpenAI interface {
	Text(ctx context.Context, robot *model.Robot, message *model.Message, retry ...int) (*model.Text, error)
	Image(ctx context.Context, robot *model.Robot, message *model.Message) (imageInfo *model.Image, err error)
}

func OpenAI

func OpenAI() IOpenAI

type IRobot

type IRobot interface {
	GetRobotByUserId(ctx context.Context, userId int) (*model.Robot, error)
	GetRobotsByUserIds(ctx context.Context, userId ...int) ([]*model.Robot, error)
	ClearMessageContext(ctx context.Context, robot *model.Robot, message *model.Message) (int64, error)
	IsNeedRobotReply(ctx context.Context, userId ...int) ([]*model.Robot, bool)
	Text(ctx context.Context, robot *model.Robot, message *model.Message) (*model.Text, error)
	Image(ctx context.Context, robot *model.Robot, message *model.Message) (*model.Image, error)
}

func Robot

func Robot() IRobot

type ISession

type ISession interface {
	// 获取会话中UserId
	GetUid(ctx context.Context) int
	// 获取会话中用户信息
	GetUser(ctx context.Context) *model.User
}

func Session

func Session() ISession

type IUser

type IUser interface {
	// 根据userId获取用户信息
	GetUserById(ctx context.Context, userId int) (*model.User, error)
}

func User

func User() IUser

type IXfyun

type IXfyun interface {
	Text(ctx context.Context, robot *model.Robot, message *model.Message) (*model.Text, error)
}

func Xfyun

func Xfyun() IXfyun

Jump to

Keyboard shortcuts

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