Перейти к основному содержимому

Получить ответ в контексте

Получает очередной ответ от модели в соответствии с историей сообщений

Функция ПолучитьОтветВКонтексте(Знач URL, Знач Модель, Знач Сообщения, Знач ДопПараметры = "", Знач ДопЗаголовки = "") Экспорт

ПараметрCLI опцияТипОбяз.Назначение
URL--urlСтрокаURL сервера Ollama
Модель--modelСтрокаИмя модели
Сообщения--msgsМассив Из СтруктураИстория сообщений. См. ПолучитьСтруктуруСообщенияКонтекста
ДопПараметры--optionsСтруктура Из КлючИЗначениеДоп. параметры. См. ПолучитьСтруктуруПараметровЗапроса
ДопЗаголовки--headersСоответствие Из КлючИЗначениеДоп заголовки запроса, если необходимо

Возвращаемое значение: Соответствие Из КлючИЗначение - Результат обработки


подсказка

Метод в документации API: Generate a chat completion


Пример использования для 1С:Предприятие/OneScript
    URL   = "https://api.athenaeum.digital/ollama";
Токен = "10KO..."; // Авторизация - не часть API Ollama

ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));

Модель = "tinyllama";

МассивСообщений = Новый Массив;

Вопрос1 = OPI_Ollama.ПолучитьСтруктуруСообщенияКонтекста("user", "What is 1C:Enterprise?");
Вопрос2 = OPI_Ollama.ПолучитьСтруктуруСообщенияКонтекста("user", "When the first version was released?"); // Вопрос без конкретики

// Добавляем первый вопрос в контекст
МассивСообщений.Добавить(Вопрос1);

Ответ1 = OPI_Ollama.ПолучитьОтветВКонтексте(URL, Модель, МассивСообщений, , ДопЗаголовки);

МассивСообщений.Добавить(Ответ1["message"]); // Добавляем ответ на первый вопрос в контекст
МассивСообщений.Добавить(Вопрос2); // Добавляем второй вопрос в контекст

Ответ2 = OPI_Ollama.ПолучитьОтветВКонтексте(URL, Модель, МассивСообщений, , ДопЗаголовки);

МассивСообщений.Добавить(Ответ2["message"]);

// ...
Результат
{
"model": "tinyllama",
"created_at": "2025-04-14T20:16:54.5071968Z",
"message": {
"role": "assistant",
"content": "The first version of 1C:Enterprise was released in 2001. However, the latest version (version 21) was released in 2021. The company has continued to make minor updates and upgrades to the software over time, including bug fixes and improvements."
},
"done_reason": "stop",
"done": true,
"total_duration": 21319004300,
"load_duration": 16999000,
"prompt_eval_count": 172,
"prompt_eval_duration": 11457001500,
"eval_count": 64,
"eval_duration": 9843003800
}