Отправить базовый запрос
В Completions API поддерживаются параметры temperature, max_tokens, stream, response_format.
Чтобы воспользоваться примером, вам понадобится сервисный аккаунт с ролью ai.languageModels.user и API-ключ с областью действия yc.ai.foundationModels.execute. API-ключ, который вы можете создать в AI Studio, имеет такие разрешения. Пример того, как настроить рабочее окружение, можно найти в разделе Начало работы.
Python
Node.js
Go
cURL
AI SDK
import openai
YANDEX_API_KEY = "<API-ключ>"
YANDEX_FOLDER_ID = "<идентификатор_каталога>"
YANDEX_MODEL = "yandexgpt/latest"
client = openai.OpenAI(
api_key=YANDEX_API_KEY,
base_url="https://ai.api.cloud.yandex.net/v1",
project=YANDEX_FOLDER_ID,
)
response = client.chat.completions.create(
model=f"gpt://{YANDEX_FOLDER_ID}/{YANDEX_MODEL}",
messages=[
{"role": "system", "content": "Ты очень умный ассистент."},
{"role": "user", "content": "Что умеют большие языковые модели?"}
],
max_tokens=2000,
temperature=0.3,
stream=True,
)
for chunk in response:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
Где:
YANDEX_API_KEY— API-ключ для работы в AI Studio.YANDEX_FOLDER_ID— идентификатор каталога сервисного аккаунта.YANDEX_MODEL— имя модели, которая будет обрабатывать запрос.
Пример результата:
Большие языковые модели (LLM) умеют генерировать текст, отвечать на вопросы, переводить,
резюмировать документы, писать код и многое другое. Они обучены на больших объемах текстовых
данных и способны решать широкий спектр задач, связанных с обработкой естественного языка.
import OpenAI from "openai";
const YANDEX_API_KEY = "<API-ключ>";
const YANDEX_FOLDER_ID = "<идентификатор_каталога>";
const YANDEX_MODEL = "yandexgpt/latest";
const client = new OpenAI({
apiKey: YANDEX_API_KEY,
baseURL: "https://ai.api.cloud.yandex.net/v1",
project: YANDEX_FOLDER_ID,
});
const completion = await client.chat.completions.create({
model: `gpt://${YANDEX_FOLDER_ID}/${YANDEX_MODEL}`,
messages: [
{ role: "system", content: "Ты очень умный ассистент." },
{ role: "user", content: "Что умеют большие языковые модели?" },
],
max_tokens: 2000,
temperature: 0.3,
});
console.log(completion.choices[0].message.content);
Где:
YANDEX_API_KEY— API-ключ для работы в AI Studio.YANDEX_FOLDER_ID— идентификатор каталога сервисного аккаунта.YANDEX_MODEL— имя модели, которая будет обрабатывать запрос.
Пример результата:
Большие языковые модели (LLM) умеют генерировать текст, отвечать на вопросы, переводить,
резюмировать документы, писать код и многое другое. Они обучены на больших объемах текстовых
данных и способны решать широкий спектр задач, связанных с обработкой естественного языка.
package main
import (
"context"
"fmt"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
yandexAPIKey := os.Getenv("YANDEX_API_KEY")
yandexFolderID := os.Getenv("YANDEX_FOLDER_ID")
yandexModel := "yandexgpt/latest"
client := openai.NewClient(
option.WithAPIKey(yandexAPIKey),
option.WithBaseURL("https://ai.api.cloud.yandex.net/v1"),
option.WithHeader("OpenAI-Project", yandexFolderID),
)
completion, err := client.Chat.Completions.New(
context.Background(),
openai.ChatCompletionNewParams{
Model: fmt.Sprintf("gpt://%s/%s", yandexFolderID, yandexModel),
Messages: []openai.ChatCompletionMessageParamUnion{
openai.SystemMessage("Ты очень умный ассистент."),
openai.UserMessage("Что умеют большие языковые модели?"),
},
MaxTokens: openai.Int(2000),
Temperature: openai.Float(0.3),
},
)
if err != nil {
fmt.Fprintf(os.Stderr, "Ошибка: %v\n", err)
os.Exit(1)
}
fmt.Println(completion.Choices[0].Message.Content)
}
Где:
YANDEX_API_KEY— API-ключ для работы в AI Studio.YANDEX_FOLDER_ID— идентификатор каталога сервисного аккаунта.yandexModel— имя модели, которая будет обрабатывать запрос.
Пример результата:
Большие языковые модели (LLM) умеют генерировать текст, отвечать на вопросы, переводить,
резюмировать документы, писать код и многое другое. Они обучены на больших объемах текстовых
данных и способны решать широкий спектр задач, связанных с обработкой естественного языка.
curl https://ai.api.cloud.yandex.net/v1/chat/completions \
--header "Content-Type: application/json" \
--header "Authorization: Api-Key <API-ключ>" \
--header "OpenAI-Project: <идентификатор_каталога>" \
--data '{
"model": "gpt://<идентификатор_каталога>/yandexgpt/latest",
"messages": [
{
"role": "system",
"content": "Ты очень умный ассистент."
},
{
"role": "user",
"content": "Что умеют большие языковые модели?"
}
],
"max_tokens": 2000,
"temperature": 0.3
}'
Где:
<API-ключ>— API-ключ для работы в AI Studio.<идентификатор_каталога>— идентификатор каталога сервисного аккаунта.
Пример результата:
{
"id": "chatcmpl-a1b2c3d4-...",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Большие языковые модели (LLM) умеют генерировать текст, отвечать на вопросы, переводить, резюмировать документы, писать код и многое другое."
},
"finish_reason": "stop"
}
],
"model": "gpt://b1go3el0d8fs********/yandexgpt/latest"
}
from yandex_ai_studio_sdk import AIStudio
YANDEX_API_KEY = "<API-ключ>"
YANDEX_FOLDER_ID = "<идентификатор_каталога>"
YANDEX_MODEL = "yandexgpt"
sdk = AIStudio(
folder_id=YANDEX_FOLDER_ID,
auth=YANDEX_API_KEY,
)
model = sdk.chat.completions(YANDEX_MODEL)
model = model.configure(temperature=0.3, max_tokens=2000)
result = model.run([
{"role": "system", "text": "Ты очень умный ассистент."},
{"role": "user", "text": "Что умеют большие языковые модели?"},
])
print(result.text)
Где:
YANDEX_API_KEY— API-ключ для работы в AI Studio.YANDEX_FOLDER_ID— идентификатор каталога сервисного аккаунта.YANDEX_MODEL— имя модели, которая будет обрабатывать запрос.
Пример результата:
Большие языковые модели (LLM) умеют генерировать текст, отвечать на вопросы, переводить,
резюмировать документы, писать код и многое другое. Они обучены на больших объемах текстовых
данных и способны решать широкий спектр задач, связанных с обработкой естественного языка.
См. также
Была ли статья полезна?
Предыдущая
Следующая