Update LLM integration and add new agent tools and utilities

Refactored LLM handling to use updated langchaingo models and tools, replacing gollm dependencies. Introduced agent-related utilities, tools, and counters for better modular functionality. Added a parser for LLM model configuration and revamped the answering mechanism with enhanced support for tool-based interaction.
This commit is contained in:
2025-02-25 22:56:32 -05:00
parent e1c10eb49e
commit 090b28d956
13 changed files with 1051 additions and 172 deletions

34
pkg/agent/test/main.go Normal file
View File

@@ -0,0 +1,34 @@
package main
import (
"reflect"
"github.com/tmc/langchaingo/llms"
)
func testFunction(args struct{ a, b int }) {
// This is a test function
}
func main() {
v := reflect.New(reflect.TypeOf(testFunction))
t := reflect.TypeOf(testFunction)
for i := 0; i < t.NumIn(); i++ {
param := t.In(i)
llms.MessageContent{
Role: llms.ChatMessageTypeTool,
Parts: []llms.ContentPart{
llms.ToolCallResponse{
Name: "testFunction",
},
},
}
if param.Type().Kind() == reflect.Struct {
}
println(param.Name(), param.Kind().String())
}
}