Rekayasa prompt untuk pengembangan chatbot

Prompt Engineering dengan OpenAI API

Fouad Trad

Machine Learning Engineer

Kebutuhan rekayasa prompt untuk chatbot

  • Sulit menebak pertanyaan pengguna
  • Tantangan memberi jawaban efektif
  • Rekayasa prompt mengarahkan perilaku chatbot

Gambar menampilkan chatbot pada ponsel.

Prompt Engineering dengan OpenAI API

Rekayasa prompt chatbot dengan OpenAI API

Gambar yang menampilkan tiga peran pesan dan komunikasi di antaranya.

  • Setiap pesan memiliki peran tertentu
Prompt Engineering dengan OpenAI API

Rekayasa prompt chatbot dengan OpenAI API

Gambar yang menampilkan tiga peran pesan dan komunikasi di antaranya, dengan sorotan pada interaksi antara pengguna dan asisten.

  • Setiap pesan memiliki peran tertentu
  • Fokus sejauh ini pada prompt pengguna
Prompt Engineering dengan OpenAI API

Rekayasa prompt chatbot dengan OpenAI API

Gambar yang menampilkan tiga peran pesan dan komunikasi di antaranya, dengan sorotan pada interaksi antara sistem dan asisten.

  • Setiap pesan memiliki peran tertentu
  • Fokus sejauh ini pada prompt pengguna
  • Prompt sistem mengarahkan perilaku chatbot
Prompt Engineering dengan OpenAI API

Endpoint chat completions untuk pengembangan chatbot

  • Mengirim serangkaian pesan ke model sebagai daftar
response = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[{"role": "system",
             "content": "You are an expert data scientist that explains complex concepts in simple terms"},

{"role": "user", "content": "What is prompt engineering?"}] )
print(response.choices[0].message.content)
Bayangkan Anda memberi instruksi ke program komputer, seperti mengajari robot membuat sandwich. 
Prompt engineering adalah menyusun instruksi, atau "prompt," agar komputer memahami dan menjalankan tugas dengan lebih baik.
Prompt Engineering dengan OpenAI API

Mengubah get_response() untuk chatbot

  • Mengirim satu prompt
def get_response(prompt):
    messages = [
      {"role": "user", "content": prompt}
    ]
    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=messages,
        temperature=0,
    )
    return response.choices[0].message.content

prompt = "<PROMPT>" print(get_response(prompt))
  • Mengirim dua prompt
def get_response(system_prompt, user_prompt):

messages = [ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt}]
response = client.chat.completions.create( model="gpt-3.5-turbo", messages=messages, temperature=0, ) return response.choices[0].message.content
system_prompt = "<SYSTEM_PROMPT>" user_prompt = "<USER_PROMPT>" print(get_response(system_prompt, user_prompt))
Prompt Engineering dengan OpenAI API

Pesan sistem: tetapkan tujuan

system_prompt = "You are a chatbot that answers financial questions."

user_prompt = "Who are you?" print(get_response(system_prompt, user_prompt))
Saya chatbot keuangan yang menjawab pertanyaan finansial. Ada yang bisa saya bantu?
  • Memastikan chatbot memberi bantuan sesuai domain
  • Tanpa tujuan yang jelas, jawaban bisa tidak relevan dengan konteks
Prompt Engineering dengan OpenAI API

Pesan sistem: panduan jawaban

  • Tentukan audiens, nada, panjang, struktur
system_prompt = """You are a chatbot that answers financial questions. 
Your answers should be precise, formal and objective"""

user_prompt = "What do you think about cryptocurrencies?" print(get_response(system_prompt, user_prompt))
Prompt Engineering dengan OpenAI API

Pesan sistem: panduan jawaban

Cryptocurrencies are digital or virtual currencies that use cryptography for security and operate on 
decentralized networks based on blockchain technology. 
[...]

Advantages of cryptocurrencies include: - Decentralization: [...] - Security:[...] - Global Accessibility: [...]
However, there are also notable concerns: - Volatility: [...] - Regulatory Uncertainty: [...] - Lack of Consumer Protection: [...]
In summary, cryptocurrencies have the potential to offer various benefits, but their adoption and impact on the financial landscape are still evolving [...]
Prompt Engineering dengan OpenAI API

Pesan sistem: panduan perilaku

  • Prompt bersyarat untuk menjawab pertanyaan
system_prompt = """You are a chatbot that answers financial questions. 
Your answers should be precise, formal and objective.


"""
Prompt Engineering dengan OpenAI API

Pesan sistem: panduan perilaku

  • Prompt bersyarat untuk menjawab pertanyaan
system_prompt = """You are a chatbot that answers financial questions. 
Your answers should be precise, formal and objective.
If the question you receive is within the financial field, answer it to the best of your knowledge.

"""
Prompt Engineering dengan OpenAI API

Pesan sistem: panduan perilaku

  • Prompt bersyarat untuk menjawab pertanyaan
system_prompt = """You are a chatbot that answers financial questions. 
Your answers should be precise, formal and objective.
If the question you receive is within the financial field, answer it to the best of your knowledge.
Otherwise, answer with 'Sorry, I only know about finance.'
"""
user_prompt = "How's the weather today?"

print(get_response(system_prompt, user_prompt))
Maaf, saya hanya tahu tentang keuangan.
Prompt Engineering dengan OpenAI API

Ayo berlatih!

Prompt Engineering dengan OpenAI API

Preparing Video For Download...