Skip to content

zhouyangtingwen/dify-sdk-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dify Go SDK

This is the Go SDK for the Dify API, which allows you to easily integrate Dify into your Go applications.

Install

go get github.com/zhouyangtingwen/dify-sdk-go

Usage

After installing the SDK, you can use it in your project like this:

package main

import (
	"context"
	"log"
	"strings"

	"github.com/zhouyangtingwen/dify-sdk-go"
)

func main() {
	var (
		ctx = context.Background()
		c = dify.NewClient("your-dify-server-host", "your-api-key-here")

		req = &dify.ChatMessageRequest{
			Query: "your-question",
			User: "your-user",
		}

		ch chan dify.ChatMessageStreamChannelResponse
		err error
	)

	if ch, err = c.Api().ChatMessagesStream(ctx, req); err != nil {
		return
	}

	var strBuilder strings.Builder

	for {
		select {
		case <-ctx.Done():
			return
		case streamData, isOpen := <-ch:
			if err = streamData.Err; err != nil {
				log.Println(err.Error())
				return
			}
			if !isOpen {
				log.Println(strBuilder.String())
				return
			}

			strBuilder.WriteString(streamData.Answer)
		}
	}
}

License

This SDK is released under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages