İnce ayar ve işlev çağrısı
Sohbet tamamlama API'sini kullanan modeller işlev çağrısını destekler. Ne yazık ki sohbet tamamlama çağrılarınızda tanımlanan işlevler her zaman beklendiği gibi çalışmaz. İşlev çağırma örnekleriyle modelinizde ince ayarlamalar yapmak, şunları gerçekleştirmenizi sağlayarak model çıkışını geliştirebilir:
- Tam işlev tanımı mevcut olmasa bile benzer şekilde biçimlendirilmiş yanıtlar alın. (İstem belirteçlerinde tasarruf etmenizi sağlar.)
- Daha doğru ve tutarlı çıkışlar elde edin.
Önemli
functions
ve function_call
parametreleri, API sürümünün yayımlanmasıyla 2023-12-01-preview
birlikte kullanım dışı bırakılmıştır. Ancak, ince ayar API'sinin şu anda eski parametrelerin kullanılması gerekir.
Eğitim dosyası oluşturma
İşlev çağırma örneklerinden oluşan bir eğitim dosyası oluştururken aşağıdaki gibi bir işlev tanımı alırsınız:
{
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"},
{"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celsius\"}"}
],
"functions": [{
"name": "get_current_weather",
"description": "Get the current weather",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "The city and country, eg. San Francisco, USA"},
"format": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location", "format"]
}
}]
}
Ayrıca, eğitim dosyanızda .jsonl
bilgileri aşağıdaki gibi tek bir satır olarak ifade edin:
{"messages": [{"role": "user", "content": "What is the weather in San Francisco?"}, {"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celsius\"}"}}], "functions": [{"name": "get_current_weather", "description": "Get the current weather", "parameters": {"type": "object", "properties": {"location": {"type": "string", "description": "The city and country, eg. San Francisco, USA"}, "format": {"type": "string", "enum": ["celsius", "fahrenheit"]}}, "required": ["location", "format"]}}]}
Tüm ince ayarlama eğitimlerinde olduğu gibi örnek dosyanız için en az 10 örnek gerekir.
Maliyet için iyileştirme
OpenAI, modelinizi tam işlev tanımlarında ince ayarlama sonrasında daha az istem belirteci kullanacak şekilde iyileştirmeye çalışıyorsanız denemeler yapmanızı önerir:
- İşlev ve parametre açıklamalarını atla: açıklama alanını işlevden ve parametrelerden kaldırın.
- Parametreleri atla: parameters nesnesinden özellikler alanının tamamını kaldırın.
- İşlevi tamamen atla: İşlev nesnesinin tamamını işlev dizisinden kaldırın.
Kalite için iyileştirme
Alternatif olarak, işlev çağırma çıkışının kalitesini iyileştirmeye çalışıyorsanız, ince ayar eğitim veri kümesinde bulunan işlev tanımlarının ve sonraki sohbet tamamlama çağrılarının aynı kalması önerilir.
model yanıtlarını işlev çıkışlarına göre özelleştirme
modelin işlev çıkışlarına yanıtını geliştirmek için işlev çağırma örneklerine göre ince ayarlama da kullanılabilir. Bunu başarmak için, işlev yanıtının yardımcı tarafından yorumlandığı ve bağlama yerleştirildiği işlev yanıt iletilerinden ve yardımcı yanıt iletilerinden oluşan örnekler eklersiniz.
{
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"},
{"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celcius\"}"}}
{"role": "function", "name": "get_current_weather", "content": "21.0"},
{"role": "assistant", "content": "It is 21 degrees celsius in San Francisco, CA"}
],
"functions": [...] // same as before
}
Önceki örnekte olduğu gibi, bu örnek okunabilirlik için yapay olarak genişletilmiştir. Eğitim dosyasındaki .jsonl
gerçek giriş tek bir satır olacaktır:
{"messages": [{"role": "user", "content": "What is the weather in San Francisco?"}, {"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celcius\"}"}}, {"role": "function", "name": "get_current_weather", "content": "21.0"}, {"role": "assistant", "content": "It is 21 degrees celsius in San Francisco, CA"}], "functions": []}
Sonraki adımlar
- İnce ayar senaryolarını çağıran işlev.
- Azure OpenAI ince ayarlama öğreticisindeki ince ayarlama özelliklerini keşfedin.
- Model bölgesel kullanılabilirliğini ince ayarlamayı gözden geçirin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin