Doctor AI

Dr. Savath Saypadith

240 ບົດຄວາມ

ການສ້າງ System Prompts ເພື່ອສ້າງ AI Personas ແບບກຳນົດເອງ

ໂພສເມື່ອ # Prompt Engineering # LLMs # Python # AI Tools

ການສ້າງ System Prompts ເພື່ອສ້າງ AI Personas ແບບກຳນົດເອງ

ໃນຍຸກທີ່ Large Language Models (LLMs) ເຊັ່ນ ChatGPT ຫຼື Claude ກາຍເປັນເຄື່ອງມືພື້ນຖານຂອງນັກພັດທະນາ, ທ່ານເຄີຍຮູ້ສຶກບໍ່ວ່າ ຄຳຕອບທີ່ໄດ້ຮັບມັກຈະເປັນແບບທົ່ວໄປ ແລະ ຂາດຄວາມເປັນທ້ອງຖິ່ນ? ລອງຈິນຕະນາການເບິ່ງວ່າ ຈະດີສໍ່າໃດຖ້າພວກເຮົາສາມາດສ້າງ AI ທີ່ສາມາດແນະນຳທາງລັດຫຼີກລ່ຽງລົດຕິດໃນນະຄອນຫຼວງວຽງຈັນ, ເລົ່າປະຫວັດສາດຂອງງານບຸນພະທາດຫຼວງໄດ້ຢ່າງເລິກເຊິ່ງ, ຫຼື ສອນການຈັດການລະບົບເຄືອຂ່າຍໂດຍປຽບທຽບກັບການຈາລະຈອນໃນບ້ານເຮົາໄດ້ຄືກັບຄົນໃນພື້ນທີ່ແທ້ໆ.

ຄວາມລັບໃນການປ່ຽນ AI ທຳມະດາ ໃຫ້ກາຍເປັນຜູ້ຊ່ຽວຊານທ້ອງຖິ່ນ ແມ່ນເຕັກນິກທີ່ເອີ້ນວ່າ System Prompting. ໃນບົດຄວາມນີ້, ພວກເຮົາຈະມາເຈາະເລິກວິທີການສ້າງ Custom AI Personas (ການກຳນົດບຸກຄະລິກຂອງ AI) ໂດຍເນັ້ນໃສ່ການສ້າງ “ໄກ້ນຳທ່ຽວລາວ” ແລະ “ອາຈານສອນ” ພ້ອມກັບຕົວຢ່າງໂຄດຮູບແບບການຂຽນ API ດ້ວຍ Python ທີ່ທ່ານສາມາດນຳໄປໃຊ້ໄດ້ທັນທີ.

System Prompt ແມ່ນຫຍັງ?

ໃນໂຄງສ້າງການເຮັດວຽກຂອງ LLM API (ເຊັ່ນ OpenAI API), ຂໍ້ມູນຂໍ້ຄວາມ (Payload) ຈະຖືກແບ່ງອອກເປັນ 3 ບົດບາດ (Roles) ຫຼັກຄື:

  1. System: ເປັນຄຳສັ່ງຮາກຖານ (Base instructions) ທີ່ກຳນົດວ່າ AI ແມ່ນໃຜ, ຕ້ອງປະຕິບັດຕົວແນວໃດ, ແລະ ມີຂໍ້ຈຳກັດຫຍັງແດ່.
  2. User: ຄຳຖາມ ຫຼື ຄຳສັ່ງຈາກຜູ້ໃຊ້ງານ.
  3. Assistant: ຄຳຕອບທີ່ AI ສົ່ງກັບມາ.

ການຂຽນ System Prompt ທີ່ດີ ປຽບເໝືອນການມອບ “ບົດບາດນັກສະແດງ” ໃຫ້ກັບ LLM ກ່ອນທີ່ມັນຈະເລີ່ມສະແດງໃນເວທີ. ສ່ວນນີ້ຈຳເປັນຫຼາຍສຳລັບນັກພັດທະນາ ເພາະມັນເປັນຕົວຄວບຄຸມບໍ່ໃຫ້ AI ອອກນອກເລື່ອງ.

ສູດສຳເລັດການສ້າງ Persona ສຳລັບບໍລິບົດລາວ

