YandexGPT API overview
YandexGPT API allows you to quickly create text content, e.g., product descriptions, articles, news stories, newsletters, blog posts, and many other things. The quality of the neural network's response depends directly on the accuracy of the instructions you provide. With a more specific prompt, you are more likely to get the result you expect.
The model understands prompts in more than 20 languages, including English and Japanese; however, Russian texts are its first priority. In addition to a text description, prompts must contain a special parameter called temperature that determines the variability of the model's response: the higher the temperature value, the less predictable the model's output is going to be.
There are two interfaces for YandexGPT API in Yandex Cloud. You can submit requests to AI Playground
AI Playground is a good option for introduction and testing: use it to submit synchronous requests to YandexGPT API models, set up parameters and choose prompts. When communicating, the model saves the dialog context, but you can also create a new experiment if you need to change the context. Additionally, YandexGPT Playground interfaces in chat format or prompt mode are available in the left-hand navigation menu. Use them when you need to fully repeat the model's behavior via the API and you do not want to save the results of the dialog.
To learn more about the YandexGPT API models, see YandexGPT API models.
Formatting of model responses
By default, the model returns a response formatted using Markdown
Here is an example:
{
"modelUri": "gpt://<folder_ID>/yandexgpt/latest",
"completionOptions": {
"stream": false,
"temperature": 0.6,
"maxTokens": "2000"
},
"messages": [
{
"role": "system",
"text": "You are a smart assistant."
},
{
"role": "user",
"text": "Name any three groups of products one can find in a grocery store. For each group, provide three subgroups. Present the result as a JSON object, where each group of products is represented by a key in the JSON object, and arrays from the relevant subgroups are the values. No introductory phrases or explanations needed, just data. Do not use Markdown."
}
]
}
Result:
{
"result": {
"alternatives": [
{
"message": {
"role": "assistant",
"text": "{\n \"meat\": [\"beef\", \"pork\", \"mutton\"],\n \"dairy products\": [\"milk\", \"curd\", \"sour cream\"],\n \"fruit\": [\"apples\", \"bananas\", \"oranges\"]\n}"
},
"status": "ALTERNATIVE_STATUS_FINAL"
}
],
"usage": {
"inputTextTokens": "87",
"completionTokens": "58",
"totalTokens": "145"
},
"modelVersion": "07.03.2024"
}
}
The model returned a response in JSON format with line breaks replaced with \n
and quotation marks escaped.
If you do not get the result you expect using the prompt, try fine-tuning the model in Yandex DataSphere