OpenAI API в проекте Laravel (бэкэнд-реализация не работает)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 OpenAI API в проекте Laravel (бэкэнд-реализация не работает)

Сообщение Anonymous »

В настоящее время я пытаюсь использовать этот API: https://github.com/openai-php/laravel в личном проекте Laravel.
Я действительно не знаю, что это такое. в настоящее время мой код неверен, все, что я могу сказать, это то, что код, описанный ниже, отображает мое сообщение в окне чата, но возвращает ошибку 419 по моему запросу POST: XHR POST http://127.0.0.1:8000/send как а также ошибка выборки: ошибка сервера.
Когда НЕ используется маршрут и контроллер, но предоставляется прямая конечная точка API для JavaScript, я управляю чтобы получить ответ в формате JSON на мое сообщение...
Обратите внимание, что мне бы очень хотелось, чтобы серверная часть работала, а не просто делала это в JS.
Также , я не хотел использовать jQuery, но я бы сделал это, если бы это было возможно помощь.
JavaScript:

Код: Выделить всё

//CSRF TOKEN
const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.openai.com/v1/chat/completions', true);
xhr.setRequestHeader('X-CSRF-TOKEN', csrfToken);

const button = document.getElementById('button-submit');
const chatWindow = document.getElementById('chat-window');
const url = '{{ url('send') }}';

//API FETCH ON BUTTON CLICK
button.addEventListener('click', function (){
const input = document.getElementById('input').value;

chatWindow.innerHTML += `

${input}

[img]{{ asset([/img]

`;

fetch(url, {
method: 'POST',
body: JSON.stringify(input),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer "MY_OPENAI_KEY"'
}
}).then(function(response) {
if (response.ok) {
return response.text();
} else {
throw new Error('Server error.');
}
}).then(function(data) {
chatWindow.innerHTML += `

${data}

[img]{{ asset([/img]

`;
}).catch(function(error) {
console.log('Fetch error:', error.message);
});
});
Web.php:

Код: Выделить всё

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ChatBotController;

Route::get(‘/’, function () {
return view(‘welcome’);
});

Route::post(‘send’, [ChatBotController::class, ‘sendChat’]);
Контроллер:

Код: Выделить всё

public function sendChat(Request $request){
$result = OpenAI::completions()->create([
‘max-token’ => 100,
‘model’ => ‘text-davinci-003’,
‘prompt’ => $request->input
]);

$response = array_reduce(
$result->toArray()['choices'],
fn(string $result, array $choice) => $result . $choice['text'], ""
);

return $response;
}
Спасибо, что уделили время!

Подробнее здесь: https://stackoverflow.com/questions/758 ... oesnt-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»