ເພື່ອໃຫ້ AI ມີຄວາມເປັນທຳມະຊາດ ແລະ ເຂົ້າໃຈບໍລິບົດຂອງປະເທດລາວ (Lao Context), ໂຄງສ້າງຂອງ System Prompt ຄວນປະກອບມີ 4 ສ່ວນຫຼັກ:


ຕົວຢ່າງທີ 1: ສ້າງ AI ເປັນ “ໄກ້ນຳທ່ຽວລາວ” ດ້ວຍ OpenAI API

ໃນຕົວຢ່າງນີ້, ພວກເຮົາຈະໃຊ້ Python ເພື່ອສ້າງ AI ທີ່ເປັນໄກ້ນຳທ່ຽວໃນນະຄອນຫຼວງວຽງຈັນ. ສັງເກດເບິ່ງວິທີທີ່ເຮົາໃຊ້ System Prompt ທີ່ເປັນພາສາອັງກິດ (ເນື່ອງຈາກໂມເດວເຂົ້າໃຈ Context ພາສາອັງກິດໄດ້ດີກວ່າໃນດ້ານຄຳສັ່ງ) ແຕ່ບັງຄັບໃຫ້ມັນຕອບເປັນພາສາລາວທີ່ເປັນທຳມະຊາດ.

import openai
import os

# ຕັ້ງຄ່າ API Key ຂອງທ່ານ
openai.api_key = os.getenv("OPENAI_API_KEY")

def lao_tour_guide_chat(user_message):
    system_prompt = """
    You are an expert, friendly local Lao tour guide named 'Somsack', based in Vientiane.
    You are deeply knowledgeable about Lao culture, history (like That Luang), and modern daily life.

    Guidelines:
    - Always greet the user warmly using "ສະບາຍດີ" in the Lao script.
    - When suggesting food, prioritize local dishes like Khao Piak Sen, Tam Mak Hoong, or Ping Gai.
    - Demonstrate local knowledge. For instance, acknowledge the traffic during rush hour near Patuxay or the fluctuating water levels of the Mekong river.
    - Keep your tone welcoming, proud of your culture, and heavily authentic.
    - Answer entirely in the Lao language (ພາສາລາວ), unless specifically asked for another language.
    - Constraint: Do not hallucinate real locations. If you don't know a place, apologize politely.
    """

    response = openai.chat.completions.create(
        model="gpt-4o",
        temperature=0.7, # ປັບອຸນຫະພູມຢູ່ທີ່ 0.7 ເພື່ອໃຫ້ລາຍລະອຽດມີຄວາມຄິດສ້າງສັນ ແລະ ລື່ນໄຫຼ
        messages=[
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": user_message}
        ]
    )

    return response.choices[0].message.content

# ທົດສອບການນຳໃຊ້
user_input = "ມື້ນີ້ຕອນແລງຢາກໄປຍ່າງຫຼິ້ນແຖວແຄມຂອງ, ຊ່ວຍແນະນຳແດ່ໄດ້ບໍ່ ວ່າຄວນໄປຈັກໂມງ ແລະ ກິນຫຍັງດີ?"
print(lao_tour_guide_chat(user_input))

ສິ່ງທີ່ເກີດຂຶ້ນໃນໂຄດນີ້:

ເຮົາໄດ້ຕັ້ງຄ່າ temperature=0.7 ເພາະວ່າໄກ້ນຳທ່ຽວຄວນມີຄວາມຄິດສ້າງສັນໃນການເລົ່າເລື່ອງ. System Prompt ໄດ້ບັງຄັບໃຫ້ AI ໃຊ້ຄຳສັບທັກທາຍທີ່ຖືກຕ້ອງ ແລະ ໃຫ້ແນະນຳສະຖານທີ່ຈິງ ພ້ອມກັບອາຫານລາວແທ້ໆ.


ຕົວຢ່າງທີ 2: ສ້າງ AI ເປັນ “ອາຈານສອນ” ສຳລັບນັກຮຽນລາວ

ຖ້າເຮົາຕ້ອງການປ່ຽນ AI ໃຫ້ກາຍເປັນອາຈານສອນວິຊາເຕັກໂນໂລຊີ ຫຼື ວິທະຍາສາດໃຫ້ກັບນັກຮຽນທ້ອງຖິ່ນ ຫຼື SME ລາວ, ບໍລິບົດຈະຕ້ອງປ່ຽນໄປ. ອາຈານຕ້ອງມີຄວາມໃຈເຢັນ, ໃຊ້ພາສາທີ່ເຂົ້າໃຈງ່າຍ, ແລະ ສາມາດຍົກຕົວຢ່າງທີ່ຄົນລາວຄຸ້ນເຄີຍ.

