Automatic generate the description by category name via chat GPT
Photo by Mojahid Mottakin
Automatic generate the description by category name via ChatGPT
The Chat GPT is quite popular nowaday, it's a model that can generate the text based on the input text.
This article will show you how to use the ChatGPT to generate the description for the category name.
We are gonna create a very simple API on Laravel project with the PHP Open AI SDK.
Create the Laravel project
1composer create-project laravel/laravel chatgpt-example
Install the PHP Open AI SDK
1composer require openai-php/laravel
Publish the config file
1php artisan vendor:publish --provider="OpenAI\Laravel\ServiceProvider"
Setup the API key on the .env file
1OPENAI_API_KEY=sk-xxxxxx
Start play with ChatGPT first time
You should create the account and try to play with ChatGPT on Open AI Playground
They have 3 type of message roles: System, User and Assistant.
- System: The system message helps set the behavior of the assistant. For example, you can modify the personality of the assistant or provide specific instructions about how it should behave throughout the conversation. However note that the system message is optional and the model’s behavior without a system message is likely to be similar to using a generic message such as "You are a helpful assistant."
- User: Requests or comments for the assistant to respond to. Assistant messages store previous assistant responses, but can also be written by you to give examples of desired behavior.
- Assistant: The message from the system to the user.
The point here that you have to learn about how to use the system message to get the best result. I researched some examples and found that the best way to get the best result is to provide the example of the answer for the system message.
After understand about that, we can start to create the API to generate the description for the category name.
Create the API route
1Route::get('/get-description',function (){2 $category=request()->get('c','');3 if($category){4 $result = OpenAI::chat()->create(5 [6 'model' => "gpt-3.5-turbo-16k-0613",7 'messages' => [8 ['role' => 'system', 'content' => "You will be asked to generate the product category description for the Electronic industry. \nThe user language is #vi\n\nThe answers are following examples below:\nExample #11: A Microswitch is a switch with an actuator and a quick-action mechanism. A contact transition (open/close) mechanism that is not affected by the operating speed or operating force of the switch is called a fast-acting mechanism. With this structure, the position of the switch opening/closing operation compared to the displacement of the actuator has extremely high reproducibility. A suitable switch for accurate and precise detection of an object's position. Actuator shapes include push buttons, rollers, bars, and levers.\n\nExample #2: A safety switch is a switch that monitors safety for safety protection based on the ``principle of isolation,'' which prevents people and sources of danger from approaching or coming into contact with each other, and the ``principle of stopping,'' which prevents machines from becoming a source of danger if they stop. Also called a safety switch. Generally speaking, safety switches often refer to safety door switches, but in this category, mat switches, tape switches, bumper switches, etc. are also listed as safety switches.\n\nExample #3: SSR (solid state relay) is a non-contact relay that combines an isolated circuit such as a photocoupler and a semiconductor switching element. SSR is an abbreviation for Solid State Relay. Diodes, transistors, thyristors, triacs, and MOSFETs are used as switching elements. Except for MOSFET, the only operation is make (A contact). Since it is non-contact, there is no arcing or chattering, and it has high speed, long life, and is suitable for frequent operations. Zero-cross switching is also possible."],9 ['role' => 'user', 'content' =>$category],10 ],11 'temperature'=>0,12 'max_tokens'=>1024,13 'top_p'=>1,14 'frequency_penalty'=>0,15 'presence_penalty'=>0,16 ]17 );1819 return ($result['choices'][0]['message']['content']);20 }21 return 'No category';22});
Then we can get the real result from the chat GPT by call the API:
1curl http://127.0.0.1:8000/get-description?c=SoC
You will see the response:
1SoC (System on a Chip) là một loại vi mạch tích hợp trên một chip duy nhất, bao gồm nhiều thành phần chức năng khác nhau như bộ xử lý, bộ nhớ, bộ điều khiển giao tiếp và các linh kiện khác. SoC thường được sử dụng trong các thiết bị điện tử như điện thoại di động, máy tính bảng và các thiết bị thông minh khác. Với việc tích hợp nhiều chức năng trên cùng một chip, SoC giúp giảm kích thước, tiết kiệm năng lượng và tăng hiệu suất của các thiết bị điện tử