Files
smartmate/backend/inits/eino.go
LoveLosita 5f86dcda2b Version: 0.4.0.dev.260302
修改了gitignore文件,使得yaml不会被上传,保护隐私
接入eino,实现了agent的消息sse流式传输
2026-03-02 14:30:07 +08:00

40 lines
1.1 KiB
Go

package inits
import (
"context"
"os"
"github.com/cloudwego/eino-ext/components/model/ark"
"github.com/spf13/viper"
)
// AIHub 存储不同能力的模型实例
type AIHub struct {
Strategist *ark.ChatModel // 智力担当:处理复杂排程逻辑
Worker *ark.ChatModel // 效率担当:处理简单任务、总结
}
func InitEino() (*AIHub, error) {
ctx := context.Background()
worker, err := ark.NewChatModel(ctx, &ark.ChatModelConfig{
Model: viper.GetString("agent.workerModel"), // 使用的模型版本
BaseURL: viper.GetString("agent.baseURL"), // Eino API 的基础 URL
APIKey: os.Getenv("ARK_API_KEY"), // API 密钥
})
if err != nil {
return nil, err
}
strategist, err := ark.NewChatModel(ctx, &ark.ChatModelConfig{
Model: viper.GetString("agent.strategistModel"), // 使用的模型版本
BaseURL: viper.GetString("agent.baseURL"), // Eino API 的基础 URL
APIKey: os.Getenv("ARK_API_KEY"), // API 密钥
})
if err != nil {
return nil, err
}
return &AIHub{
Strategist: strategist,
Worker: worker,
}, nil
}