From 61a292c7a68f5d20cf83326a32e76a74b97d3210 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 5 Nov 2024 16:06:32 +0800 Subject: [PATCH] =?UTF-8?q?Neo=20initialization=20to=20enable=20=E2=80=98m?= =?UTF-8?q?oapi=E2=80=99=20connector=20and=20default=20model=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- neo/command/command.go | 15 +++++++++++++-- neo/command/driver/memory.go | 13 +++++++++++-- neo/load.go | 3 ++- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/neo/command/command.go b/neo/command/command.go index b3e7ba75..8059569f 100644 --- a/neo/command/command.go +++ b/neo/command/command.go @@ -110,8 +110,19 @@ func (cmd *Command) save() error { // NewAI create a new AI func (cmd *Command) newAI() (aigc.AI, error) { - if cmd.Connector == "" { - return nil, fmt.Errorf("%s connector is required", cmd.ID) + if cmd.Connector == "" || strings.HasPrefix(cmd.Connector, "moapi") { + model := "gpt-3.5-turbo" + if strings.HasPrefix(cmd.Connector, "moapi:") { + model = strings.TrimPrefix(cmd.Connector, "moapi:") + } + + ai, err := openai.NewMoapi(model) + if err != nil { + return nil, err + } + + cmd.AI = ai + return cmd.AI, nil } conn, err := connector.Select(cmd.Connector) diff --git a/neo/command/driver/memory.go b/neo/command/driver/memory.go index dba350bb..4b006dce 100644 --- a/neo/command/driver/memory.go +++ b/neo/command/driver/memory.go @@ -198,8 +198,17 @@ func (driver *Memory) GetCommands() ([]Command, error) { // NewAI create a new AI func (driver *Memory) newAI() (aigc.AI, error) { - if driver.model == "" { - return nil, fmt.Errorf("%s connector is required", driver.model) + if driver.model == "" || strings.HasPrefix(driver.model, "moapi") { + model := "gpt-3.5-turbo" + if strings.HasPrefix(driver.model, "moapi:") { + model = strings.TrimPrefix(driver.model, "moapi:") + } + + ai, err := openai.NewMoapi(model) + if err != nil { + return nil, err + } + return ai, nil } conn, err := connector.Select(driver.model) diff --git a/neo/load.go b/neo/load.go index 7224a7e8..90c383ca 100644 --- a/neo/load.go +++ b/neo/load.go @@ -63,7 +63,8 @@ func Load(cfg config.Config) error { if parser == "" || parser == "default" { parser = setting.Connector } - store, err := driver.NewMemory(setting.Command.Parser, nil) + + store, err := driver.NewMemory(parser, nil) if err != nil { return err }