Ảnh hưởng trả lời của mô hình với học trong bối cảnh (tiếp tục)
Với model có khả năng như những cái từ OpenAI, một single shot thường là đủ. Không có đồng ý chung trên số shots tối
đa khuyến nghị để sử dụng, nhưng trong bất cứ trường hợp nào, chúng ta đang nói về các số thấp, tối đa 10 ví dụ, mặc
dù một vài papers đã sử dụng lên tới 128.
Khuyến nghị cá nhân tôi là sử dụng không hơn 6 ví dụ khác nhau, nhưng nó luôn phụ thuộc vào cái gì chúng ta muốn
giành và model chúng ta đang sử dụng. Nếu model đã không học từ 6 đó, nó có thể chỉ ra rằng nhiệm vụ này không thể
là không phù hợp cho kĩ thuật này.
Nó là quan trọng để nhớ rằng các ví dụ này sẽ đi kèm prompt trong mỗi lời gọi, tiêu dùng các tokens, cái dịch thành
thời gian và tiền bạc.
Nó là tốt nhất để xem nó làm việc như thế nào sử dụng một ví dụ đơn giản sử dụng học trong bối cảnh để hướng dẫn
model hướng tới dành cấu trúc dữ liệu mong muốn và định dạng trả lời phù hợp.
Bước đầu tiên là tạo một hàm cái gọi model, cung cấp nó với truy vấn người dùng, và trả về trả lời của nó.
Code hỗ trợ là có sẵn trên GitHub tại https://github.com/Apress/Large-Language-Models-Projects. Notebook cho
ví dụ này được gọi là: 1_3-Intro_Prompt_Engineering.ipynb.
Như bình thường nó là cần thiết để cài đặt và nhập khẩu các thư viện cần thiết:
!pip install -q openai==1.1.1
import openai
openai.api_key=”your-openai-key”
Một hàm nhỏ được định nghĩa để đơn giản hóa gọi OpenAI API. Hàm lấy user’s message và prompt trong tham só bối cảnh,
nối chúng, gọi model, và rút trả lời để trả nó về.
#Function to call the model.
def return_OAIResponse(user_message, context):newcontext = context.copy()
newcontext.append({‘role’:’user’, ‘content’:”question: ” +
user_message})
response = openai.chat.completions.create(model=”gpt-3.5-turbo”,
messages=newcontext,
temperature=1,)
return (response.choices[0].message.content)
Hãy xem modle trả lời như thế nào với một bối cảnh mà không có bất cứ vi dụ nào
#zero-shot
context_user = [{‘role’:’system’, ‘content’:’You are an expert in F1.’}
]
print(return_OAIResponse(“Who won the F1 2010?”, context_user))Sebastian Vettel won the Formula 1 World Championship in 2010. He drove for Red Bull Racing and became the youngest ever World Champion at the age of 23. Vettel won a total of 5 races in the 2010 season and scored a total of 256 points, beating his nearest competitor Fernando Alonso by just four points.
Trả lời rõ ràng là đúng, và nó đang trả lời như chúng ta mong đợi từ một mô hình ngôn ngữ lớn. Đó là, nó không chỉ
trả về dữ liệu được yêu cầu mà còn làm đẹp nó với nhiều thông tin hơn. Trong một vài trường hợp, dạng trả lời này
có thể là đúng, nhưng trong những cái khác, chúng ta có thể quan tâm đến nhận dữ liệu cụ thể quay trở lại trong một
dạng cụ thể.
