50 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
|  | function Get-GigaChat { | ||
|  |     param ( | ||
|  |         [Parameter(Mandatory,ValueFromPipeline)][string]$Content, | ||
|  |         [Parameter(Mandatory)][string]$Cred_Base64, | ||
|  |         [ValidateRange(0.1,2)][float]$temperature = 0.9, | ||
|  |         [ValidateRange(1,4)][int64]$n = 1, | ||
|  |         [int64]$max_tokens = 512, | ||
|  |         [boolean]$stream = $False, | ||
|  |         [string]$model = "GigaChat:latest" | ||
|  |     ) | ||
|  |     $UUID = [System.Guid]::NewGuid() | ||
|  |     $url = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth" | ||
|  |     $headers = @{ | ||
|  |         "Authorization" = "Basic $Cred_Base64" | ||
|  |         "RqUID" = "$UUID" | ||
|  |         "Content-Type" = "application/x-www-form-urlencoded" | ||
|  |     } | ||
|  |     $body = @{ | ||
|  |         scope = "GIGACHAT_API_PERS" | ||
|  |     } | ||
|  |     $GIGA_TOKEN = $(Invoke-RestMethod -Uri $url -Method POST -Headers $headers -Body $body).access_token | ||
|  |     $role = "user" | ||
|  |     $url = "https://gigachat.devices.sberbank.ru/api/v1/chat/completions" | ||
|  |     $headers = @{ | ||
|  |         "Authorization" = "Bearer $GIGA_TOKEN" | ||
|  |         "Content-Type" = "application/json" | ||
|  |     } | ||
|  |     $body = @{ | ||
|  |         model = $model | ||
|  |         messages = @( | ||
|  |             @{ | ||
|  |                 role = $role | ||
|  |                 content = $content | ||
|  |             } | ||
|  |         ) | ||
|  |         temperature = $temperature | ||
|  |         n = $n | ||
|  |         max_tokens = $max_tokens | ||
|  |         stream = $stream | ||
|  |     } | ConvertTo-Json | ||
|  |     $Request = Invoke-RestMethod -Method POST -Uri $url -Headers $headers -Body $body | ||
|  |     $Request.choices.message.content | ||
|  | } | ||
|  | 
 | ||
|  | # Сгенерировать вторизационные данные (действует 30 минут): https://developers.sber.ru/studio | ||
|  | #$Cred = "N2U2ZDJmOWYtODI1ZS00OWI3LTk4ZjQtNjJmYmI3NTA2NDI3OmExY2FiN2U3LTBhZjgtNDMzMi1iODAwLTE3Y2I5OTQ1MWViNg==" | ||
|  | #Get-GigaChat -Cred_Base64 $Cred -Content "Напиши скрипт на языке PowerShell для создания UUID" | ||
|  | #Get-GigaChat -Cred_Base64 $Cred -Content "Напиши скрипт на языке Bash для создания UUID" | ||
|  | #Get-GigaChat -Cred_Base64 $Cred -Content "Выполняй роль калькулятора. Посчитай сумму двух чисел" | ||
|  | #Get-GigaChat -Cred_Base64 $Cred -Content "Расскажи, что такое платформа .NET" -n 2 |