by Devin Yang
(This article was automatically translated.)

Published - 2 years ago ( Updated - 2 years ago )

It seems that everyone is talking about OpenAI recently. If you want to play, you can write a simple API test in Laravel's API.
Because you can use curl to call, you can call through guzzle.

If you log in to the openai website, you can see the official teaching instructions here
https://beta.openai.com/docs/quickstart/build-your-application

API KEY application, just in There is a button at the bottom of this page

+ Create new secret key


Then add the key to Laravel's .env, here I named it
OPENAI_KEY=* 100017*
Add /openai function in routes/api.php

use GuzzleHttp\Client;
use GuzzleHttp\Exception\ClientException;
Route::get('/openai', function (Request $r) {
    if(empty($r->text)){
        return sprintf("Call API:
%s/api/openapi?text=question",env("APP_URL")); } $client = new Client; $api_url = "https://api.openai.com/v1/completions"; $json = <<text", "temperature": 0.9, "max_tokens": 150, "top_p": 1, "frequency_penalty": 0.0, "presence_penalty": 0.6, "stop": ["Human:", "AI:"] } JSON; $json = json_decode(preg_replace('/[\x00-\x1F]/', '', $json), true); try { $r = $client->request('POST', $api_url, [ 'headers' => [ 'Authorization' => 'Bearer ' .env("OPENAI_KEY") ], 'json' => $json ]); } catch (ClientException $e) { return json_decode($e->getResponse()->getBody()->getContents(), true); } return $r; });


Then open the /api/openai?text= of your Laravel project and you can enter the test

There are a lot of examples on the official website for reference. How to set the Json
https://beta.openai.com/examples/

Tags: openapi ai laravel

Devin Yang

Feel free to ask me, if you don't get it.:)

No Comment

Post your comment

Login is required to leave comments

Similar Stories


laravel

Customize your own helper in laravel

In the Laravel framework, a considerable number of PHP functions (php functions), called helpers, are included. https://laravel.com/docs/5.6/helpers So how do we customize our own helper in Laravel? It's actually quite simple.. Just add files in autoload in composer.json.

laravel, livewire

livewire important notes

Before starting your Livewire journey, here are three basic considerations about public properties: 1. The property name must not conflict with a property name reserved for Livewire (such as $rules or $message) 2. Store in Data in public properties is visible to front-end JavaScript. Therefore, you should not store sensitive data in it. 3. Properties can only be JavaScript-friendly data types (string, integer, array, boolean), or one of the following PHP types: Stringable, Collection, DateTime, Model, EloquentCollection.

laravel,trait,php

My Browser Trait, webp image file support function detection and whether it is a mobile phone detection

I believe that many people are familiar with PHP trait, because Laravel can be seen everywhere, but I still write it and share it with those who are destined. PHP trait allows two different CLASS to use the same method. It not only reduces the complexity, but also allows the code to be reused. So it should be very convenient to put a Browser series function on Laravel's ViewServiceProvider 😝