Documentation
¶
Index ¶
- func GetGlobalTransport() *http.Transport
- func GetPooledHTTPClient() *http.Client
- func SetGlobalConnectionPoolConfig(config ConnectionPoolConfig)
- type ConnectionPoolConfig
- type LangChainLLMProvider
- func (p *LangChainLLMProvider) Chat(ctx context.Context, messages []types.Message) (types.Message, error)
- func (p *LangChainLLMProvider) ChatStream(ctx context.Context, messages []types.Message) (<-chan types.StreamMessage, error)
- func (p *LangChainLLMProvider) ChatWithTools(ctx context.Context, messages []types.Message, tools []types.Tool) (types.Message, error)
- func (p *LangChainLLMProvider) ChatWithToolsStream(ctx context.Context, messages []types.Message, tools []types.Tool) (<-chan types.StreamMessage, error)
- func (p *LangChainLLMProvider) GetModelMetadata() types.ModelMetadata
- func (p *LangChainLLMProvider) GetModelName() string
- func (p *LangChainLLMProvider) SetMaxRetries(maxRetries int)
- func (p *LangChainLLMProvider) SetRetryDelay(delay time.Duration)
- type MessageDocument
- type MongoDBMemoryProvider
- func (p *MongoDBMemoryProvider) AddMessage(ctx context.Context, message types.Message) error
- func (p *MongoDBMemoryProvider) Clear(ctx context.Context) error
- func (p *MongoDBMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
- func (p *MongoDBMemoryProvider) GetChatHistory(ctx context.Context) ([]types.Message, error)
- func (p *MongoDBMemoryProvider) GetMessages(ctx context.Context, limit int) ([]types.Message, error)
- func (p *MongoDBMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
- func (p *MongoDBMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
- func (p *MongoDBMemoryProvider) SetCollectionName(name string)
- func (p *MongoDBMemoryProvider) SetMaxHistoryMessages(limit int)
- type MySQLMemoryProvider
- func (p *MySQLMemoryProvider) AddMessage(ctx context.Context, message types.Message) error
- func (p *MySQLMemoryProvider) Clear(ctx context.Context) error
- func (p *MySQLMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
- func (p *MySQLMemoryProvider) GetChatHistory(ctx context.Context) ([]types.Message, error)
- func (p *MySQLMemoryProvider) GetMessages(ctx context.Context, limit int) ([]types.Message, error)
- func (p *MySQLMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
- func (p *MySQLMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
- func (p *MySQLMemoryProvider) SetMaxHistoryMessages(limit int)
- func (p *MySQLMemoryProvider) SetTableName(name string)
- type MySQLMessageDocument
- type MySQLSummaryDocument
- type RedisMemoryProvider
- func (p *RedisMemoryProvider) AddMessage(ctx context.Context, message types.Message) error
- func (p *RedisMemoryProvider) Clear(ctx context.Context) error
- func (p *RedisMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
- func (p *RedisMemoryProvider) GetChatHistory(ctx context.Context) ([]types.Message, error)
- func (p *RedisMemoryProvider) GetMessages(ctx context.Context, limit int) ([]types.Message, error)
- func (p *RedisMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
- func (p *RedisMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
- func (p *RedisMemoryProvider) SetKeyPrefix(prefix string)
- func (p *RedisMemoryProvider) SetMaxHistoryMessages(limit int)
- type SQLiteMemoryProvider
- func (p *SQLiteMemoryProvider) AddMessage(ctx context.Context, message types.Message) error
- func (p *SQLiteMemoryProvider) Clear(ctx context.Context) error
- func (p *SQLiteMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
- func (p *SQLiteMemoryProvider) GetChatHistory(ctx context.Context) ([]types.Message, error)
- func (p *SQLiteMemoryProvider) GetMessages(ctx context.Context, limit int) ([]types.Message, error)
- func (p *SQLiteMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
- func (p *SQLiteMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
- func (p *SQLiteMemoryProvider) SetMaxHistoryMessages(limit int)
- func (p *SQLiteMemoryProvider) SetTableName(name string)
- type SQLiteMessageDocument
- type SQLiteSummaryDocument
- type SimpleMemoryProvider
- func (p *SimpleMemoryProvider) AddMessage(ctx context.Context, message types.Message) error
- func (p *SimpleMemoryProvider) Clear(ctx context.Context) error
- func (p *SimpleMemoryProvider) ClearWithContext(ctx context.Context) error
- func (p *SimpleMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
- func (p *SimpleMemoryProvider) GetChatHistory(ctx context.Context) ([]types.Message, error)
- func (p *SimpleMemoryProvider) GetMessages(ctx context.Context, limit int) ([]types.Message, error)
- func (p *SimpleMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
- func (p *SimpleMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
- func (p *SimpleMemoryProvider) SetMaxHistoryMessages(limit int)
- type SummaryDocument
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetGlobalTransport ¶ added in v1.4.7
func GetPooledHTTPClient ¶ added in v1.4.7
func SetGlobalConnectionPoolConfig ¶ added in v1.6.1
func SetGlobalConnectionPoolConfig(config ConnectionPoolConfig)
Types ¶
type ConnectionPoolConfig ¶ added in v1.4.7
type ConnectionPoolConfig struct {
MaxSize int
IdleTimeout time.Duration
DialTimeout time.Duration
KeepAlive time.Duration
}
func DefaultConnectionPoolConfig ¶ added in v1.4.7
func DefaultConnectionPoolConfig() ConnectionPoolConfig
type LangChainLLMProvider ¶
type LangChainLLMProvider struct {
// contains filtered or unexported fields
}
LangChainLLMProvider LangChain LLM provider
func NewLangChainLLMProvider ¶
func NewLangChainLLMProvider(model llms.Model, modelName string) *LangChainLLMProvider
NewLangChainLLMProvider creates a new LangChain LLM provider
func (*LangChainLLMProvider) Chat ¶
func (p *LangChainLLMProvider) Chat(ctx context.Context, messages []types.Message) (types.Message, error)
Chat basic chat functionality
func (*LangChainLLMProvider) ChatStream ¶
func (p *LangChainLLMProvider) ChatStream(ctx context.Context, messages []types.Message) (<-chan types.StreamMessage, error)
ChatStream streaming chat functionality
func (*LangChainLLMProvider) ChatWithTools ¶
func (p *LangChainLLMProvider) ChatWithTools(ctx context.Context, messages []types.Message, tools []types.Tool) (types.Message, error)
ChatWithTools chat with tools functionality
func (*LangChainLLMProvider) ChatWithToolsStream ¶
func (p *LangChainLLMProvider) ChatWithToolsStream(ctx context.Context, messages []types.Message, tools []types.Tool) (<-chan types.StreamMessage, error)
ChatWithToolsStream streaming chat with tools functionality
func (*LangChainLLMProvider) GetModelMetadata ¶
func (p *LangChainLLMProvider) GetModelMetadata() types.ModelMetadata
GetModelMetadata gets the model metadata
func (*LangChainLLMProvider) GetModelName ¶
func (p *LangChainLLMProvider) GetModelName() string
GetModelName gets the model name
func (*LangChainLLMProvider) SetMaxRetries ¶ added in v1.4.2
func (p *LangChainLLMProvider) SetMaxRetries(maxRetries int)
SetMaxRetries sets maximum retry attempts
func (*LangChainLLMProvider) SetRetryDelay ¶ added in v1.4.2
func (p *LangChainLLMProvider) SetRetryDelay(delay time.Duration)
SetRetryDelay sets retry delay duration
type MessageDocument ¶ added in v1.1.0
type MessageDocument struct {
ID primitive.ObjectID `bson:"_id,omitempty"`
SessionID string `bson:"session_id"`
Role string `bson:"role"`
Content string `bson:"content"`
Name string `bson:"name,omitempty"`
Parts string `bson:"parts,omitempty"`
ToolExtras string `bson:"tool_extras,omitempty"`
CreatedAt time.Time `bson:"created_at"`
}
type MongoDBMemoryProvider ¶ added in v1.1.0
type MongoDBMemoryProvider struct {
// contains filtered or unexported fields
}
func NewMongoDBMemoryProvider ¶ added in v1.1.0
func NewMongoDBMemoryProvider(client *mongodb.Client, sessionID string) *MongoDBMemoryProvider
func NewMongoDBMemoryProviderWithLimit ¶ added in v1.1.0
func NewMongoDBMemoryProviderWithLimit(client *mongodb.Client, sessionID string, maxHistoryMessages int) *MongoDBMemoryProvider
func (*MongoDBMemoryProvider) AddMessage ¶ added in v1.1.0
func (*MongoDBMemoryProvider) Clear ¶ added in v1.1.0
func (p *MongoDBMemoryProvider) Clear(ctx context.Context) error
func (*MongoDBMemoryProvider) CompressMemory ¶ added in v1.4.3
func (p *MongoDBMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
CompressMemory compresses old messages into a summary (implements MemoryProvider interface)
func (*MongoDBMemoryProvider) GetChatHistory ¶ added in v1.1.0
func (*MongoDBMemoryProvider) GetMessages ¶ added in v1.1.0
func (*MongoDBMemoryProvider) LoadMemoryVariables ¶ added in v1.1.0
func (p *MongoDBMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
func (*MongoDBMemoryProvider) SaveContext ¶ added in v1.1.0
func (p *MongoDBMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
func (*MongoDBMemoryProvider) SetCollectionName ¶ added in v1.1.0
func (p *MongoDBMemoryProvider) SetCollectionName(name string)
func (*MongoDBMemoryProvider) SetMaxHistoryMessages ¶ added in v1.1.0
func (p *MongoDBMemoryProvider) SetMaxHistoryMessages(limit int)
type MySQLMemoryProvider ¶ added in v1.5.0
type MySQLMemoryProvider struct {
// contains filtered or unexported fields
}
func NewMySQLMemoryProvider ¶ added in v1.5.0
func NewMySQLMemoryProvider(client *mysql.Client, sessionID string) *MySQLMemoryProvider
func NewMySQLMemoryProviderWithLimit ¶ added in v1.5.0
func NewMySQLMemoryProviderWithLimit(client *mysql.Client, sessionID string, maxHistoryMessages int) *MySQLMemoryProvider
func (*MySQLMemoryProvider) AddMessage ¶ added in v1.5.0
func (*MySQLMemoryProvider) Clear ¶ added in v1.5.0
func (p *MySQLMemoryProvider) Clear(ctx context.Context) error
func (*MySQLMemoryProvider) CompressMemory ¶ added in v1.5.0
func (p *MySQLMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
func (*MySQLMemoryProvider) GetChatHistory ¶ added in v1.5.0
func (*MySQLMemoryProvider) GetMessages ¶ added in v1.5.0
func (*MySQLMemoryProvider) LoadMemoryVariables ¶ added in v1.5.0
func (p *MySQLMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
func (*MySQLMemoryProvider) SaveContext ¶ added in v1.5.0
func (p *MySQLMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
func (*MySQLMemoryProvider) SetMaxHistoryMessages ¶ added in v1.5.0
func (p *MySQLMemoryProvider) SetMaxHistoryMessages(limit int)
func (*MySQLMemoryProvider) SetTableName ¶ added in v1.5.0
func (p *MySQLMemoryProvider) SetTableName(name string)
type MySQLMessageDocument ¶ added in v1.5.0
type MySQLMessageDocument struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
SessionID string `gorm:"type:varchar(255);index;not null" json:"session_id"`
Role string `gorm:"type:varchar(50);not null" json:"role"`
Content string `gorm:"type:text" json:"content"`
Name string `gorm:"type:varchar(255)" json:"name,omitempty"`
Parts string `gorm:"type:text" json:"parts,omitempty"`
ToolExtras string `gorm:"type:text" json:"tool_extras,omitempty"`
CreatedAt time.Time `gorm:"index;not null" json:"created_at"`
}
func (MySQLMessageDocument) TableName ¶ added in v1.5.0
func (MySQLMessageDocument) TableName() string
type MySQLSummaryDocument ¶ added in v1.6.1
type MySQLSummaryDocument struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
SessionID string `gorm:"type:varchar(255);uniqueIndex;not null" json:"session_id"`
Content string `gorm:"type:text" json:"content"`
LastSummarizedMessageID uint `gorm:"index" json:"last_summarized_message_id"`
CreatedAt time.Time `gorm:"index;not null" json:"created_at"`
UpdatedAt time.Time `gorm:"index;not null" json:"updated_at"`
}
func (MySQLSummaryDocument) TableName ¶ added in v1.6.1
func (MySQLSummaryDocument) TableName() string
type RedisMemoryProvider ¶ added in v1.1.0
type RedisMemoryProvider struct {
// contains filtered or unexported fields
}
func NewRedisMemoryProvider ¶ added in v1.1.0
func NewRedisMemoryProvider(client *credis.Client, sessionID string) *RedisMemoryProvider
func NewRedisMemoryProviderWithLimit ¶ added in v1.1.0
func NewRedisMemoryProviderWithLimit(client *credis.Client, sessionID string, maxHistoryMessages int) *RedisMemoryProvider
func (*RedisMemoryProvider) AddMessage ¶ added in v1.1.0
func (*RedisMemoryProvider) Clear ¶ added in v1.1.0
func (p *RedisMemoryProvider) Clear(ctx context.Context) error
func (*RedisMemoryProvider) CompressMemory ¶ added in v1.4.3
func (p *RedisMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
CompressMemory compresses old messages into a summary (implements MemoryProvider interface)
func (*RedisMemoryProvider) GetChatHistory ¶ added in v1.1.0
func (*RedisMemoryProvider) GetMessages ¶ added in v1.1.0
func (*RedisMemoryProvider) LoadMemoryVariables ¶ added in v1.1.0
func (p *RedisMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
func (*RedisMemoryProvider) SaveContext ¶ added in v1.1.0
func (p *RedisMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
func (*RedisMemoryProvider) SetKeyPrefix ¶ added in v1.1.0
func (p *RedisMemoryProvider) SetKeyPrefix(prefix string)
func (*RedisMemoryProvider) SetMaxHistoryMessages ¶ added in v1.1.0
func (p *RedisMemoryProvider) SetMaxHistoryMessages(limit int)
type SQLiteMemoryProvider ¶ added in v1.5.0
type SQLiteMemoryProvider struct {
// contains filtered or unexported fields
}
func NewSQLiteMemoryProvider ¶ added in v1.5.0
func NewSQLiteMemoryProvider(client *sqlite.Client, sessionID string) *SQLiteMemoryProvider
func NewSQLiteMemoryProviderWithLimit ¶ added in v1.5.0
func NewSQLiteMemoryProviderWithLimit(client *sqlite.Client, sessionID string, maxHistoryMessages int) *SQLiteMemoryProvider
func (*SQLiteMemoryProvider) AddMessage ¶ added in v1.5.0
func (*SQLiteMemoryProvider) Clear ¶ added in v1.5.0
func (p *SQLiteMemoryProvider) Clear(ctx context.Context) error
func (*SQLiteMemoryProvider) CompressMemory ¶ added in v1.5.0
func (p *SQLiteMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
func (*SQLiteMemoryProvider) GetChatHistory ¶ added in v1.5.0
func (*SQLiteMemoryProvider) GetMessages ¶ added in v1.5.0
func (*SQLiteMemoryProvider) LoadMemoryVariables ¶ added in v1.5.0
func (p *SQLiteMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
func (*SQLiteMemoryProvider) SaveContext ¶ added in v1.5.0
func (p *SQLiteMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
func (*SQLiteMemoryProvider) SetMaxHistoryMessages ¶ added in v1.5.0
func (p *SQLiteMemoryProvider) SetMaxHistoryMessages(limit int)
func (*SQLiteMemoryProvider) SetTableName ¶ added in v1.5.0
func (p *SQLiteMemoryProvider) SetTableName(name string)
type SQLiteMessageDocument ¶ added in v1.5.0
type SQLiteMessageDocument struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
SessionID string `gorm:"type:varchar(255);index;not null" json:"session_id"`
Role string `gorm:"type:varchar(50);not null" json:"role"`
Content string `gorm:"type:text" json:"content"`
Name string `gorm:"type:varchar(255)" json:"name,omitempty"`
Parts string `gorm:"type:text" json:"parts,omitempty"`
ToolExtras string `gorm:"type:text" json:"tool_extras,omitempty"`
CreatedAt time.Time `gorm:"index;not null" json:"created_at"`
}
func (SQLiteMessageDocument) TableName ¶ added in v1.5.0
func (SQLiteMessageDocument) TableName() string
type SQLiteSummaryDocument ¶ added in v1.6.1
type SQLiteSummaryDocument struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
SessionID string `gorm:"type:varchar(255);uniqueIndex;not null" json:"session_id"`
Content string `gorm:"type:text" json:"content"`
LastSummarizedMessageID uint `gorm:"index" json:"last_summarized_message_id"`
CreatedAt time.Time `gorm:"index;not null" json:"created_at"`
UpdatedAt time.Time `gorm:"index;not null" json:"updated_at"`
}
func (SQLiteSummaryDocument) TableName ¶ added in v1.6.1
func (SQLiteSummaryDocument) TableName() string
type SimpleMemoryProvider ¶
type SimpleMemoryProvider struct {
// contains filtered or unexported fields
}
SimpleMemoryProvider simple memory provider implementation
func NewSimpleMemoryProvider ¶
func NewSimpleMemoryProvider() *SimpleMemoryProvider
NewSimpleMemoryProvider creates a new simple memory provider
func NewSimpleMemoryProviderWithLimit ¶ added in v1.1.0
func NewSimpleMemoryProviderWithLimit(maxHistoryMessages int) *SimpleMemoryProvider
NewSimpleMemoryProviderWithLimit creates a new simple memory provider with max history limit
func (*SimpleMemoryProvider) AddMessage ¶
AddMessage adds a message
func (*SimpleMemoryProvider) Clear ¶
func (p *SimpleMemoryProvider) Clear(ctx context.Context) error
Clear clears memory (implements MemoryProvider interface)
func (*SimpleMemoryProvider) ClearWithContext ¶ added in v1.1.0
func (p *SimpleMemoryProvider) ClearWithContext(ctx context.Context) error
ClearWithContext clears memory with context (for backward compatibility)
func (*SimpleMemoryProvider) CompressMemory ¶ added in v1.4.3
func (p *SimpleMemoryProvider) CompressMemory(ctx context.Context, llm types.LLMProvider, maxMessages int) error
CompressMemory compresses old messages into a summary (implements MemoryProvider interface)
func (*SimpleMemoryProvider) GetChatHistory ¶ added in v1.1.0
GetChatHistory gets chat history (implements MemoryProvider interface)
func (*SimpleMemoryProvider) GetMessages ¶
GetMessages gets messages
func (*SimpleMemoryProvider) LoadMemoryVariables ¶ added in v1.1.0
func (p *SimpleMemoryProvider) LoadMemoryVariables(ctx context.Context) (map[string]interface{}, error)
LoadMemoryVariables loads memory variables (implements MemoryProvider interface)
func (*SimpleMemoryProvider) SaveContext ¶ added in v1.1.0
func (p *SimpleMemoryProvider) SaveContext(ctx context.Context, input, output map[string]interface{}) error
SaveContext saves context (implements MemoryProvider interface)
func (*SimpleMemoryProvider) SetMaxHistoryMessages ¶ added in v1.1.0
func (p *SimpleMemoryProvider) SetMaxHistoryMessages(limit int)
SetMaxHistoryMessages sets the maximum history messages limit
type SummaryDocument ¶ added in v1.6.1
type SummaryDocument struct {
ID primitive.ObjectID `bson:"_id,omitempty"`
SessionID string `bson:"session_id"`
Content string `bson:"content"`
LastSummarizedMessageID primitive.ObjectID `bson:"last_summarized_message_id"`
CreatedAt time.Time `bson:"created_at"`
UpdatedAt time.Time `bson:"updated_at"`
}