Documentation ¶
Index ¶
- type DynamoDB
- func (mh *DynamoDB) AddAIMessage(ctx context.Context, text string) error
- func (mh *DynamoDB) AddMessage(ctx context.Context, message schema.ChatMessage) error
- func (mh *DynamoDB) AddUserMessage(ctx context.Context, text string) error
- func (mh *DynamoDB) Clear(ctx context.Context) error
- func (mh *DynamoDB) Messages(ctx context.Context) (schema.ChatMessages, error)
- type DynamoDBClient
- type InMemory
- func (mh *InMemory) AddAIMessage(ctx context.Context, text string) error
- func (mh *InMemory) AddMessage(ctx context.Context, message schema.ChatMessage) error
- func (mh *InMemory) AddUserMessage(ctx context.Context, text string) error
- func (mh *InMemory) Clear(ctx context.Context) error
- func (mh *InMemory) Messages(ctx context.Context) (schema.ChatMessages, error)
- type Redis
- func (mh *Redis) AddAIMessage(ctx context.Context, text string) error
- func (mh *Redis) AddMessage(ctx context.Context, message schema.ChatMessage) error
- func (mh *Redis) AddUserMessage(ctx context.Context, text string) error
- func (mh *Redis) Clear(ctx context.Context) error
- func (mh *Redis) Messages(ctx context.Context) (schema.ChatMessages, error)
- type RedisClient
- type RedisOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DynamoDB ¶
type DynamoDB struct {
// contains filtered or unexported fields
}
func NewDynamoDB ¶
func NewDynamoDB(client DynamoDBClient, tableName, sessionID string) *DynamoDB
func (*DynamoDB) AddAIMessage ¶
func (*DynamoDB) AddMessage ¶
func (*DynamoDB) AddUserMessage ¶
type DynamoDBClient ¶
type DynamoDBClient interface { GetItem(ctx context.Context, params *dynamodb.GetItemInput, optFns ...func(*dynamodb.Options)) (*dynamodb.GetItemOutput, error) PutItem(ctx context.Context, params *dynamodb.PutItemInput, optFns ...func(*dynamodb.Options)) (*dynamodb.PutItemOutput, error) DeleteItem(ctx context.Context, params *dynamodb.DeleteItemInput, optFns ...func(*dynamodb.Options)) (*dynamodb.DeleteItemOutput, error) }
type InMemory ¶
type InMemory struct {
// contains filtered or unexported fields
}
func NewInMemory ¶
func NewInMemory() *InMemory
func NewInMemoryWithMessages ¶
func NewInMemoryWithMessages(messages schema.ChatMessages) *InMemory
func (*InMemory) AddAIMessage ¶
func (*InMemory) AddMessage ¶
func (*InMemory) AddUserMessage ¶
type Redis ¶
type Redis struct {
// contains filtered or unexported fields
}
func NewRedis ¶
func NewRedis(redisClient RedisClient, sessionID string) *Redis
func (*Redis) AddMessage ¶
func (*Redis) AddUserMessage ¶
type RedisClient ¶
type RedisClient interface { LRange(ctx context.Context, key string, start, stop int64) *redis.StringSliceCmd LPush(ctx context.Context, key string, values ...interface{}) *redis.IntCmd Del(ctx context.Context, keys ...string) *redis.IntCmd Expire(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd }
type RedisOptions ¶
Click to show internal directories.
Click to hide internal directories.