<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Mô hình Ngôn ngữ Hỗ trợ Chương trình &#40;PAL&#41;</title>
<meta name="description" content="Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Mô hình Ngôn ngữ Hỗ trợ Chương trình &#40;PAL&#41; - Savefile - Tin Tức -...">
<meta name="author" content="Giáo Dục Mở và Ứng dụng phát triển">
<meta name="copyright" content="Giáo Dục Mở và Ứng dụng phát triển [webmaster@giaoducmo.vinades.net]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Mô hình Ngôn ngữ Hỗ trợ Chương trình &#40;PAL&#41;">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức -...">
<meta property="og:site_name" content="Giáo Dục Mở và Ứng dụng phát triển">
<meta property="og:url" content="https://giaoducmo.avnuc.vn/index.php/savefile/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-mo-hinh-ngon-ngu-ho-tro-chuong-trinh-pal-1593.html">
<link rel="shortcut icon" href="https://giaoducmo.avnuc.vn/uploads/logo-gdm.png">
<link rel="canonical" href="https://giaoducmo.avnuc.vn/index.php/savefile/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-mo-hinh-ngon-ngu-ho-tro-chuong-trinh-pal-1593.html">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/hoi-thao/" title="Tin Tức - Hội nghị &#x002F; Hội thảo" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/tap-huan/" title="Tin Tức - Tập huấn" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/giao-duc/" title="Tin Tức - Tài nguyên Giáo dục Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/cap-giay-phep-mo/" title="Tin Tức - Cấp giấy phép mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/du-lieu-mo/" title="Tin Tức - Dữ liệu Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/truy-cap-mo/" title="Tin Tức - Truy cập Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/khoa-hoc-mo/" title="Tin Tức - Khoa học Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/openglam/" title="Tin Tức - OpenGLAM" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/dinh-dang-mo/" title="Tin Tức - Tiêu chuẩn&#x002F;Định dạng Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/phan-mem-tu-do-nguon-mo/" title="Tin Tức - Phần mềm Tự do Nguồn Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/phan-cung/" title="Tin Tức - Phần cứng Mở&#x002F;Phần cứng Nguồn Mở" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/tai-lieu-dich/" title="Tin Tức - Tài liệu dịch" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/bai-viet-toan-van/" title="Tin Tức - Bài viết toàn văn" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/hop-tac/" title="Tin Tức - Hợp tác&#x002F;Đối tác" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/hoc-truc-tuyen-tu-xa/" title="Tin Tức - Học trực tuyến&#x002F;từ xa" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/nang-luc-so/" title="Tin Tức - Chuyển đổi&#x002F;Năng lực số" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/tvet/" title="Tin Tức - TVET" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/hoc-tap-suot-doi/" title="Tin Tức - Học tập suốt đời" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/danh-gia-nghien-cuu/" title="Tin Tức - Đánh giá nghiên cứu" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/giao-duc-xanh-phat-trien-ben-vung/" title="Tin Tức - Xanh&#x002F;Bền vững" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/ai/" title="Tin Tức - AI" type="application/rss+xml">
<link rel="alternate" href="https://giaoducmo.avnuc.vn/index.php/rss/su-pham-mo/" title="Tin Tức - Sư phạm Mở" type="application/rss+xml">
<link rel="stylesheet" href="https://giaoducmo.avnuc.vn/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://giaoducmo.avnuc.vn/themes/giaoducmo/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://giaoducmo.avnuc.vn/themes/giaoducmo/css/style.css">
<link rel="stylesheet" href="https://giaoducmo.avnuc.vn/themes/giaoducmo/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://giaoducmo.avnuc.vn/themes/default/css/news.css">
<link rel="stylesheet" href="https://giaoducmo.avnuc.vn/themes/giaoducmo/css/custom.css">
<link rel="stylesheet" href="https://giaoducmo.avnuc.vn/assets/css/giaoducmo.vi.0.css">
<style type="text/css">
	body{background: #fff;}
</style>
		<!-- Use passive listeners to improve scrolling performance, https://web.dev/uses-passive-event-listeners/?utm_source=lighthouse&utm_medium=unknown -->
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">Giáo Dục Mở và Ứng dụng phát triển</h2>
		<p class="pull-right"><a title="Giáo Dục Mở và Ứng dụng phát triển" href="https://giaoducmo.avnuc.vn/">https://giaoducmo.avnuc.vn</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Mô hình Ngôn ngữ Hỗ trợ Chương trình &#40;PAL&#41;</h1>
		<ul class="list-inline">
			<li>Thứ sáu - 14/11/2025 18:09</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Mô hình Ngôn ngữ Hỗ trợ Chương trình &#40;PAL&#41;" src="https://giaoducmo.avnuc.vn/uploads/news/2025_11/0_prompt-engineering_1.png" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p align="justify"><b><span style="background: rgb(255, 255, 0);">PAL (Program-Aided Language Models)</span></b></p>

<p align="justify">Theo: <a href="https://www.promptingguide.ai/techniques/pal">https://www.promptingguide.ai/techniques/pal</a></p>

<p align="justify"><a href="https://arxiv.org/abs/2211.10435">Gao và cộng sự (2022)</a> trình bày một phương pháp sử dụng LLM để đọc các bài toán ngôn ngữ tự nhiên và tạo ra các chương trình như các bước suy luận trung gian. Được đặt tên là mô hình ngôn ngữ hỗ trợ chương trình - PAL (Program-Aided Language Model), phương pháp này khác với phương pháp lời nhắc chuỗi tư duy (CoT) ở chỗ thay vì sử dụng văn bản dạng tự do để tìm ra lời giải, nó chuyển giao bước giải cho một chương trình thực thi như trình thông dịch Python.</p>

<div class="image-center"><img alt="" height="590" src="https://giaoducmo.avnuc.vn/uploads/news/2025_11/2.14-pal.png" width="800" /></div>

<p align="center">Image Source: <a href="https://arxiv.org/abs/2211.10435" target="_blank">Gao et al., (2022)</a></p>

<p align="justify">Hãy xem xét một ví dụ sử dụng LangChain và OpenAI GPT-3. Chúng tôi quan tâm đến việc phát triển một ứng dụng đơn giản có khả năng diễn giải câu hỏi được hỏi và đưa ra câu trả lời bằng cách tận dụng trình thông dịch Python.</p>

<p align="justify">Cụ thể, chúng tôi quan tâm đến việc tạo ra một chức năng cho phép sử dụng LLM để trả lời các câu hỏi yêu cầu hiểu biết về dữ liệu. Chúng tôi sẽ cung cấp cho LLM một lời nhắc bao gồm một vài ví dụ được áp dụng <a href="https://github.com/reasoning-machines/pal/blob/main/pal/prompt/date_understanding_prompt.py">từ đây</a>.</p>

<p align="justify">Đây là những nội dung chúng tôi cần:</p>

<pre class="western" style="margin-left: 1.25cm">
<code class="western">import openai</code>
<code class="western">from datetime import datetime</code>
<code class="western">from dateutil.relativedelta import relativedelta</code>
<code class="western">import os</code>
<code class="western">from langchain.llms import OpenAI</code>
<code class="western">from dotenv import load_dotenv</code>
</pre>

<p>Trước tiên chúng ta hãy cấu hình một vài thứ:</p>

<pre class="western" style="margin-left: 1.25cm">
<code class="western">load_dotenv()</code>
<code class="western"># API configuration</code>
<code class="western">openai.api_key = os.getenv(&quot;OPENAI_API_KEY&quot;)</code>
<code class="western"># for LangChain</code>
<code class="western">os.environ&#91;&quot;OPENAI_API_KEY&quot;&#93; = os.getenv(&quot;OPENAI_API_KEY&quot;)</code>
</pre>

<p>Thiết lập phiên bản mô hình:</p>

<pre class="western" style="margin-left: 1.25cm; margin-bottom: 0.5cm">
<code class="western"><span style="background: transparent">llm = OpenAI(model_name=&#039;text-davinci-003&#039;, temperature=0)</span></code></pre>

<p>Thiết lập lời nhắc + câu hỏi:</p>

<pre class="western" style="margin-left: 1.25cm">
<code class="western">câu hỏi = &quot;Hôm nay là ngày 27 tháng 2 năm 2023. Tôi sinh ra cách đây đúng 25 năm. Vậy ngày sinh của tôi là bao nhiêu theo MM/DD/YYYY?&quot;</code>
<code class="western">DATE_UNDERSTANDING_PROMPT = &quot;&quot;&quot;</code>
<code class="western"># Hỏi: 36 giờ nữa là năm 2015. Vậy một tuần nữa tính từ hôm nay theo định dạng MM/DD/YYYY là ngày nào?</code>
<code class="western"><span lang="vi-VN"># Nếu 36 giờ nữa là năm 2015, thì hôm nay là 36 giờ trước đó.</span></code>
<code class="western">today = datetime(2015, 1, 1) - relativedelta(hours=36)</code><code class="western"> </code>
<code class="western"><span lang="vi-VN"># Một tuần nữa tính từ hôm nay,</span></code>
<code class="western">one_week_from_today = today + relativedelta(weeks=1)</code>
<code class="western"># Câu trả lời được định dạng bằng %m/%d/%Y là</code>
<code class="western">one_week_from_today.strftime(&#039;%m/%d/%Y&#039;)</code><code class="western"> </code>
<code class="western"># Hỏi: Ngày đầu tiên của năm 2019 là Thứ Ba, và hôm nay là Thứ Hai đầu tiên của năm 2019. Vậy hôm nay là ngày nào theo định dạng MM/DD/YYYY?</code>
<code class="western"># Nếu ngày đầu tiên của năm 2019 là Thứ Ba, và hôm nay là Thứ Hai đầu tiên của 2019, thì hôm nay là 6 ngày sau.</code>
<code class="western">today = datetime(2019, 1, 1) + relativedelta(days=6)</code>
<code class="western"># Câu trả lời được định dạng bằng %m/%d/%Y là</code><code class="western"> </code><code class="western">today.strftime(&#039;%m/%d/%Y&#039;)</code>
<code class="western"># Hỏi: Buổi hòa nhạc dự kiến diễn ra vào ngày 06/01/1943, nhưng bị hoãn lại một ngày so với hôm nay. 10 ngày trước là ngày nào theo định dạng MM/DD/YYYY?</code>
<code class="western"># Nếu buổi hòa nhạc dự kiến diễn ra vào ngày 06/01/1943, nhưng bị hoãn lại một ngày so với hôm nay, thì hôm nay là một ngày sau.</code>
<code class="western">today = datetime(1943, 6, 1) + relativedelta(days=1)</code>
<code class="western"><span lang="vi-VN"># 10 ngày trước,</span></code>
<code class="western"><span lang="vi-VN">ten_days_ago = today - relativedelta(days=10)</span></code>
<code class="western"># Câu trả lời được định dạng bằng %m/%d/%Y là ten_days_ago.strftime(&#039;%m/%d/%Y&#039;)</code>
<code class="western"># Hỏi: Hôm nay là ngày 19/4/1969. Vậy 24 giờ sau đó tính theo MM/DD/YYYY là ngày nào?</code>
<code class="western"><span lang="vi-VN"># Hôm nay là ngày 19/4/1969.</span></code>
<code class="western"><span lang="vi-VN">today = datetime(1969, 4, 19)</span></code>
<code class="western"># 24 giờ sau,</code>
<code class="western">later = today + relativedelta(hours=24)</code>
<code class="western"><span lang="vi-VN"># Câu trả lời được định dạng theo %m/%d/%Y là today.strftime(&#039;%m/%d/%Y&#039;)</span></code>
<code class="western"># Hỏi: Jane nghĩ hôm nay là ngày 11/3/2002, nhưng thực tế hôm nay là ngày 12/3, tức là muộn hơn 1 ngày. Vậy 24 giờ sau đó tính theo MM/DD/YYYY là ngày nào?</code>
<code class="western"># Nếu Jane nghĩ hôm nay là ngày 11/3/2002, nhưng thực tế hôm nay là ngày 12/3, thì hôm nay là 3/12/2002.</code>
<code class="western"><span lang="vi-VN">today = datetime(2002, 3, 12)</span></code>
<code class="western"><span lang="vi-VN"># 24 giờ sau,</span></code>
<code class="western"><span lang="vi-VN">later = today + relativedelta(hours=24)</span></code>
<code class="western"><span lang="vi-VN"># Câu trả lời được định dạng theo %m/%d/%Y là later.strftime(&#039;%m/%d/%Y&#039;)</span></code>
<code class="western"><span lang="vi-VN"># Hỏi: Jane sinh vào ngày cuối cùng của tháng 2 năm 2001. Hôm nay là sinh nhật 16 tuổi của cô ấy. Vậy ngày hôm qua là ngày nào theo định dạng MM/DD/YYYY?</span></code>
<code class="western"># Nếu Jane sinh vào ngày cuối cùng của tháng 2 năm 2001 và hôm nay là sinh nhật 16 tuổi của cô ấy, thì hôm nay là 16 năm sau.</code>
<code class="western"><span lang="vi-VN">today = datetime(2001, 2, 28) + relativedelta(years=16)</span></code>
<code class="western"><span lang="vi-VN"># Hôm qua,</span></code>
<code class="western">yesterday = today - relativedelta(days=1)</code>
<code class="western"><span lang="vi-VN"># Câu trả lời được định dạng theo %m/%d/%Y là ngày hôm qua.strftime(&#039;%m/%d/%Y&#039;)</span></code>
<code class="western"><span lang="vi-VN"># Q: {câu hỏi}</span></code>
<code class="western">&quot;&quot;&quot;.strip() + &#039;\n&#039;</code>
<code class="western">llm_out = llm(DATE_UNDERSTANDING_PROMPT.format(question=question))</code>
<code class="western">print(llm_out)</code></pre>

<p>Điều này sẽ đưa ra kết quả sau:</p>

<pre class="western" style="margin-left: 1.25cm">
<code class="western"># Nếu hôm nay là ngày 27 tháng 2 năm 2023 và tôi sinh ra đúng 25 năm trước, thì tôi đã sinh ra 25 năm trước đó.</code>
<code class="western">today = datetime(2023, 2, 27)</code>
<code class="western"># Tôi sinh ra 25 năm trước,</code>
<code class="western">born = today - relativedelta(years=25)</code>
<code class="western"><span lang="vi-VN"># Câu trả lời được định dạng bằng %m/%d/%Y là born.strftime(&#039;%m/%d/%Y&#039;)</span></code></pre>

<p><br />
&nbsp;</p>

<p>Nội dung của llm_out là một đoạn mã Python. Dưới đây, lệnh exec được sử dụng để thực thi đoạn mã Python này.</p>

<pre class="western" style="margin-left: 1.25cm">
<code class="western">exec(llm_out)</code>
<code class="western">print(born)</code></pre>

<p>Điều này sẽ đưa ra kết quả sau: 27/02/1998</p>

<p align="justify"><em><span style="font-style: normal"><span style="font-weight: normal"><span style="background: transparent"><a href="https://giaoducmo.avnuc.vn/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-1577.html">Về ‘Kỹ thuật viết lời nhắc’</a> ………. <a href="https://giaoducmo.avnuc.vn/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-loi-nhac-kich-thich-dinh-huong-1591.html">Phần trước</a> ………. <a href="https://giaoducmo.avnuc.vn/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-loi-nhac-tai-hanh-dong-react-1594.html">Phần tiếp theo</a></span></span></span></em></p>
		</div>
				<div id="author">
						<p>
				<strong>Tác giả:</strong>
				<a href="https://giaoducmo.avnuc.vn/index.php/author/admin/">admin</a>
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://giaoducmo.avnuc.vn/index.php/savefile/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-mo-hinh-ngon-ngu-ho-tro-chuong-trinh-pal-1593.html" title="Hướng dẫn kỹ thuật lời nhắc. Kỹ thuật viết lời nhắc. Mô hình Ngôn ngữ Hỗ trợ Chương trình &#40;PAL&#41;">https://giaoducmo.avnuc.vn/index.php/savefile/ai/huong-dan-ky-thuat-loi-nhac-ky-thuat-viet-loi-nhac-mo-hinh-ngon-ngu-ho-tro-chuong-trinh-pal-1593.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; Giáo Dục Mở và Ứng dụng phát triển
		</div>
		<div id="contact">
			<a href="mailto:webmaster@giaoducmo.vinades.net">webmaster@giaoducmo.vinades.net</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://giaoducmo.avnuc.vn/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
<script src="https://giaoducmo.avnuc.vn/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="6LddCbkUAAAAAA1MjB7RhRdYdQihicLCVYmTJe2R",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://giaoducmo.avnuc.vn/assets/js/language/vi.js"></script>
<script src="https://giaoducmo.avnuc.vn/assets/js/DOMPurify/purify3.js"></script>
<script src="https://giaoducmo.avnuc.vn/assets/js/global.js"></script>
<script src="https://giaoducmo.avnuc.vn/assets/js/site.js"></script>
<script src="https://giaoducmo.avnuc.vn/themes/default/js/news.js"></script>
<script src="https://giaoducmo.avnuc.vn/themes/giaoducmo/js/main.js"></script>
<script src="https://giaoducmo.avnuc.vn/themes/giaoducmo/js/custom.js"></script>
<script>jQuery.event.special.touchstart={setup:function(c,a,b){this.addEventListener("touchstart",b,{passive:!a.includes("noPreventDefault")})}};jQuery.event.special.touchmove={setup:function(c,a,b){this.addEventListener("touchmove",b,{passive:!a.includes("noPreventDefault")})}};</script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://giaoducmo.avnuc.vn",
            "logo": "https://giaoducmo.avnuc.vn/uploads/logo-gdm.png"
        }
        </script>
<script src="https://giaoducmo.avnuc.vn/themes/giaoducmo/js/bootstrap.min.js"></script>
</body>
</html>