Search
Write a publication
Pull to refresh

Добавил в клиент ChatGPT возможность создавать и использовать внешние функции:

Для примера сделал две команды: "Узнать погоду" и "Выполнить команду через cmd"

Функции чата GPT - это механизм их API, который позволяет GPT вызывать по необходимости функции, которые вы регистрируете (отправляете в запросе как доступные) и работать с результатом их выполнения.

Подробнее

Достаточно интересный и опасный механизм. Во избежании проблем, которые могут возникнуть я добавил настройку, которая позволяет подтверждать выполнение функции и просмотреть параметры, с которыми будет вызвана функция.

Функции можно подключать в качестве динамической библиотеки, которая экспортирует функцию gptfunctions, которая в свою очередь возвращает массив объектов, которые представляют функции - объекты типа IChatFunctionExternal.

function gptfunctions: TArray<IChatFunctionExternal>;
begin
  Result := [TChatFunctionCMD.Create];
end;
  IChatFunctionExternal = interface
    ['{B2DACD74-B773-44C2-838D-43BF99CB5405}']
    function GetDescription: WideString;                  //Example: 'Get the current weather in a given location'
    function GetName: WideString;                         //Example: 'get_current_weather'
    function GetParameters: WideString;                   //JSON Scheme
    function Execute(const Args: WideString): WideString; //Args - json with params, result - json with info
  end;

GPT без проблем может вывести список файлов и даже показать содержимое (с кириллицей я пока не разобрался).

Total votes 2: ↑2 and ↓0+2
Comments0

Articles