Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, işlev çağrısı ve bunu oluşturma yapay zeka uygulaması iş akışlarınızın bir parçası olarak nasıl kullanacağınız açıklanmaktadır. Databricks İşlev Çağrısı OpenAI ile uyumludur ve yalnızca Foundation Model API'lerinin bir parçası olarak hizmet veren model ve dış modellere hizmet veren uç noktalar sunarken kullanılabilir.
İşlev çağırma nedir?
İşlev çağrısı, LLM'lerin çıkışını denetlemeniz için bir yol sağlar, böylece yapılandırılmış yanıtları daha güvenilir bir şekilde oluştururlar. İşlev çağrısı kullandığınızda, bir JSON şeması kullanarak işlev bağımsız değişkenlerini açıklayarak API çağrısındaki işlevleri açıklarsınız. LLM'nin kendisi bu işlevleri çağırmaz, ancak bunun yerine kullanıcıların kodlarındaki işlevleri çağırmak için kullanabileceği bir JSON nesnesi oluşturur.
Databricks'te işlev çağrısı için temel adım dizisi aşağıdaki gibidir:
- Gönderilen sorguyu ve
toolsparametresinde tanımlanan bir işlev kümesini kullanarak modeli çağırın. - Model, tanımlı işlevlerin çağrılıp çağrılmayacağına karar verir. İşlev çağrıldığında, içerik özel şemanıza bağlı dizelerin JSON nesnesidir.
- Kodunuzda dizeleri JSON olarak ayrıştırın ve varsa sağlanan bağımsız değişkenlerle işlevinizi çağırın.
- Yapılandırılmış yanıtı yeni bir ileti olarak ekleyerek modeli yeniden çağırın. Yanıtın yapısı, içinde daha önce sağladığınız
toolsişlevler tarafından tanımlanır. Buradan model sonuçları özetler ve bu özeti kullanıcıya gönderir.
İşlev çağrısı ne zaman kullanılır?
İşlev çağrısı için örnek kullanım örnekleri aşağıda verilmiştir:
- Diğer API'leri çağırarak soruları yanıtlayan yardımcılar oluşturun. Örneğin,
send_email(to: string, body: string)veyacurrent_weather(location: string, unit: 'celsius' | 'fahrenheit')gibi işlevler tanımlayabilirsiniz. - API çağrılarını doğal dile göre tanımlayın ve kullanın. "En iyi müşterilerim kim?" ifadesini almak gibi. ve bunu
get_customers(min_revenue: int, created_before: string, limit: int)adlı bir API çağrısına dönüştürüp, bu API'yi çağırarak.
Yapılandırılmamış verileri yapılandırılmış verilere dönüştürme gibi toplu çıkarım veya veri işleme görevleri için. Databricks yapılandırılmış çıkışların kullanılmasını önerir.
Desteklenen modeller
Aşağıdaki tabloda desteklenen modeller ve her modelin hangi model sunma işleviyle kullanılabilir hale geldiği listelenmektedir. Bu modeller için geçerli model geliştirici lisansları ve koşullarına bakın.
- Temel Model API'leri tarafından kullanıma sunulan modeller için bkz . Bölge kullanılabilirliği için Temel Model API'leri sınırları .
- Dış modeller tarafından kullanıma sunulan modeller için bölge kullanılabilirliğine bakınız Bölge kullanılabilirliği.
Önemli
Meta-Llama-3.1-405B-Instruct aşağıda belirtildiği gibi kullanımdan kaldırılacaktır. Önerilen değiştirme modeli için kullanımdan kaldırılan modeller ve kullanımdan kaldırma sırasında geçişin nasıl yapılacağını gösteren yönergeler için bkz. Kullanımdan kaldırılan modeller .
- 15 Şubat 2026'dan itibaren bu model, jeton başına ödeme iş yükleri için kullanılamaz.
- 15 Mayıs 2026'dan itibaren bu model sağlanan aktarım hızı iş yükleri için kullanılamaz.
Meta-Llama-3.3-70B-Instruct, 11 Aralık 2024'ten itibaren, Foundation Model API'lerinin token başına ödeme yapan uç noktalarında Meta-Llama-3.1-70B-Instruct için desteğin yerini alır.
| Model | Model servis özelliği kullanılarak sunuldu | Notlar |
|---|---|---|
| Claude-Sonnet-4.5 | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| Claude-Haiku-4.5 | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| Qwen3-Next 80B A3B Yönergesi (Beta) | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| GPT OSS 20B | Temel Model API'leri | Jeton başına ödeme ve sağlanan aktarım hızı uç noktalarında desteklenir. |
| GPT OSS 120B | Temel Model API'leri | Jeton başına ödeme ve sağlanan aktarım hızı uç noktalarında desteklenir. |
| Gemma-3-12B | Temel Model API'leri | Jeton başına ödeme ve sağlanan aktarım hızı uç noktalarında desteklenir. |
| Claude-Sonnet-4 | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| Claude-Opus-4.6 | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| Claude-Opus-4.5 | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| Claude-Opus-4.1 | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| claude-3-7-Sonnet | Temel Model API'leri | Jeton başına ödeme uç noktaları desteklenir. |
| Meta-Llama-4-Maverick | Temel Model API'leri | Jeton başına ödeme ve belirlenen aktarım hızı iş yüklerinde desteklenir. |
| Meta-Llama-3.3-70B-Instruct | Temel Model API'leri | Jeton başına ödeme ve belirlenen aktarım hızı iş yüklerinde desteklenir. |
| Meta-Llama-3.1-405B-Instruct | Temel Model API'leri | Jeton başına ödeme ve belirlenen aktarım hızı iş yüklerinde desteklenir. |
| Meta-Llama-3.1-8B-Instruct | Temel Model API'leri | Jeton başına ödeme ve belirlenen aktarım hızı iş yüklerinde desteklenir. |
| gpt-4o | Dış modeller | |
| gpt-4o-2024-08-06 | Dış modeller | |
| gpt-4o-2024-05-13 | Dış modeller | |
| gpt-4o-mini | Dış modeller | |
| claude-3-5-sonnet-en yeni | Dış modeller | Antropik model sağlayıcısı |
| Claude 3.5 Haiku - Son Sürüm | Dış modeller | Antropik model sağlayıcısı |
| claude-3-5-opus-latest | Dış modeller | Antropik model sağlayıcısı |
| claude-3-5-sonnet-20241022 | Dış modeller | Antropik model sağlayıcısı. Bu model, Bilgisayar Kullanımı (beta)aracılığıyla araç çağrılarını destekler. |
| claude-3-5-haiku-20241022 | Dış modeller | Antropik model sağlayıcısı |
| claude-3-5-sonnet-20240620 | Dış modeller | Antropik model sağlayıcısı |
| claude-3-haiku-20240307 | Dış modeller | Antropik model sağlayıcısı |
| claude-3-opus-20240229 | Dış modeller | Antropik model sağlayıcısı |
| claude-3-sonnet-20240229 | Dış modeller | Antropik model sağlayıcısı |
| claude-3-5-sonnet-20241022-v2:0 | Dış modeller | Bedrock Anthropic model sağlayıcısı. Bu model, Bilgisayar Kullanımı (beta)aracılığıyla araç çağrılarını destekler. |
| claude-3-5-haiku-20241022-v1:0 | Dış modeller | Bedrock Anthropic model sağlayıcısı |
| claude-3-5-sonnet-20240620-v1:0 | Dış modeller | Bedrock Anthropic model sağlayıcısı |
| claude-3-sonnet-20240229-v1:0 | Dış modeller | Bedrock Anthropic model sağlayıcısı |
| claude-3-opus-20240229-v1:0 | Dış modeller | Bedrock Anthropic model sağlayıcısı |
İşlev çağırmayı kullanma
Üretken yapay zeka uygulamanızla işlev çağrısını kullanmak için parameters işlevini ve bir description sağlamanız gerekir.
için tool_choice varsayılan davranış şeklindedir "auto". Bu, modelin hangi işlevleri çağırıp çağırmayacağına karar vermesine olanak tanır.
Kullanım örneğinize bağlı olarak varsayılan davranışı özelleştirebilirsiniz. Seçenekleriniz şunlardır:
-
tool_choice: "required"ayarlayın. Bu senaryoda model her zaman bir veya daha fazla işlevi çağırır. Model, çağrılacak işlevi veya işlevleri seçer. -
tool_choice: {"type": "function", "function": {"name": "my_function"}}ayarlayın. Bu senaryoda model yalnızca belirli bir işlevi çağırır. - İşlev çağrısını devre dışı bırakmak için
tool_choice: "none"ayarlayın ve modelin yalnızca kullanıcıya yönelik bir ileti oluşturmasını sağlayın.
Aşağıda OpenAI SDK'sını ve parametresini kullanan tek bir dönüş örneği verilmiştir tools . Ek söz dizimi ayrıntıları için Sohbet Tamamlamaları API'si'ne bakın.
Önemli
Genel Önizleme sırasında Databricks'te işlev çağrısı, tek seferlik işlev çağrısı için optimize edilmiştir.
import os
import json
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('YOUR_DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('YOUR_DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": [
"celsius",
"fahrenheit"
]
}
}
}
}
}
]
messages = [{"role": "user", "content": "What is the current temperature of Chicago?"}]
response = client.chat.completions.create(
model="databricks-meta-llama-3-3-70b-instruct",
messages=messages,
tools=tools,
tool_choice="auto",
)
print(json.dumps(response.choices[0].message.model_dump()['tool_calls'], indent=2))
Bu parametre Claude modelleri için Bilgisayar Kullanımı (beta) özelliğini de destekler.
JSON şeması
Temel Model API'leri, OpenAI tarafından kabul edilen işlev tanımlarını geniş ölçüde destekler. Ancak işlev çağrısı tanımları için daha basit bir JSON şeması kullanılması, daha kaliteli işlev çağrısı JSON oluşturma işlemine neden olur. Temel Model API'leri, daha yüksek kaliteli üretimi teşvik etmek için yalnızca
Aşağıdaki işlev çağrısı tanım anahtarları desteklenmez:
-
patternkullanarak düzenli ifadeler. - Karmaşık iç içe veya şema bileşimi ve doğrulaması kullanımı:
anyOf,oneOf,allOf,prefixItemsveya$ref. -
[type, “null”]özel durumu dışında, listedeki türlerden birinin geçerli bir JSON türü olduğu ve diğerinin"null"olduğu tür listeleri.
Ayrıca, aşağıdaki sınırlamalar geçerlidir:
- JSON şemasında belirtilen en fazla anahtar sayısı
16. - Temel Model API'leri nesneler ve diziler için uzunluk veya boyut kısıtlamalarını zorlamaz.
- Bu, ,
maxPropertiesveminPropertiesgibimaxLengthanahtar sözcükleri içerir.
- Bu, ,
- Yoğun şekilde iç içe JSON şemaları daha düşük kalite üretimine neden oldu. Mümkünse daha iyi sonuçlar için JSON şemasını düzleştirmeyi deneyin.
Jeton kullanımı
"Prompt injection" ve diğer teknikler, araç çağrılarının kalitesini artırmak için kullanılır. Bunun yapılması model tarafından kullanılan giriş ve çıkış belirteçlerinin sayısını etkiler ve bu da faturalamanın sonuçlarına neden olur. Ne kadar çok araç kullanırsanız giriş belirteçleriniz o kadar artar.
Sınırlamalar
Genel Önizleme sırasında işlev çağrısıyla ilgili sınırlamalar şunlardır:
- Databricks'i çağıran çok aşamalı işlev için desteklenen Claude modellerini önerir.
- Llama 4 Maverick kullanılıyorsa, geçerli işlev çağrısı çözümü tek dönüş işlev çağrıları için iyileştirilmiştir. Çoklu dönüş fonksiyonu çağrısı önizleme sırasında destekleniyor, ancak hâlâ geliştirme aşamasında.
- Paralel işlev çağrısı desteklenmez.
- içinde
toolstanımlanabilir en fazla işlev sayısı 32 işlevdir. - Sağlanan aktarım hızı desteği için işlev çağrısı yalnızca yeni uç noktalarda desteklenir. Önceden oluşturulmuş uç noktalara işlev çağrısı ekleyemezsiniz.
Not defteri örneği
Ayrıntılı işlev çağırma örnekleri için aşağıdaki not defterine bakın
İşlev çağırma örneği not defteri
not defteri alma