สร้าง Open AI ใน Laravel อย่างไร #อ่านบทควทม


 1. สร้างตัวอย่าง chatbot จาก Telegram และ botman

2. สมัครใช้งาน bot 

3. ระบบหลังบ้าน

4. ทดสอบและใช้งาน

  1. ติดตั้ง composer require openai-php/laravel
  2. แก้ไขและเพิ่ท vendor php artisan vendor:publish --provider="OpenAI\Laravel\ServiceProvider"
  3. ใส่ open ai keyในไฟล์ config/openai.php OPENAI_API_KEY=sk-...
  4. เรียกใช้งาน 
 use OpenAI\Laravel\Facades\OpenAI;
$result = OpenAI::completions()->create([

        'model' => 'text-davinci-003',
          'prompt' => 'PHP is',
      ]);
        echo $result['choices'][0]['text']; // an open-source, widely-used, server-side scripting language.

        ส่วนของ Client

        ติดตั้ง
        composer require openai-php/client
        composer require guzzlehttp/guzzle

        เรียกใช่
        $yourApiKey = getenv('YOUR_API_KEY');
        $client = OpenAI::client($yourApiKey);

        $result = $client->completions()->create([
            'model' => 'text-davinci-003',
            'prompt' => 'PHP is',
        ]);

        echo $result['choices'][0]['text']; // an open-source, widely-used, server-side scripting language.

        ส่วนเรียกใช้ client


        $yourApiKey = getenv('YOUR_API_KEY');

        $client = OpenAI::factory()
            ->withApiKey($yourApiKey)
            ->withOrganization('your-organization') // default: null
            ->withBaseUri('openai.example.com/v1') // default: api.openai.com/v1
            ->withHttpClient($client = new \GuzzleHttp\Client([])) // default: HTTP client found using PSR-18 HTTP Client Discovery
            ->withHttpHeader('X-My-Header', 'foo')
            ->withQueryParam('my-param', 'bar')
            ->withStreamHandler(fn (RequestInterface $request): ResponseInterface => $client->send($request, [
                'stream' => true // Allows to provide a custom stream handler for the http client.
            ]))
            ->make();

        เรียกใช้ แสดงรายการ Model


        $response = $client->models()->list();

        $response->object; // 'list'

        foreach ($response->data as $result) {
            $result->id; // 'text-davinci-003'
            $result->object; // 'model'
            // ...
        }

        $response->toArray(); // ['object' => 'list', 'data' => [...]]

        ค้นคืน retrieve
        $response = $client->models()->retrieve('text-davinci-003');

        $response->id; // 'text-davinci-003'
        $response->object; // 'model'
        $response->created; // 1642018370
        $response->ownedBy; // 'openai'
        $response->root; // 'text-davinci-003'
        $response->parent; // null

        foreach ($response->permission as $result) {
            $result->id; // 'modelperm-7E53j9OtnMZggjqlwMxW4QG7' 
            $result->object; // 'model_permission' 
            $result->created; // 1664307523 
            $result->allowCreateEngine; // false 
            $result->allowSampling; // true 
            $result->allowLogprobs; // true 
            $result->allowSearchIndices; // false 
            $result->allowView; // true 
            $result->allowFineTuning; // false 
            $result->organization; // '*' 
            $result->group; // null 
            $result->isBlocking; // false 
        }

        $response->toArray(); // ['id' => 'text-davinci-003', ...]

        ลบ model
        $response = $client->models()->delete('curie:ft-acmeco-2021-03-03-21-44-20');

        $response->id; // 'curie:ft-acmeco-2021-03-03-21-44-20'
        $response->object; // 'model'
        $response->deleted; // true

        $response->toArray(); // ['id' => 'curie:ft-acmeco-2021-03-03-21-44-20', ...]

        ความคิดเห็น