Integrate with LocalRAG, drop RAG functionalities
This commit is contained in:
29
main.go
29
main.go
@@ -5,20 +5,16 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/mudler/LocalAgent/core/agent"
|
||||
"github.com/mudler/LocalAgent/core/state"
|
||||
"github.com/mudler/LocalAgent/pkg/llm"
|
||||
rag "github.com/mudler/LocalAgent/pkg/vectorstore"
|
||||
"github.com/mudler/LocalAgent/webui"
|
||||
)
|
||||
|
||||
var testModel = os.Getenv("TEST_MODEL")
|
||||
var apiURL = os.Getenv("API_URL")
|
||||
var apiKey = os.Getenv("API_KEY")
|
||||
var vectorStore = os.Getenv("VECTOR_STORE")
|
||||
var timeout = os.Getenv("TIMEOUT")
|
||||
var embeddingModel = os.Getenv("EMBEDDING_MODEL")
|
||||
var stateDir = os.Getenv("STATE_DIR")
|
||||
var localRAG = os.Getenv("LOCAL_RAG")
|
||||
|
||||
func init() {
|
||||
if testModel == "" {
|
||||
@@ -40,33 +36,12 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
func ragDB() (ragDB agent.RAGDB) {
|
||||
lai := llm.NewClient(apiKey, apiURL+"/v1", timeout)
|
||||
|
||||
switch vectorStore {
|
||||
case "localai":
|
||||
laiStore := rag.NewStoreClient(apiURL, apiKey)
|
||||
ragDB = rag.NewLocalAIRAGDB(laiStore, lai)
|
||||
default:
|
||||
var err error
|
||||
ragDB, err = rag.NewChromemDB("local-agent-framework", stateDir, lai, embeddingModel)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func main() {
|
||||
// make sure state dir exists
|
||||
os.MkdirAll(stateDir, 0755)
|
||||
|
||||
// Initialize rag DB connection
|
||||
ragDB := ragDB()
|
||||
|
||||
// Create the agent pool
|
||||
pool, err := state.NewAgentPool(testModel, apiURL, stateDir, ragDB, webui.Actions, webui.Connectors, timeout)
|
||||
pool, err := state.NewAgentPool(testModel, apiURL, apiKey, stateDir, localRAG, webui.Actions, webui.Connectors, timeout)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user