Files
langchain-go/main.go
T
2026-03-23 13:12:31 +08:00

69 lines
1.1 KiB
Go

package main
import (
"agent/agent"
"context"
"fmt"
"log"
"os"
"sync"
"github.com/joho/godotenv"
"github.com/tmc/langchaingo/llms"
"github.com/tmc/langchaingo/llms/openai"
)
var (
apiKey string
baseUrl string
model = "stepfun-ai/Step-3.5-Flash"
ctx context.Context
llm llms.Model
)
func init() {
err := godotenv.Load()
if err != nil {
fmt.Println(".env 文件加载失败")
}
apiKey = os.Getenv("API_KEY")
baseUrl = os.Getenv("BASE_URL")
fmt.Printf("API Key: %s\n", apiKey)
fmt.Printf("Base URL: %s\n", baseUrl)
llm, err = openai.New(
openai.WithBaseURL(baseUrl),
openai.WithToken(apiKey),
openai.WithModel(model),
)
if err != nil {
log.Fatal(err)
}
ctx = context.Background()
}
func main() {
var wg sync.WaitGroup
files := []string{
".\\prompt\\card.txt",
".\\prompt\\guodegang.txt",
".\\prompt\\mermaid.txt",
".\\prompt\\quiz.txt",
".\\prompt\\scenario.txt",
}
wg.Add(len(files))
for _, file := range files {
go func(f string) {
defer wg.Done()
agent.CallWithAgent(llm, ctx, "文件", f)
}(file)
}
wg.Wait()
}