kagi

package module
v0.0.0-...-bd652ae Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

README

kagi-summarizer-api

Go Reference Go Report Card

Kagi Universal Summarizer API wrapper for Go

Installation:

go get github.com/sashabaranov/kagi-summarizer-api

Example usage:

package main

import (
	"context"
	"fmt"
	kagi "github.com/sashabaranov/kagi-summarizer-api"
)

func main() {
	client := kagi.NewClient("your kagi token")
	response, err := client.Summarize(
		context.Background(),
		SummaryRequest{
			URL:         "your url",
			SummaryType: SummaryTypeSummary,
			Engine:      SummaryEngineAgnes,
			Cache:       true,
		},
	)
	if err != nil {
		fmt.Println("Error: ", err)
		return
	}
	fmt.Println("Sumarry: ", response.Data.Output)
}

Documentation

Index

Constants

View Source
const (
	SummaryEngineAgnes  SummaryEngine = "agnes"
	SummaryEngineDaphne SummaryEngine = "daphne"
	SummaryEngineMuriel SummaryEngine = "muriel"

	SummaryTypeSummary  SummaryType = "summary"
	SummaryTypeTakeaway SummaryType = "takeaway"
)

Variables

View Source
var (
	ErrUrlOrTextNeedsToBeSet = errors.New("either URL or Text field should be set in SummaryRequest")
)

Functions

This section is empty.

Types

type APIError

type APIError struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(token string) *Client

func (*Client) Summarize

func (c *Client) Summarize(ctx context.Context, summaryRequest SummaryRequest) (response SummaryResponse, err error)

type ClientConfig

type ClientConfig struct {
	BaseURL string
	// contains filtered or unexported fields
}

type ResponseMeta

type ResponseMeta struct {
	ID   string `json:"id"`
	Node string `json:"node"`
	Ms   uint64 `json:"ms"`
}

type SummaryData

type SummaryData struct {
	Output string `json:"output"`
	Tokens uint64 `json:"tokens"`
}

type SummaryEngine

type SummaryEngine string

type SummaryRequest

type SummaryRequest struct {
	URL  string `json:"url,omitempty"`
	Text string `json:"text,omitempty"`

	Engine         SummaryEngine `json:"engine,omitempty"`
	SummaryType    SummaryType   `json:"summary_type,omitempty"`
	TargetLanguage string        `json:"target_language,omitempty"`
	Cache          bool          `json:"cache"`
}

type SummaryResponse

type SummaryResponse struct {
	Meta   ResponseMeta `json:"meta"`
	Data   SummaryData  `json:"data"`
	Errors []APIError   `json:"error"`
}

type SummaryType

type SummaryType string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL