Skip to content

Commit 902db09

Browse files
committed
function calling begin
1 parent e910c70 commit 902db09

2 files changed

Lines changed: 43 additions & 17 deletions

File tree

constants.go

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,43 @@
11
package gigachat
22

3+
// Авторизауия
34
const (
4-
GigaChatTokenFileEnv = "GIGACHAT_TOKEN_FILE" // Перемеменная среды с путем к файлу с токеном
5-
GigaChatExpiresFileEnv = "GIGACHAT_EXPIRES_FILE" // Переменная среды с путем к файл где время устревания токена
6-
GigaChatToken = "GIGACHAT_TOKEN" // Или токен берем из окружения
7-
GigaChatAuthData = "GIGACHAT_AUTH_DATA" // Данные дла авторизации чтоб получить токен
8-
GigaChatOauthUrl = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth"
9-
GigaChatApiHost = "gigachat.devices.sberbank.ru" //1 - gigachat.devices.sberbank.ru 2 gigachat-preview.devices.sberbank.ru
10-
GigaChatModelsPath = "/api/v1/models"
11-
GigaChatChatCompletionPath = "/api/v1/chat/completions"
12-
GigaChatEmbeddingsPath = "/api/v1/embeddings"
13-
GigaChatModel = "GigaChat"
14-
GigaChatMaxTokens = 16384
15-
MaxEmbeddingSize int = 8192
16-
GigaChatRoleUser = "user"
17-
GigaChatRoleSystem = "system"
5+
GigaChatTokenFileEnv = "GIGACHAT_TOKEN_FILE" // Перемеменная среды с путем к файлу с токеном
6+
GigaChatExpiresFileEnv = "GIGACHAT_EXPIRES_FILE" // Переменная среды с путем к файл где время устревания токена
7+
GigaChatToken = "GIGACHAT_TOKEN" // Или токен берем из окружения
8+
GigaChatAuthData = "GIGACHAT_AUTH_DATA" // Данные дла авторизации чтоб получить токен
9+
GigaChatOauthUrl = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth"
1810
)
11+
12+
// Ручки API
13+
const (
14+
GigaChatApiHost = "gigachat.devices.sberbank.ru" //1 - gigachat.devices.sberbank.ru 2 gigachat-preview.devices.sberbank.ru
15+
GigaChatModelsPath = "/api/v1/models"
16+
GigaChatChatCompletionPath = "/api/v1/chat/completions"
17+
GigaChatEmbeddingsPath = "/api/v1/embeddings"
18+
)
19+
20+
// Настройки
21+
const (
22+
GigaChatModel = "GigaChat" // GigaChat, GigaChat-Pro, GigaChat-Max Если тестовый хост то GigaChat-Pro-preview
23+
GigaChatMaxTokens = 16384
24+
MaxEmbeddingSize = 8192
25+
GigaChatRoleUser = "user"
26+
GigaChatRoleSystem = "system"
27+
GigaChatRoleAssistant = "assistant"
28+
)
29+
30+
//'finish_reason': 'function_call'
31+
/*
32+
finish_reason
33+
string
34+
Возможные значения: [stop, length, function_call, blacklist, error]
35+
36+
Причина завершения гипотезы. Возможные значения:
37+
38+
stop — модель закончила формировать гипотезу и вернула полный ответ;
39+
length — достигнут лимит токенов в сообщении;
40+
function_call — указывает, что при запросе была вызвана встроенная функция или сгенерированы аргументы для пользовательской функции;
41+
blacklist — запрос попадает под тематические ограничения.
42+
error — ответ модели содержит невалидные аргументы пользовательской функции.
43+
*/

structures.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ type MessageRequest struct {
2626

2727
// Статистика использования
2828
type Usage struct {
29-
PromptTokens int `json:"prompt_tokens"`
30-
CompletionTokens int `json:"completion_tokens,omitempty"`
31-
TotalTokens int `json:"total_tokens,omitempty"`
29+
// Данные об использовании модели.
30+
PromptTokens int `json:"prompt_tokens"` // int32 Количество токенов во входящем сообщении (роль user).
31+
CompletionTokens int `json:"completion_tokens,omitempty"` // int32 Количество токенов, сгенерированных моделью (роль assistant).
32+
TotalTokens int `json:"total_tokens,omitempty"` //int32 Общее количество токенов.
3233
}
3334

3435
type MessageResponse struct {

0 commit comments

Comments
 (0)