/* * Copyright 2025 CloudWeGo Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package einoagent import ( "context" "github.com/cloudwego/eino/compose" "github.com/cloudwego/eino/flow/agent/react" ) // newLambda1 component initialization function of node 'ReactAgent' in graph 'EinoAgent' func newLambda1(ctx context.Context) (lba *compose.Lambda, err error) { // TODO Modify component configuration here. config := &react.AgentConfig{ MaxStep: 25, ToolReturnDirectly: map[string]struct{}{}, } chatModelIns11, err := newChatModel(ctx) if err != nil { return nil, err } config.Model = chatModelIns11 tools, err := GetTools(ctx) if err != nil { return nil, err } config.ToolsConfig.Tools = tools ins, err := react.NewAgent(ctx, config) if err != nil { return nil, err } lba, err = compose.AnyLambda(ins.Generate, ins.Stream, nil, nil) if err != nil { return nil, err } return lba, nil }