{"id":9204,"date":"2023-04-17T09:08:00","date_gmt":"2023-04-17T02:08:00","guid":{"rendered":"https:\/\/idconline.vn\/blog\/?p=9204"},"modified":"2023-06-02T11:00:33","modified_gmt":"2023-06-02T04:00:33","slug":"phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5","status":"publish","type":"post","link":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/","title":{"rendered":"Ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n b\u1eb1ng Python v\u00e0 GPT-3.5"},"content":{"rendered":"\n<p><em>B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng s\u1ee9c m\u1ea1nh c\u1ee7a GPT-3.5 \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n<\/em>.<\/p>\n\n\n\n<p>\u0110\u00e2y l\u00e0 m\u1ed9t th\u1eddi \u0111\u1ea1i khi c\u00e1c b\u01b0\u1edbc \u0111\u1ed9t ph\u00e1 v\u1ec1 tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o ng\u00e0y c\u00e0ng m\u1ed9t nhi\u1ec1u. M\u1ed9t v\u00e0i n\u0103m tr\u01b0\u1edbc, ch\u00fang ta ch\u01b0a c\u00f3 nhi\u1ec1u v\u0103n b\u1ea3n \u0111\u01b0\u1ee3c t\u1ea1o b\u1edfi tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o c\u00f4ng khai. Nh\u01b0ng b\u00e2y gi\u1edd c\u00f4ng ngh\u1ec7 n\u00e0y \u0111\u00e3 tr\u1edf n\u00ean d\u1ec5 d\u00e0ng ti\u1ebfp c\u1eadn v\u1edbi m\u1ecdi ng\u01b0\u1eddi. \u0110i\u1ec1u n\u00e0y r\u1ea5t t\u1ed1t cho c\u00e1c c\u00e1 nh\u00e2n hay c\u00f4ng ty mu\u1ed1n t\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t s\u1ea3n ph\u1ea9m ph\u1ee9c t\u1ea1p m\u00e0 kh\u00f4ng m\u1ea5t qu\u00e1 nhi\u1ec1u th\u1eddi gian.<\/p>\n\n\n\n<p>M\u1ed9t trong nh\u1eefng b\u01b0\u1edbc \u0111\u1ed9t ph\u00e1 \u0111\u00e1ng kinh ng\u1ea1c nh\u1ea5t v\u00e0 l\u00e0m thay \u0111\u1ed5i c\u00e1ch ch\u00fang ta l\u00e0m vi\u1ec7c. \u0110\u00f3 l\u00e0 vi\u1ec7c ph\u00e1t h\u00e0nh m\u00f4 h\u00ecnh GPT-3.5 c\u1ee7a OpenAI. M\u00f4 h\u00ecnh GPT-3.5 l\u00e0 g\u00ec? N\u1ebfu \u0111\u1ec3 cho m\u00f4 h\u00ecnh t\u1ef1 n\u00f3i th\u00ec c\u00e2u tr\u1ea3 l\u1eddi l\u00e0 &#8220;m\u1ed9t m\u00f4 h\u00ecnh tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o cao c\u1ea5p trong l\u0129nh v\u1ef1c x\u1eed l\u00fd ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean, v\u1edbi nh\u1eefng c\u1ea3i ti\u1ebfn \u0111\u00e1ng k\u1ec3 trong vi\u1ec7c t\u1ea1o ra v\u0103n b\u1ea3n c\u00f3 li\u00ean quan v\u00e0 ch\u00ednh x\u00e1c v\u1ec1 ng\u1eef c\u1ea3nh&#8221;.<\/p>\n\n\n\n<p>OpenAI cung c\u1ea5p m\u1ed9t API cho m\u00f4 h\u00ecnh GPT-3.5. Th\u1ee9 m\u00e0 ch\u00fang ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t \u1ee9ng d\u1ee5ng \u0111\u01a1n gi\u1ea3n. Ch\u1eb3ng h\u1ea1n nh\u01b0 m\u1ed9t c\u00f4ng c\u1ee5 t\u00f3m t\u1eaft v\u0103n b\u1ea3n. \u0110\u1ec3 l\u00e0m \u0111i\u1ec1u \u0111\u00f3, ch\u00fang ta c\u1ea7n s\u1eed d\u1ee5ng Python \u0111\u1ec3 t\u00edch h\u1ee3p m\u00f4 h\u00ecnh API v\u00e0o \u1ee9ng d\u1ee5ng c\u1ee7a ch\u00fang ta m\u1ed9t c\u00e1ch d\u1ec5 d\u00e0ng. Qu\u00e1 tr\u00ecnh \u0111\u00f3 tr\u00f4ng nh\u01b0 th\u1ebf n\u00e0o? H\u00e3y t\u00ecm hi\u1ec3u chi ti\u1ebft h\u01a1n.<\/p>\n\n\n\n<div id=\"toc_container\" class=\"toc_white no_bullets\"><p class=\"toc_title\">M\u1ee5c l\u1ee5c<\/p><ul class=\"toc_list\"><li><a href=\"#Dieu_kien_ban_can_co\">\u0110i\u1ec1u ki\u1ec7n b\u1ea1n c\u1ea7n c\u00f3<\/a><\/li><li><a href=\"#Hieu_ro_ve_GPT-35_OpenAI_API\">Hi\u1ec3u r\u00f5 v\u1ec1 GPT-3.5 OpenAI API<\/a><ul><li><a href=\"#Cai_dat_goi_OpenAI\">C\u00e0i \u0111\u1eb7t g\u00f3i OpenAI<\/a><\/li><li><a href=\"#Ma_tao_ung_dung_tom_tat_van_ban\">M\u00e3 t\u1ea1o \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n<\/a><\/li><li><a href=\"#Phan_tich_doan_code\">Ph\u00e2n t\u00edch \u0111o\u1ea1n code<\/a><\/li><li><a href=\"#Doan_code_trong_summarizer_apppy\">\u0110o\u1ea1n code trong summarizer_app.py<\/a><\/li><\/ul><\/li><li><a href=\"#Ung_dung_Tom_tat_Van_ban_voi_Streamlit\">\u1ee8ng d\u1ee5ng T\u00f3m t\u1eaft V\u0103n b\u1ea3n v\u1edbi Streamlit<\/a><ul><li><a href=\"#Cai_dat_goi_streamlit\">C\u00e0i \u0111\u1eb7t g\u00f3i streamlit<\/a><\/li><li><a href=\"#Khoi_dong_ung_dung\">Kh\u1edfi \u0111\u1ed9ng \u1ee9ng d\u1ee5ng<\/a><\/li><li><a href=\"#Giai_thich_doan_code\">Gi\u1ea3i th\u00edch \u0111o\u1ea1n code<\/a><\/li><\/ul><\/li><li><a href=\"#Chay_thu_ung_dung_de_tom_tat_mot_van_ban\">Ch\u1ea1y th\u1eed \u1ee9ng d\u1ee5ng \u0111\u1ec3 t\u00f3m t\u1eaft m\u1ed9t v\u0103n b\u1ea3n<\/a><\/li><li><a href=\"#Ket_luan\">K\u1ebft lu\u1eadn<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\"><span id=\"Dieu_kien_ban_can_co\">\u0110i\u1ec1u ki\u1ec7n b\u1ea1n c\u1ea7n c\u00f3<\/span><\/h2>\n\n\n\n<p>C\u00f3 m\u1ed9t s\u1ed1 \u0111i\u1ec1u ki\u1ec7n ti\u00ean quy\u1ebft tr\u01b0\u1edbc khi l\u00e0m theo h\u01b0\u1edbng d\u1eabn n\u00e0y, bao g\u1ed3m:<\/p>\n\n\n\n<ul>\n<li>Hi\u1ec3u bi\u1ebft v\u1ec1 Python, bao g\u1ed3m vi\u1ec7c s\u1eed d\u1ee5ng c\u00e1c th\u01b0 vi\u1ec7n b\u00ean ngo\u00e0i v\u00e0 IDE<\/li>\n\n\n\n<li>Hi\u1ec3u bi\u1ebft v\u1ec1 c\u00e1c API v\u00e0 x\u1eed l\u00fd \u0111i\u1ec3m cu\u1ed1i b\u1eb1ng Python<\/li>\n\n\n\n<li>C\u00f3 quy\u1ec1n truy c\u1eadp v\u00e0o c\u00e1c API c\u1ee7a OpenAI<\/li>\n<\/ul>\n\n\n\n<p>\u0110\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c quy\u1ec1n truy c\u1eadp v\u00e0o API c\u1ee7a OpenAI. Ch\u00fang ta ph\u1ea3i \u0111\u0103ng k\u00fd tr\u00ean N\u1ec1n t\u1ea3ng ph\u00e1t tri\u1ec3n vi\u00ean c\u1ee7a OpenAI v\u00e0 truy c\u1eadp v\u00e0o ch\u1ebf \u0111\u1ed9 Xem c\u00e1c kh\u00f3a API trong h\u1ed3 s\u01a1 c\u1ee7a b\u1ea1n. Tr\u00ean web, nh\u1ea5p v\u00e0o n\u00fat &#8220;T\u1ea1o kh\u00f3a b\u00ed m\u1eadt m\u1edbi&#8221; \u0111\u1ec3 c\u00f3 quy\u1ec1n truy c\u1eadp API (xem h\u00ecnh \u1ea3nh b\u00ean d\u01b0\u1edbi). H\u00e3y nh\u1edb l\u01b0u l\u1ea1i c\u00e1c kh\u00f3a n\u00e0y, v\u00ec ch\u00fang s\u1ebd kh\u00f4ng \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb l\u1ea1i sau \u0111\u00f3.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"952\" height=\"369\" src=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_5-1.png\" alt=\"\" class=\"wp-image-9220\" srcset=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_5-1.png 952w, https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_5-1-300x116.png 300w, https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_5-1-768x298.png 768w\" sizes=\"(max-width: 952px) 100vw, 952px\" \/><\/figure>\n\n\n\n<p>V\u1edbi t\u1ea5t c\u1ea3 c\u00e1c chu\u1ea9n b\u1ecb \u0111\u00e3 s\u1eb5n s\u00e0ng, h\u00e3y c\u1ed1 g\u1eafng hi\u1ec3u c\u01a1 b\u1ea3n v\u1ec1 m\u00f4 h\u00ecnh API c\u1ee7a OpenAI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Hieu_ro_ve_GPT-35_OpenAI_API\">Hi\u1ec3u r\u00f5 v\u1ec1 GPT-3.5 OpenAI API<\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/platform.openai.com\/docs\/models\/gpt-3-5\" target=\"_blank\" rel=\"noreferrer noopener\">M\u00f4 h\u00ecnh t\u1ed5 ch\u1ee9c GPT-3.5<\/a> \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh cho nhi\u1ec1u nhi\u1ec7m v\u1ee5 ng\u00f4n ng\u1eef, v\u00e0 m\u1ed7i m\u00f4 h\u00ecnh trong \u0111\u00f3 ho\u00e0n th\u00e0nh xu\u1ea5t s\u1eafc c\u00e1c nhi\u1ec7m v\u1ee5 c\u1ee7a n\u00f3. V\u00ed d\u1ee5 h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng m\u00f4 h\u00ecnh <code>gpt-3.5-turbo<\/code> v\u00ec \u0111\u00e2y l\u00e0 m\u00f4 h\u00ecnh \u0111\u01b0\u1ee3c khuy\u1ebfn ngh\u1ecb hi\u1ec7n t\u1ea1i khi b\u00e0i vi\u1ebft n\u00e0y \u0111\u01b0\u1ee3c vi\u1ebft. V\u00ec kh\u1ea3 n\u0103ng v\u00e0 hi\u1ec7u qu\u1ea3 chi ph\u00ed c\u1ee7a n\u00f3 \u0111em l\u1ea1i l\u00e0 t\u1ed1i \u01b0u.<\/p>\n\n\n\n<p>Ch\u00fang t\u00f4i th\u01b0\u1eddng s\u1eed d\u1ee5ng <code>text-davinci-003<\/code> trong h\u01b0\u1edbng d\u1eabn c\u1ee7a OpenAI. Nh\u01b0ng ch\u00fang t\u00f4i s\u1ebd s\u1eed d\u1ee5ng m\u00f4 h\u00ecnh hi\u1ec7n t\u1ea1i cho h\u01b0\u1edbng d\u1eabn n\u00e0y. Ch\u00fang t\u00f4i s\u1ebd ph\u1ee5 thu\u1ed9c v\u00e0o \u0111i\u1ec3m cu\u1ed1i <a href=\"https:\/\/platform.openai.com\/docs\/api-reference\/chat\/create\" target=\"_blank\" rel=\"noreferrer noopener\">ChatCompletion<\/a> thay v\u00ec Completion. V\u00ec m\u00f4 h\u00ecnh \u0111\u01b0\u1ee3c khuy\u1ebfn ngh\u1ecb hi\u1ec7n t\u1ea1i l\u00e0 m\u1ed9t m\u00f4 h\u00ecnh tr\u00f2 chuy\u1ec7n. Ngay c\u1ea3 khi t\u00ean l\u00e0 m\u1ed9t m\u00f4 h\u00ecnh tr\u00f2 chuy\u1ec7n, n\u00f3 v\u1eabn ho\u1ea1t \u0111\u1ed9ng cho b\u1ea5t k\u1ef3 y\u00eau c\u1ea7u v\u1ec1 ng\u00f4n ng\u1eef n\u00e0o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Cai_dat_goi_OpenAI\">C\u00e0i \u0111\u1eb7t g\u00f3i OpenAI<\/span><\/h3>\n\n\n\n<p>B\u1ea1n n\u00ean hi\u1ec3u \u0111\u01b0\u1ee3c c\u00e1ch API ho\u1ea1t \u0111\u1ed9ng. Tr\u01b0\u1edbc ti\u00ean, ch\u00fang ta c\u1ea7n c\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i OpenAI hi\u1ec7n t\u1ea1i.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install openai<\/code><\/pre>\n\n\n\n<p>Sau khi ch\u00fang ta \u0111\u00e3 ho\u00e0n th\u00e0nh vi\u1ec7c c\u00e0i \u0111\u1eb7t g\u00f3i. Ch\u00fang ta s\u1ebd th\u1eed s\u1eed d\u1ee5ng API b\u1eb1ng c\u00e1ch k\u1ebft n\u1ed1i th\u00f4ng qua \u0111i\u1ec3m cu\u1ed1i ChatCompletion. Tuy nhi\u00ean, tr\u01b0\u1edbc khi ti\u1ebfp t\u1ee5c, ch\u00fang ta c\u1ea7n thi\u1ebft l\u1eadp m\u00f4i tr\u01b0\u1eddng.<\/p>\n\n\n\n<p>Trong tr\u00ecnh bi\u00ean t\u1eadp y\u00eau th\u00edch c\u1ee7a b\u1ea1n (v\u1edbi t\u00f4i l\u00e0 VS Code), t\u1ea1o hai t\u1ec7p c\u00f3 t\u00ean <code>.env<\/code> v\u00e0 <code>summarizer_app.py<\/code>, t\u01b0\u01a1ng t\u1ef1 nh\u01b0 h\u00ecnh \u1ea3nh b\u00ean d\u01b0\u1edbi.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"235\" height=\"68\" src=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_1-1.png\" alt=\"\" class=\"wp-image-9221\"\/><\/figure><\/div>\n\n\n<p>T\u1ec7p <code>summarizer_app.py<\/code> s\u1ebd l\u00e0 n\u01a1i ch\u00fang ta x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft \u0111\u01a1n gi\u1ea3n c\u1ee7a ch\u00fang ta. T\u1ec7p <code>.env<\/code> l\u00e0 n\u01a1i ch\u00fang ta s\u1ebd l\u01b0u tr\u1eef API Key c\u1ee7a m\u00ecnh. V\u00ec l\u00fd do b\u1ea3o m\u1eadt, ch\u00fang t\u00f4i lu\u00f4n khuy\u1ebfn kh\u00edch t\u00e1ch API key c\u1ee7a ch\u00fang ta th\u00e0nh m\u1ed9t t\u1ec7p ri\u00eang bi\u1ec7t thay v\u00ec m\u00e3 h\u00f3a ch\u00fang trong t\u1ec7p Python.<\/p>\n\n\n\n<p>Trong t\u1ec7p <code>.env<\/code>, \u0111\u1eb7t c\u00fa ph\u00e1p sau v\u00e0 l\u01b0u t\u1ec7p. Thay your_api_key_here b\u1eb1ng API key th\u1ef1c t\u1ebf c\u1ee7a b\u1ea1n. \u0110\u1eebng thay \u0111\u1ed5i API key th\u00e0nh m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng chu\u1ed7i; \u0111\u1ec3 ch\u00fang nguy\u00ean v\u1eb9n nh\u01b0 v\u1eady.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OPENAI_API_KEY=your_api_key_here<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Ma_tao_ung_dung_tom_tat_van_ban\">M\u00e3 t\u1ea1o \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n<\/span><\/h3>\n\n\n\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 API GPT-3.5, ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng \u0111o\u1ea1n code sau \u0111\u1ec3 t\u1ea1o ra \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openai.ChatCompletion.create(\n    model=\"gpt-3.5-turbo\",\n    max_tokens=100,\n    temperature=0.7,\n    top_p=0.5,\n    frequency_penalty=0.5,\n    messages=&#91;\n        {\n          \"role\": \"system\",\n          \"content\": \"You are a helpful assistant for text summarization.\",\n        },\n        {\n          \"role\": \"user\",\n          \"content\": f\"Summarize this for a {person_type}: {prompt}\",\n        },\n    ],\n)<\/code><\/pre>\n\n\n\n<p>\u0110o\u1ea1n code tr\u00ean l\u00e0 c\u00e1ch ch\u00fang ta t\u01b0\u01a1ng t\u00e1c v\u1edbi m\u00f4 h\u00ecnh API GPT-3.5 c\u1ee7a OpenAI. S\u1eed d\u1ee5ng API ChatCompletion, ch\u00fang ta t\u1ea1o ra m\u1ed9t cu\u1ed9c tr\u00f2 chuy\u1ec7n v\u00e0 nh\u1eadn \u0111\u01b0\u1ee3c k\u1ebft qu\u1ea3 mong mu\u1ed1n sau khi truy\u1ec1n prompt v\u00e0o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Phan_tich_doan_code\">Ph\u00e2n t\u00edch \u0111o\u1ea1n code<\/span><\/h3>\n\n\n\n<p>H\u00e3y ph\u00e2n t\u00edch t\u1eebng ph\u1ea7n \u0111\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n. Trong d\u00f2ng \u0111\u1ea7u ti\u00ean, ch\u00fang ta s\u1eed d\u1ee5ng m\u00e3 <code>openai.ChatCompletion.create<\/code> \u0111\u1ec3 t\u1ea1o ph\u1ea3n h\u1ed3i t\u1eeb prompt m\u00e0 ch\u00fang ta s\u1ebd truy\u1ec1n v\u00e0o API.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u00dd ngh\u0129a c\u00e1c tham s\u1ed1<\/h4>\n\n\n\n<p>Trong d\u00f2ng ti\u1ebfp theo, ch\u00fang ta c\u00f3 c\u00e1c si\u00eau tham s\u1ed1 m\u00e0 ch\u00fang ta s\u1eed d\u1ee5ng \u0111\u1ec3 c\u1ea3i thi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 v\u0103n b\u1ea3n c\u1ee7a m\u00ecnh. Sau \u0111\u00e2y l\u00e0 t\u00f3m t\u1eaft v\u1ec1 c\u00e1c ch\u1ee9c n\u0103ng si\u00eau tham s\u1ed1:<\/p>\n\n\n\n<ul>\n<li><strong><code>model<\/code><\/strong>: Phi\u00ean b\u1ea3n m\u00f4 h\u00ecnh m\u00e0 ch\u00fang ta mu\u1ed1n s\u1eed d\u1ee5ng. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang ta s\u1eed d\u1ee5ng m\u00f4 h\u00ecnh \u0111\u01b0\u1ee3c khuy\u1ebfn ngh\u1ecb hi\u1ec7n t\u1ea1i (<code>gpt-3.5-turbo<\/code>).<\/li>\n\n\n\n<li><strong><code>max_tokens<\/code><\/strong>: Gi\u1edbi h\u1ea1n tr\u00ean c\u1ee7a s\u1ed1 t\u1eeb \u0111\u01b0\u1ee3c t\u1ea1o b\u1edfi m\u00f4 h\u00ecnh. N\u00f3 gi\u00fap gi\u1edbi h\u1ea1n \u0111\u1ed9 d\u00e0i c\u1ee7a v\u0103n b\u1ea3n \u0111\u01b0\u1ee3c t\u1ea1o ra.<\/li>\n\n\n\n<li><strong><code>temperature<\/code><\/strong>: M\u1ee9c \u0111\u1ed9 ng\u1eabu nhi\u00ean c\u1ee7a \u0111\u1ea7u ra c\u1ee7a m\u00f4 h\u00ecnh, v\u1edbi nhi\u1ec7t \u0111\u1ed9 cao h\u01a1n c\u00f3 ngh\u0129a l\u00e0 k\u1ebft qu\u1ea3 \u0111a d\u1ea1ng v\u00e0 s\u00e1ng t\u1ea1o h\u01a1n. Gi\u00e1 tr\u1ecb n\u1eb1m trong kho\u1ea3ng t\u1eeb 0 \u0111\u1ebfn v\u00f4 c\u00f9ng. M\u1eb7c d\u00f9 gi\u00e1 tr\u1ecb l\u1edbn h\u01a1n 2 kh\u00f4ng ph\u1ed5 bi\u1ebfn.<\/li>\n\n\n\n<li><strong><code>top_p<\/code><\/strong>: Top P ho\u1eb7c top-k sampling ho\u1eb7c s\u1ef1 l\u1ef1a ch\u1ecdn \u0111\u1ec9nh h\u1ea1t nh\u00e2n l\u00e0 m\u1ed9t tham s\u1ed1 \u0111\u1ec3 \u0111i\u1ec1u khi\u1ec3n b\u1ec3 m\u1eabu t\u1eeb ph\u00e2n ph\u1ed1i \u0111\u1ea7u ra. V\u00ed d\u1ee5, gi\u00e1 tr\u1ecb 0.1 c\u00f3 ngh\u0129a l\u00e0 m\u00f4 h\u00ecnh ch\u1ec9 l\u1ea5y m\u1eabu \u0111\u1ea7u ra t\u1eeb 10% \u0111\u1ea7u c\u1ee7a ph\u00e2n ph\u1ed1i. Ph\u1ea1m vi gi\u00e1 tr\u1ecb t\u1eeb 0 \u0111\u1ebfn 1; gi\u00e1 tr\u1ecb c\u00e0ng cao th\u00ec k\u1ebft qu\u1ea3 c\u00e0ng \u0111a d\u1ea1ng.<\/li>\n\n\n\n<li><strong><code>frequency_penalty<\/code><\/strong>: M\u1ee9c \u0111\u1ed9 cho c\u00e1c t\u1eeb l\u1eb7p l\u1ea1i t\u1eeb \u0111\u1ea7u ra. Ph\u1ea1m vi gi\u00e1 tr\u1ecb t\u1eeb -2 \u0111\u1ebfn 2, trong \u0111\u00f3 gi\u00e1 tr\u1ecb d\u01b0\u01a1ng s\u1ebd ng\u0103n m\u00f4 h\u00ecnh l\u1eb7p l\u1ea1i token. Trong khi gi\u00e1 tr\u1ecb \u00e2m khuy\u1ebfn kh\u00edch m\u00f4 h\u00ecnh s\u1eed d\u1ee5ng t\u1eeb l\u1eb7p l\u1ea1i nhi\u1ec1u h\u01a1n. Gi\u00e1 tr\u1ecb 0 c\u00f3 ngh\u0129a l\u00e0 kh\u00f4ng c\u00f3 m\u1ee9c \u0111\u1ed9 n\u00e0o.<\/li>\n\n\n\n<li><strong><code>messages<\/code><\/strong>: Tham s\u1ed1 m\u00e0 ch\u00fang ta truy\u1ec1n prompt v\u0103n b\u1ea3n c\u1ee7a m\u00ecnh \u0111\u1ec3 x\u1eed l\u00fd v\u1edbi m\u00f4 h\u00ecnh. Ch\u00fang ta truy\u1ec1n m\u1ed9t danh s\u00e1ch c\u00e1c t\u1eeb \u0111i\u1ec3n, trong \u0111\u00f3 key l\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng &#8220;system&#8221;, &#8220;user&#8221;, ho\u1eb7c &#8220;assistant&#8221; gi\u00fap m\u00f4 h\u00ecnh hi\u1ec3u \u0111\u01b0\u1ee3c ng\u1eef c\u1ea3nh v\u00e0 c\u1ea5u tr\u00fac trong khi values l\u00e0 v\u0103n b\u1ea3n context.\n<ul>\n<li>Vai tr\u00f2 &#8220;system&#8221; l\u00e0 c\u00e1c h\u01b0\u1edbng d\u1eabn \u0111\u1ed1i v\u1edbi h\u00e0nh vi c\u1ee7a &#8220;assistant&#8221; m\u00f4 h\u00ecnh<\/li>\n\n\n\n<li>Vai tr\u00f2 &#8220;user&#8221; \u0111\u1ea1i di\u1ec7n cho prompt t\u1eeb ng\u01b0\u1eddi t\u01b0\u01a1ng t\u00e1c v\u1edbi m\u00f4 h\u00ecnh<\/li>\n\n\n\n<li>Vai tr\u00f2 &#8220;assistant&#8221; l\u00e0 c\u00e2u tr\u1ea3 l\u1eddi cho prompt &#8220;user&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">T\u1ed5ng quan v\u1ec1 \u0111o\u1ea1n code <\/h4>\n\n\n\n<p>Sau khi \u0111\u00e3 gi\u1ea3i th\u00edch c\u00e1c tham s\u1ed1 tr\u00ean, ch\u00fang ta c\u00f3 th\u1ec3 th\u1ea5y r\u1eb1ng tham s\u1ed1 &#8220;<code>messages<\/code>&#8221; \u1edf tr\u00ean c\u00f3 hai \u0111\u1ed1i t\u01b0\u1ee3ng t\u1eeb \u0111i\u1ec3n. \u0110\u1ed1i t\u01b0\u1ee3ng t\u1eeb \u0111i\u1ec3n \u0111\u1ea7u ti\u00ean l\u00e0 c\u00e1ch ch\u00fang ta \u0111\u1eb7t m\u00f4 h\u00ecnh l\u00e0 m\u1ed9t tr\u00ecnh t\u00f3m t\u1eaft v\u0103n b\u1ea3n. Th\u1ee9 hai l\u00e0 n\u01a1i ch\u00fang ta s\u1ebd truy\u1ec1n v\u0103n b\u1ea3n c\u1ee7a m\u00ecnh v\u00e0 nh\u1eadn \u0111\u01b0\u1ee3c \u0111\u1ea7u ra t\u00f3m t\u1eaft.<\/p>\n\n\n\n<p>Trong t\u1eeb \u0111i\u1ec3n th\u1ee9 hai, b\u1ea1n c\u0169ng s\u1ebd th\u1ea5y bi\u1ebfn <code>person_type<\/code> v\u00e0 <code>prompt<\/code>. Bi\u1ebfn <code>person_type<\/code> l\u00e0 bi\u1ebfn t\u00f4i s\u1eed d\u1ee5ng \u0111\u1ec3 \u0111i\u1ec1u khi\u1ec3n phong c\u00e1ch t\u00f3m t\u1eaft, m\u00e0 t\u00f4i s\u1ebd th\u1ec3 hi\u1ec7n trong h\u01b0\u1edbng d\u1eabn. Trong khi <code>prompt<\/code> l\u00e0 n\u01a1i ch\u00fang ta s\u1ebd truy\u1ec1n v\u0103n b\u1ea3n c\u1ee7a m\u00ecnh \u0111\u1ec3 t\u00f3m t\u1eaft.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Doan_code_trong_summarizer_apppy\">\u0110o\u1ea1n code trong <code>summarizer_app.py<\/code><\/span><\/h3>\n\n\n\n<p>Ti\u1ebfp t\u1ee5c v\u1edbi h\u01b0\u1edbng d\u1eabn, \u0111\u1eb7t m\u00e3 sau v\u00e0o t\u1ec7p <code>summarizer_app.py<\/code> v\u00e0 ch\u00fang ta s\u1ebd c\u1ed1 g\u1eafng ch\u1ea1y qua c\u00e1ch th\u1ee9c ho\u1ea1t \u0111\u1ed9ng c\u1ee7a ch\u1ee9c n\u0103ng b\u00ean d\u01b0\u1edbi.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import openai\nimport os\nfrom dotenv import load_dotenv\n\nload_dotenv()\nopenai.api_key = os.getenv(\"OPENAI_API_KEY\")\n\n\ndef generate_summarizer(\n    max_tokens,\n    temperature,\n    top_p,\n    frequency_penalty,\n    prompt,\n    person_type,\n):\n    res = openai.ChatCompletion.create(\n        model=\"gpt-3.5-turbo\",\n        max_tokens=100,\n        temperature=0.7,\n        top_p=0.5,\n        frequency_penalty=0.5,\n        messages=\n       &#91;\n         {\n          \"role\": \"system\",\n          \"content\": \"You are a helpful assistant for text summarization.\",\n         },\n         {\n          \"role\": \"user\",\n          \"content\": f\"Summarize this for a {person_type}: {prompt}\",\n         },\n        ],\n    )\n    return res&#91;\"choices\"]&#91;0]&#91;\"message\"]&#91;\"content\"]<\/code><\/pre>\n\n\n\n<p>\u0110o\u1ea1n code tr\u00ean l\u00e0 n\u01a1i ch\u00fang ta t\u1ea1o ra m\u1ed9t h\u00e0m Python s\u1ebd ch\u1ea5p nh\u1eadn c\u00e1c tham s\u1ed1 kh\u00e1c nhau m\u00e0 ch\u00fang ta \u0111\u00e3 th\u1ea3o lu\u1eadn tr\u01b0\u1edbc \u0111\u00f3 v\u00e0 tr\u1ea3 v\u1ec1 \u0111\u1ea7u ra t\u00f3m t\u1eaft v\u0103n b\u1ea3n.<\/p>\n\n\n\n<p>Th\u1eed ch\u1ea1y h\u00e0m tr\u00ean v\u1edbi tham s\u1ed1 c\u1ee7a b\u1ea1n v\u00e0 xem k\u1ebft qu\u1ea3 \u0111\u1ea7u ra. Sau \u0111\u00f3, ch\u00fang ta s\u1ebd ti\u1ebfp t\u1ee5c h\u01b0\u1edbng d\u1eabn \u0111\u1ec3 t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng \u0111\u01a1n gi\u1ea3n v\u1edbi g\u00f3i streamlit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Ung_dung_Tom_tat_Van_ban_voi_Streamlit\">\u1ee8ng d\u1ee5ng T\u00f3m t\u1eaft V\u0103n b\u1ea3n v\u1edbi Streamlit<\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/docs.streamlit.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Streamlit<\/a> l\u00e0 m\u1ed9t g\u00f3i Python m\u00e3 ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 t\u1ea1o ra c\u00e1c \u1ee9ng d\u1ee5ng web cho m\u00e1y h\u1ecdc v\u00e0 khoa h\u1ecdc d\u1eef li\u1ec7u. N\u00f3 d\u1ec5 s\u1eed d\u1ee5ng v\u00e0 tr\u1ef1c quan. V\u00ec v\u1eady n\u00f3 \u0111\u01b0\u1ee3c khuy\u1ebfn kh\u00edch cho nhi\u1ec1u ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Cai_dat_goi_streamlit\">C\u00e0i \u0111\u1eb7t g\u00f3i streamlit<\/span><\/h3>\n\n\n\n<p>H\u00e3y c\u00e0i \u0111\u1eb7t g\u00f3i streamlit tr\u01b0\u1edbc khi ti\u1ebfp t\u1ee5c v\u1edbi h\u01b0\u1edbng d\u1eabn.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install streamlit<\/code><\/pre>\n\n\n\n<p>Sau khi qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t ho\u00e0n t\u1ea5t, \u0111\u1eb7t m\u00e3 sau v\u00e0o t\u1ec7p <code>summarizer_app.py<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import streamlit as st\n\n#Set the application title\nst.title(\"GPT-3.5 Text Summarizer\")\n\n#Provide the input area for text to be summarized\ninput_text = st.text_area(\"Enter the text you want to summarize:\", height=200)\n\n#Initiate three columns for section to be side-by-side\ncol1, col2, col3 = st.columns(3)\n\n#Slider to control the model hyperparameter\nwith col1:\n    token = st.slider(\"Token\", min_value=0.0, max_value=200.0, value=50.0, step=1.0)\n    temp = st.slider(\"Temperature\", min_value=0.0, max_value=1.0, value=0.0, step=0.01)\n    top_p = st.slider(\"Nucleus Sampling\", min_value=0.0, max_value=1.0, value=0.5, step=0.01)\n    f_pen = st.slider(\"Frequency Penalty\", min_value=-1.0, max_value=1.0, value=0.0, step=0.01)\n\n#Selection box to select the summarization style\nwith col2:\n    option = st.selectbox(\n        \"How do you like to be explained?\",\n        (\n            \"Second-Grader\",\n            \"Professional Data Scientist\",\n            \"Housewives\",\n            \"Retired\",\n            \"University Student\",\n        ),\n    )\n\n#Showing the current parameter used for the model \nwith col3:\n    with st.expander(\"Current Parameter\"):\n        st.write(\"Current Token :\", token)\n        st.write(\"Current Temperature :\", temp)\n        st.write(\"Current Nucleus Sampling :\", top_p)\n        st.write(\"Current Frequency Penalty :\", f_pen)\n\n#Creating button for execute the text summarization\nif st.button(\"Summarize\"):\n    st.write(generate_summarizer(token, temp, top_p, f_pen, input_text, option))<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Khoi_dong_ung_dung\">Kh\u1edfi \u0111\u1ed9ng \u1ee9ng d\u1ee5ng<\/span><\/h3>\n\n\n\n<p>H\u00e3y th\u1eed ch\u1ea1y m\u00e3 sau trong <code>terminal<\/code> c\u1ee7a b\u1ea1n \u0111\u1ec3 kh\u1edfi \u0111\u1ed9ng \u1ee9ng d\u1ee5ng.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>streamlit run summarizer_app.py<\/code><\/pre>\n\n\n\n<p>N\u1ebfu m\u1ecdi th\u1ee9 ho\u1ea1t \u0111\u1ed9ng t\u1ed1t, b\u1ea1n s\u1ebd th\u1ea5y \u1ee9ng d\u1ee5ng nh\u01b0 sau tr\u00ean tr\u00ecnh duy\u1ec7t m\u1eb7c \u0111\u1ecbnh c\u1ee7a b\u1ea1n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"659\" height=\"720\" src=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_2-659x720.png\" alt=\"\" class=\"wp-image-9222\" srcset=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_2-659x720.png 659w, https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_2-274x300.png 274w, https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_2.png 719w\" sizes=\"(max-width: 659px) 100vw, 659px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Giai_thich_doan_code\">Gi\u1ea3i th\u00edch \u0111o\u1ea1n code<\/span><\/h3>\n\n\n\n<p>V\u1eady, \u0111i\u1ec1u g\u00ec \u0111\u00e3 x\u1ea3y ra trong m\u00e3 \u1edf tr\u00ean? H\u00e3y t\u00f3m t\u1eaft ng\u1eafn g\u1ecdn c\u00e1c ch\u1ee9c n\u0103ng m\u00e0 ch\u00fang ta \u0111\u00e3 s\u1eed d\u1ee5ng:<\/p>\n\n\n\n<ul>\n<li><strong><code>.st.title<\/code><\/strong>: Cung c\u1ea5p v\u0103n b\u1ea3n ti\u00eau \u0111\u1ec1 cho \u1ee9ng d\u1ee5ng web.<\/li>\n\n\n\n<li><strong><code>.st.write<\/code><\/strong>: Ghi \u0111\u1ed1i s\u1ed1 v\u00e0o \u1ee9ng d\u1ee5ng; n\u00f3 c\u00f3 th\u1ec3 l\u00e0 b\u1ea5t c\u1ee9 th\u1ee9 g\u00ec nh\u01b0ng ch\u1ee7 y\u1ebfu l\u00e0 v\u0103n b\u1ea3n chu\u1ed7i.<\/li>\n\n\n\n<li><strong><code>.st.text_area<\/code><\/strong>: Cung c\u1ea5p m\u1ed9t v\u00f9ng \u0111\u1ec3 nh\u1eadp v\u0103n b\u1ea3n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u01b0u trong bi\u1ebfn v\u00e0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng l\u00e0m prompt cho tr\u00ecnh t\u00f3m t\u1eaft v\u0103n b\u1ea3n c\u1ee7a ch\u00fang ta.<\/li>\n\n\n\n<li><strong><code>.st.columns<\/code><\/strong>: C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng container \u0111\u1ec3 cung c\u1ea5p t\u01b0\u01a1ng t\u00e1c song song.<\/li>\n\n\n\n<li><strong><code>.st.slider<\/code><\/strong>: Cung c\u1ea5p m\u1ed9t widget thanh tr\u01b0\u1ee3t v\u1edbi c\u00e1c gi\u00e1 tr\u1ecb \u0111\u01b0\u1ee3c \u0111\u1eb7t s\u1eb5n m\u00e0 ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 t\u01b0\u01a1ng t\u00e1c v\u1edbi. Gi\u00e1 tr\u1ecb \u0111\u01b0\u1ee3c l\u01b0u trong m\u1ed9t bi\u1ebfn \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng l\u00e0m tham s\u1ed1 cho m\u00f4 h\u00ecnh.<\/li>\n\n\n\n<li><strong><code>.st.selectbox<\/code><\/strong>: Cung c\u1ea5p m\u1ed9t widget l\u1ef1a ch\u1ecdn \u0111\u1ec3 ng\u01b0\u1eddi d\u00f9ng ch\u1ecdn phong c\u00e1ch t\u00f3m t\u1eaft m\u00e0 h\u1ecd mu\u1ed1n. Trong v\u00ed d\u1ee5 tr\u00ean, ch\u00fang t\u00f4i s\u1eed d\u1ee5ng n\u0103m phong c\u00e1ch kh\u00e1c nhau.<\/li>\n\n\n\n<li><strong><code>.st.expander<\/code><\/strong>: Cung c\u1ea5p m\u1ed9t container m\u00e0 ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng v\u00e0 gi\u1eef nhi\u1ec1u \u0111\u1ed1i t\u01b0\u1ee3ng.<\/li>\n\n\n\n<li><strong><code>.st.button<\/code><\/strong>: Cung c\u1ea5p m\u1ed9t n\u00fat m\u00e0 ch\u1ea1y h\u00e0m \u0111\u01b0\u1ee3c d\u1ef1 \u0111\u1ecbnh khi ng\u01b0\u1eddi d\u00f9ng nh\u1ea5n n\u00fat \u0111\u00f3.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ec Streamlit s\u1ebd t\u1ef1 \u0111\u1ed9ng thi\u1ebft k\u1ebf giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng theo m\u00e3 \u0111\u01b0\u1ee3c cung c\u1ea5p t\u1eeb tr\u00ean xu\u1ed1ng d\u01b0\u1edbi. Do \u0111\u00f3 ch\u00fang ta c\u00f3 th\u1ec3 t\u1eadp trung h\u01a1n v\u00e0o t\u01b0\u01a1ng t\u00e1c.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Chay_thu_ung_dung_de_tom_tat_mot_van_ban\">Ch\u1ea1y th\u1eed \u1ee9ng d\u1ee5ng \u0111\u1ec3 t\u00f3m t\u1eaft m\u1ed9t v\u0103n b\u1ea3n<\/span><\/h2>\n\n\n\n<p>V\u1edbi t\u1ea5t c\u1ea3 c\u00e1c th\u00e0nh ph\u1ea7n \u0111\u00e3 \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp. H\u00e3y th\u1eed \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft c\u1ee7a ch\u00fang ta v\u1edbi m\u1ed9t v\u00ed d\u1ee5 v\u0103n b\u1ea3n. V\u00ed d\u1ee5 c\u1ee7a ch\u00fang t\u00f4i s\u1ebd s\u1eed d\u1ee5ng v\u0103n b\u1ea3n trang Wikipedia v\u1ec1 L\u00fd thuy\u1ebft T\u01b0\u01a1ng \u0111\u1ed1i \u0111\u1ec3 t\u00f3m t\u1eaft. V\u1edbi tham s\u1ed1 m\u1eb7c \u0111\u1ecbnh v\u00e0 phong c\u00e1ch h\u1ecdc sinh l\u1edbp hai, ch\u00fang ta nh\u1eadn \u0111\u01b0\u1ee3c k\u1ebft qu\u1ea3 sau \u0111\u00e2y.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Albert Einstein was a very smart scientist who came up with two important ideas about how the world works. The first one, called special relativity, talks about how things move when there is no gravity. The second one, called general relativity, explains how gravity works and how it affects things in space like stars and planets. These ideas helped us understand many things in science, like how particles interact with each other and even helped us discover black holes! <\/pre>\n\n\n\n<p>B\u1ea1n c\u00f3 th\u1ec3 nh\u1eadn \u0111\u01b0\u1ee3c m\u1ed9t k\u1ebft qu\u1ea3 kh\u00e1c v\u1edbi k\u1ebft qu\u1ea3 \u1edf tr\u00ean. H\u00e3y th\u1eed phong c\u00e1ch Housewives v\u00e0 \u0111i\u1ec1u ch\u1ec9nh tham s\u1ed1 m\u1ed9t ch\u00fat (Token 100, Nhi\u1ec7t \u0111\u1ed9 0,5, Nucleus Sampling 0,5, Ph\u1ea1t t\u1ea7n s\u1ed1 0,3).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">The theory of relativity is a set of physics theories proposed by Albert Einstein in 1905 and 1915. It includes special relativity, which applies to physical phenomena without gravity, and general relativity, which explains the law of gravitation and its relation to the forces of nature. The theory transformed theoretical physics and astronomy in the 20th century, introducing concepts like 4-dimensional spacetime and predicting astronomical phenomena like black holes and gravitational waves.<\/pre>\n\n\n\n<p>Nh\u01b0 ch\u00fang ta c\u00f3 th\u1ec3 th\u1ea5y. C\u00f3 s\u1ef1 kh\u00e1c bi\u1ec7t l\u1edbn v\u1ec1 phong c\u00e1ch cho c\u00f9ng m\u1ed9t v\u0103n b\u1ea3n ch\u00fang ta cung c\u1ea5p. V\u1edbi m\u1ed9t prompt v\u00e0 tham s\u1ed1 kh\u00e1c, \u1ee9ng d\u1ee5ng c\u1ee7a ch\u00fang ta c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng t\u1ed1t h\u01a1n.<\/p>\n\n\n\n<p>T\u1ed5ng quan v\u1ec1 giao di\u1ec7n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n c\u1ee7a ch\u00fang ta c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c th\u1ea5y trong h\u00ecnh \u1ea3nh b\u00ean d\u01b0\u1edbi.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"556\" height=\"720\" src=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_4-556x720.png\" alt=\"\" class=\"wp-image-9223\" srcset=\"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_4-556x720.png 556w, https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_4-232x300.png 232w, https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2023\/04\/wijaya_text_summarization_development_python_tutorial_gpt35_4.png 601w\" sizes=\"(max-width: 556px) 100vw, 556px\" \/><\/figure><\/div>\n\n\n<p>\u0110\u00f3 l\u00e0 h\u01b0\u1edbng d\u1eabn v\u1ec1 vi\u1ec7c ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n v\u1edbi GPT-3.5. B\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9nh s\u1eeda \u1ee9ng d\u1ee5ng th\u1eadm ch\u00ed tri\u1ec3n khai \u1ee9ng d\u1ee5ng m\u1ed9t c\u00e1ch to\u00e0n di\u1ec7n h\u01a1n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Ket_luan\">K\u1ebft lu\u1eadn<\/span><\/h2>\n\n\n\n<p>Tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o \u0111ang tr\u1ed7i d\u1eady, ch\u00fang ta n\u00ean t\u1eadn d\u1ee5ng c\u01a1 h\u1ed9i n\u00e0y \u0111\u1ec3 t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng tuy\u1ec7t v\u1eddi. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang ta s\u1ebd t\u00ecm hi\u1ec3u c\u00e1ch th\u1ee9c ho\u1ea1t \u0111\u1ed9ng c\u1ee7a c\u00e1c API OpenAI GPT-3.5 v\u00e0 c\u00e1ch s\u1eed d\u1ee5ng ch\u00fang \u0111\u1ec3 t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n v\u1edbi s\u1ef1 tr\u1ee3 gi\u00fap c\u1ee7a Python v\u00e0 g\u00f3i streamlit.<\/p>\n\n\n\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00ecm ki\u1ebfm m\u1ed9t \u0111\u1ed1i t\u00e1c tri\u1ec3n khai c\u00e1c gi\u1ea3i ph\u00e1p c\u00f4ng ngh\u1ec7 cho doanh nghi\u1ec7p c\u1ee7a b\u1ea1n, h\u00e3y \u0111\u1ebfn v\u1edbi IDC Online. IDC Online cung c\u1ea5p c\u00e1c gi\u1ea3i ph\u00e1p c\u00f4ng ngh\u1ec7 th\u00f4ng tin v\u00e0 \u0111\u00e1m m\u00e2y cho doanh nghi\u1ec7p. Bao g\u1ed3m c\u1ea3 c\u00e1c gi\u1ea3i ph\u00e1p tr\u1ef1c quan h\u00f3a d\u1eef li\u1ec7u v\u00e0 c\u00e1c gi\u1ea3i ph\u00e1p kh\u00e1c. V\u1edbi \u0111\u1ed9i ng\u0169 chuy\u00ean gia gi\u00e0u kinh nghi\u1ec7m, IDC Online \u0111em l\u1ea1i cho b\u1ea1n nh\u1eefng tr\u1ea3i nghi\u1ec7m tuy\u1ec7t v\u1eddi.<\/p>\n\n\n\n<p>H\u00e3y truy c\u1eadp v\u00e0o trang web <a href=\"https:\/\/idconline.vn\/\">https:\/\/idconline.vn\/<\/a> c\u1ee7a IDC Online \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin chi ti\u1ebft. Ho\u1eb7c n\u1ebfu b\u1ea1n c\u00f3 v\u1ea5n \u0111\u1ec1 g\u00ec c\u1ea7n gi\u1ea3i \u0111\u00e1p h\u00e3y li\u00ean h\u1ec7 v\u1edbi ch\u00fang t\u00f4i qua <strong>hotline<\/strong>: 19006452. IDC Online lu\u00f4n \u1edf \u0111\u00e2y \u0111\u1ec3 \u0111\u01b0\u1ee3c \u0111\u1ed3ng h\u00e0nh c\u00f9ng b\u1ea1n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng s\u1ee9c m\u1ea1nh c\u1ee7a GPT-3.5 \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n. \u0110\u00e2y l\u00e0 m\u1ed9t th\u1eddi \u0111\u1ea1i khi c\u00e1c b\u01b0\u1edbc \u0111\u1ed9t ph\u00e1 v\u1ec1 tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o ng\u00e0y c\u00e0ng m\u1ed9t nhi\u1ec1u. M\u1ed9t v\u00e0i n\u0103m tr\u01b0\u1edbc, ch\u00fang ta ch\u01b0a c\u00f3 nhi\u1ec1u v\u0103n [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[14],"tags":[2947,2853,2903,21,37,2943,2917,2948,2851,2866,2946,2857,2944,2910,2945,28],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.10 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n b\u1eb1ng Python v\u00e0 GPT-3.5<\/title>\n<meta name=\"description\" content=\"B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng s\u1ee9c m\u1ea1nh c\u1ee7a GPT-3.5 \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"IDC Online Content\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 ph\u00fat\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n b\u1eb1ng Python v\u00e0 GPT-3.5","description":"B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng s\u1ee9c m\u1ea1nh c\u1ee7a GPT-3.5 \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"IDC Online Content","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"16 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/#article","isPartOf":{"@id":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/"},"author":{"name":"IDC Online Content","@id":"https:\/\/idconline.vn\/blog\/#\/schema\/person\/4290d375b961d9868a8b97493666504f"},"headline":"Ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n b\u1eb1ng Python v\u00e0 GPT-3.5","datePublished":"2023-04-17T02:08:00+00:00","dateModified":"2023-06-02T04:00:33+00:00","mainEntityOfPage":{"@id":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/"},"wordCount":3736,"publisher":{"@id":"https:\/\/idconline.vn\/blog\/#organization"},"keywords":["API","backend","chatgpt","cloud server","cloud vps","front-end","full-stack","GPT-3.5","h\u1ecdc l\u1eadp tr\u00ecnh","ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh","OpenAI","python","streamlit","tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o","\u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n","vps server"],"articleSection":["H\u01b0\u1edbng d\u1eabn"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/","url":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/","name":"Ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n b\u1eb1ng Python v\u00e0 GPT-3.5","isPartOf":{"@id":"https:\/\/idconline.vn\/blog\/#website"},"datePublished":"2023-04-17T02:08:00+00:00","dateModified":"2023-06-02T04:00:33+00:00","description":"B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng s\u1ee9c m\u1ea1nh c\u1ee7a GPT-3.5 \u0111\u1ec3 ph\u00e1t tri\u1ec3n m\u1ed9t \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n...","breadcrumb":{"@id":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/idconline.vn\/blog\/phat-trien-ung-dung-tom-tat-van-ban-bang-python-va-gpt-3-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang ch\u1ee7","item":"https:\/\/idconline.vn\/blog\/"},{"@type":"ListItem","position":2,"name":"Ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng t\u00f3m t\u1eaft v\u0103n b\u1ea3n b\u1eb1ng Python v\u00e0 GPT-3.5"}]},{"@type":"WebSite","@id":"https:\/\/idconline.vn\/blog\/#website","url":"https:\/\/idconline.vn\/blog\/","name":"IDC Online","description":"D\u1ecbch v\u1ee5 M\u00e1y ch\u1ee7, Cloud, VPS, Web Hosting chuy\u00ean nghi\u1ec7p","publisher":{"@id":"https:\/\/idconline.vn\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/idconline.vn\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/idconline.vn\/blog\/#organization","name":"IDC ONLINE","url":"https:\/\/idconline.vn\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/idconline.vn\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2020\/10\/idc_cloud24-1.jpg","contentUrl":"https:\/\/idconline.vn\/blog\/wp-content\/uploads\/2020\/10\/idc_cloud24-1.jpg","width":1200,"height":899,"caption":"IDC ONLINE"},"image":{"@id":"https:\/\/idconline.vn\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/idconlinevn"]},{"@type":"Person","@id":"https:\/\/idconline.vn\/blog\/#\/schema\/person\/4290d375b961d9868a8b97493666504f","name":"IDC Online Content","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/idconline.vn\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7ab8d9a7604be7adae4cae204aa5267f?s=96&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7ab8d9a7604be7adae4cae204aa5267f?s=96&r=r","caption":"IDC Online Content"}}]}},"_links":{"self":[{"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/posts\/9204"}],"collection":[{"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/comments?post=9204"}],"version-history":[{"count":2,"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/posts\/9204\/revisions"}],"predecessor-version":[{"id":9225,"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/posts\/9204\/revisions\/9225"}],"wp:attachment":[{"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/media?parent=9204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/categories?post=9204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idconline.vn\/blog\/wp-json\/wp\/v2\/tags?post=9204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}