Revert "Revert "Add RAG and Version support to Assistant context and options""
This commit is contained in:
parent
bec72b2f51
commit
069105d7bd
3 changed files with 12 additions and 3 deletions
|
|
@ -54,6 +54,10 @@ func (ast *Assistant) Execute(c *gin.Context, ctx chatctx.Context, input string,
|
|||
contents := chatMessage.NewContents()
|
||||
options = ast.withOptions(options)
|
||||
|
||||
// Add RAG and Version support
|
||||
ctx.RAG = rag != nil
|
||||
ctx.Version = ast.vision
|
||||
|
||||
// Run init hook
|
||||
res, err := ast.HookInit(c, ctx, messages, options, contents)
|
||||
if err != nil {
|
||||
|
|
@ -370,6 +374,7 @@ func (ast *Assistant) withOptions(options map[string]interface{}) map[string]int
|
|||
options = map[string]interface{}{}
|
||||
}
|
||||
|
||||
// Add Custom Options
|
||||
if ast.Options != nil {
|
||||
for key, value := range ast.Options {
|
||||
options[key] = value
|
||||
|
|
@ -377,7 +382,7 @@ func (ast *Assistant) withOptions(options map[string]interface{}) map[string]int
|
|||
}
|
||||
|
||||
// Add functions
|
||||
if ast.Functions != nil {
|
||||
if ast.Functions != nil && len(ast.Functions) > 0 {
|
||||
options["tools"] = ast.Functions
|
||||
if options["tool_choice"] == nil {
|
||||
options["tool_choice"] = "auto"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ func (ast *Assistant) HookInit(c *gin.Context, context chatctx.Context, input []
|
|||
ctx, cancel := ast.createTimeoutContext(c)
|
||||
defer cancel()
|
||||
|
||||
v, err := ast.call(ctx, "Init", c, contents, context, input)
|
||||
v, err := ast.call(ctx, "Init", c, contents, context, input, options)
|
||||
if err != nil {
|
||||
if err.Error() == HookErrorMethodNotFound {
|
||||
return nil, nil
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ type Context struct {
|
|||
Config map[string]interface{} `json:"config,omitempty"`
|
||||
Signal interface{} `json:"signal,omitempty"`
|
||||
Upload *FileUpload `json:"upload,omitempty"`
|
||||
Version bool `json:"version,omitempty"` // Version support
|
||||
RAG bool `json:"rag,omitempty"` // RAG support
|
||||
}
|
||||
|
||||
// Field the context field
|
||||
|
|
@ -85,6 +87,8 @@ func WithTimeout(parent Context, timeout time.Duration) (Context, context.Cancel
|
|||
func (ctx *Context) Map() map[string]interface{} {
|
||||
data := map[string]interface{}{
|
||||
"sid": ctx.Sid,
|
||||
"rag": ctx.RAG,
|
||||
"version": ctx.Version,
|
||||
}
|
||||
|
||||
if ctx.ChatID != "" {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue