| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php declare(strict_types = 1);
- require_once __DIR__ . '/../vendor/autoload.php';
- ini_set('display_errors', 1);
- ini_set('error_reporting', E_ALL);
- #ini_set('variables_order', 'E');
- #ini_set('request_order', 'CGP');
- const PROJECT_PATH = __DIR__ . '/../';
- use Formstack\FormAutoScaffold\Framework\Main;
- use Formstack\FormAutoScaffold\FormstackAPI;
- $main = new Main(PROJECT_PATH);
- $main->run();
- #[Route('/api.php', 'POST')]
- function ok(array $args): void
- {
- $args = array_filter($args);
- global $json_cache;
- global $main;
- $dept = $args['dept'] ?? '';
- $industry = $args['industry'] ?? '';
- $name = $args['name'] ?? '';
- $fields = $args['fields'] ?? '';
- $prompt_file = $main->getConf('settings', 'prompt_file');
- $prompt = file_get_contents(PROJECT_PATH . $prompt_file);
- $prompt = str_replace('${DEPT}', $dept, $prompt);
- $prompt = str_replace('${INDUSTRY}', $industry, $prompt);
- $prompt = str_replace('${NAME}', $name, $prompt);
- $prompt = str_replace('${FIELDS}', $fields, $prompt);
- // Connect to Open AI and pass code
- $aiKey = $args['ai_tok'] ?? $main->getConf('settings', 'gpt_key');
- $openai = OpenAI::client($aiKey);
- $result = $openai->completions()->create([
- 'model' => 'gpt-3.5-turbo-instruct',
- 'prompt' => $prompt,
- 'max_tokens' => 4097 - strlen($prompt),
- 'temperature' => 0.3,
- ]);
- $json = $result['choices'][0]['text'];
- $main->log($json);
- $form_desc = json_decode($json, true, 512, \JSON_THROW_ON_ERROR & \JSON_INVALID_UTF8_IGNORE & \JSON_OBJECT_AS_ARRAY);
- $main->log(json_encode($form_desc));
- $fsApi = new FormstackAPI($main);
- $form = $fsApi->createForm($form_desc);
- header('Location: ' . $form['url'] ?? '');
- }
|