def lao_teacher_chat(user_message):
    system_prompt = """
    You are 'Ajarn Kham', a patient, supportive, and highly knowledgeable teacher in Laos.
    You specialize in explaining complex technical subjects (like Machine Learning and Databases) to local SMEs or students.

    Guidelines:
    - Act highly pedagogical: break down complex topics into simple, step-by-step explanations.
    - Ground your analogies in the local realities of Laos. For example, explain supply chain or structured data using the coffee agriculture in Paksong, or compare network traffic to Vientiane's road system during rush hour.
    - Speak clearly in natural, proper Lao language. Use polite words like 'ໂດຍ', 'ເຈົ້າ', or 'ຫຼານ'.
    - Ask a follow-up question at the end to check for understanding.
    """

    response = openai.chat.completions.create(
        model="gpt-4o",
        temperature=0.2, # ໃຊ້ອຸນຫະພູມຕໍ່າລົງ ເພື່ອຄວາມແມ່ນຍຳ ແລະ ສອດຄ່ອງກັບຫຼັກວິຊາການ
        messages=[
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": user_message}
        ]
    )

    return response.choices[0].message.content

# ທົດສອບການນຳໃຊ້
user_input = "ຊ່ວຍອະທິບາຍແດ່ວ່າ ຖານຂໍ້ມູນ (Database) ແມ່ນຫຍັງ? ຂໍແບບເຂົ້າໃຈງ່າຍໆສຳລັບຄົນຄ້າຂາຍ."
print(lao_teacher_chat(user_input))

ສິ່ງທີ່ເກີດຂຶ້ນໃນໂຄດນີ້:

ການຕັ້ງຄ່າ temperature=0.2 ຈະຊ່ວຍໃຫ້ຄຳຕອບຂອງ AI ມີຄວາມຄົງທີ່ ແລະ ບໍ່ສ້າງຂໍ້ມູນທີ່ຜິດພ້ຽນ (Hallucinations) ເຊິ່ງສຳຄັນຫຼາຍສຳລັບວຽກງານການສຶກສາ. AI ຈະດຶງເອົາສະພາບແວດລ້ອມໃນປະເທດລາວ (ເຊັ່ນ: ການຈັດກຸ່ມຊະນິດເມັດກາເຟຢູ່ປາກຊ່ອງ) ມາປຽບທຽບກັບ ‘ຖານຂໍ້ມູນ’ ທີ່ເປັນເລື່ອງເຕັກນິກ ເພື່ອໃຫ້ນັກຮຽນເຫັນພາບແຈ້ງຂຶ້ນ.


ເຕັກນິກເພີ່ມເຕີມສຳລັບນັກພັດທະນາ (Intermediate Tips)

Key Takeaways

ສະຫຼຸບ

ການພັດທະນາແອັບພລິເຄຊັນ AI ສໍາລັບກຸ່ມເປົ້າໝາຍໃນປະເທດລາວນັ້ນ ບໍ່ໄດ້ຈຳກັດພຽງແຕ່ການເຊື່ອມຕໍ່ກັບຕົວແບບ (Model) ທີ່ທັນສະໄໝເທົ່ານັ້ນ, ແຕ່ຫົວໃຈສຳຄັນແມ່ນທັກສະ “Prompt Engineering” ລວມເຖິງການອອກແບບ System Prompt ໃຫ້ AI ສາມາດເຂົ້າໃຈວັດທະນະທຳ ແລະ ວິຖີຊີວິດແບບລາວໆ. ພຽງແຕ່ເພີ່ມລາຍລະອຽດທາງບໍລິບົດເຂົ້າໄປໃນໂຄດຂອງທ່ານ, ແອັບພລິເຄຊັນການສຶກສາ, ການທ່ອງທ່ຽວ, ຫຼື ທຸລະກິດຂອງທ່ານ ກໍຈະສາມາດແຕກຕ່າງ ແລະ ຕອບໂຈດຜູ້ໃຊ້ງານໃນທ້ອງຖິ່ນໄດ້ຢ່າງມີປະສິດທິພາບ.