package
0.0.1
Repository: https://github.com/eswulei/chatglm-go.git
Documentation: pkg.go.dev

# README

Stream

package main

import (
	"fmt"
	"os"

	"github.com/eswulei/chatglm-go"
)

func main() {
	apiKey := os.Getenv("API_KEY")
	m := chatglm.ModelAPI{
		Model:       chatglm.ChatGLMLite,
		TopP:        0.7,
		Temperature: 0.9,
		Prompt: []map[string]interface{}{
			{"role": "user", "content": "你好"},
			{"role": "assistant", "content": "我是人工智能助手"},
			{"role": "user", "content": "你叫什么名字"},
			{"role": "assistant", "content": "我叫chatGLM"},
			{"role": "user", "content": "你都可以做些什么事"},
		},
	}
	sseClient, err := m.SSEInvoke(apiKey)
	if err != nil {
		fmt.Println(err)
		return
	}

	eventChan := sseClient.ReadEvents()

	for event := range eventChan {
		switch event.Event {
		case "add":
			fmt.Println(event.Data)
		case "error", "interrupted":
			fmt.Println(event.Data)
		case "finish":
			fmt.Println(event.Data)
			for key, value := range event.Meta {
				fmt.Printf("%s: %s\n", key, value)
			}
		default:
			fmt.Println(event.Data)
		}
	}
}