1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
func main() { err := godotenv.Load(".env") if err != nil { panic(err) }
ctx := context.Background() chatModel, err := ark.NewChatModel(ctx, &ark.ChatModelConfig{ APIKey: os.Getenv("ARK_API_KEY"), BaseURL: BaseURL, Model: ModelName, }) if err != nil { log.Fatalf("failed to create chatModel:%v", err) } template := prompt.FromMessages( schema.FString, schema.SystemMessage("你是一位{role}"), schema.UserMessage("{question}"), ) params := map[string]any{ "role": "Gopher", "question": "请介绍一下 Go语言,列出 Go语言的优点; 另外请介绍一下字节的AI大模型 enio 框架", }
message, err := template.Format(ctx, params) if err != nil { log.Fatalf("failed to format template:%v", err) } stream, err := chatModel.Stream(ctx, message) if err != nil { log.Fatalf("failed to stream message:%v", err) } defer stream.Close()
for { chunk, err := stream.Recv() if err != nil { if errors.Is(err, io.EOF) { break } log.Fatal(err) } print(chunk.Content) } }
|