gigachat

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FileIdFromMessageContent added in v0.5.0

func FileIdFromMessageContent(content string) (string, error)

FileIdFromMessageContent выделяет FileId из строки Message.Content.

func FilesFileId added in v0.5.0

func FilesFileId(ctx context.Context, currToken *common.Token, fileId string) ([]byte, error)

FilesFileId возвращает файл изображения в бинарном представлении, в формате JPG.

func TokensCount

func TokensCount(ctx context.Context, currToken *common.Token, tokensCountIn *TokensCountIn) (*[]TokensCountOut, error)

TokensCount возвращает объект с информацией о количестве токенов, посчитанных заданной моделью в строках, переданных в массиве input.

Types

type ChatCompletionsIn

type ChatCompletionsIn struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-chat#zapros
	Model             string    `json:"model"`
	Messages          []Message `json:"messages"`
	Temperature       float64   `json:"temperature,omitempty"`
	TopP              float64   `json:"top_p,omitempty"`
	N                 int64     `json:"n,omitempty"`
	Stream            bool      `json:"stream,omitempty"`
	MaxTokens         int64     `json:"max_tokens,omitempty"`
	RepetitionPenalty float64   `json:"repetition_penalty,omitempty"`
	UpdateInterval    float64   `json:"update_interval,omitempty"`
}

Input chat/completions object.

type ChatCompletionsOut

type ChatCompletionsOut struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-chat#responses
	Choices []Choice           `json:"choices"`
	Created timehelper.UnixSec `json:"created"`
	Model   string             `json:"model"`
	Usage   Usage              `json:"usage"`
	Object  string             `json:"object"`
}

Output chat/completions object.

func ChatCompletions

func ChatCompletions(ctx context.Context, currToken *common.Token, chatCompletionsIn *ChatCompletionsIn) (*ChatCompletionsOut, error)

ChatCompletions возвращает ответ модели с учетом переданных сообщений.

type Choice

type Choice struct {
	Message      Message `json:"message"`
	Index        int32   `json:"index"`
	FinishReason string  `json:"finish_reason"`
}

Choice.

type Embedding added in v0.5.0

type Embedding struct {
	Object    string    `json:"object"`
	Embedding []float64 `json:"embedding"`
	Index     int64     `json:"index"`
}

Embedding

type EmbeddingsIn added in v0.5.0

type EmbeddingsIn struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-embeddings#zapros
	Model string   `json:"model"`
	Input []string `json:"input"`
}

Input embeddings object.

type EmbeddingsOut added in v0.5.0

type EmbeddingsOut struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-embeddings#responses
	Object string      `json:"object"`
	Data   []Embedding `json:"data"`
	Model  string      `json:"model"`
}

Output embeddings object.

func Embeddings added in v0.5.0

func Embeddings(ctx context.Context, currToken *common.Token, embeddingsIn *EmbeddingsIn) (*EmbeddingsOut, error)

Embeddings возвращает векторные представления соответствующих текстовых запросов.

type Message

type Message struct {
	Role    string `json:"role"`
	Content string `json:"content"`
}

Message.

type Model

type Model struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/get-models#responses
	Id      string `json:"id"`
	Object  string `json:"object"`
	OwnedBy string `json:"owned_by"`
}

Output model object.

func ModelsModel

func ModelsModel(ctx context.Context, currToken *common.Token, model string) (*Model, error)

ModelsModel возвращает объект с описанием указанной модели.

type ModelsOut

type ModelsOut struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/get-models#responses
	Object string  `json:"object"`
	Data   []Model `json:"data"`
}

Output models object.

func Models

func Models(ctx context.Context, currToken *common.Token) (*ModelsOut, error)

Models возвращает массив объектов с данными доступных моделей.

type TokensCountIn

type TokensCountIn struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-tokens-count#zapros
	Model string   `json:"model"`
	Input []string `json:"input"`
}

Input tokens/count object.

type TokensCountOut

type TokensCountOut struct {
	// https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-tokens-count#responses
	Object     string `json:"object"`
	Tokens     int    `json:"tokens"`
	Characters int    `json:"characters"`
}

Output tokens/count object.

type Usage

type Usage struct {
	PromptTokens     int32 `json:"prompt_tokens"`
	CompletionTokens int32 `json:"completion_tokens"`
	TotalTokens      int32 `json:"total_tokens"`
}

Usage.

Jump to

Keyboard shortcuts

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