Mehmet
Admin
Dify uygulamasını kendi sitenize bağlarken önce uygulamanın API adresini ve ona ait anahtarı doğrulayın. Sohbet ekranının çalışması, dışarıdan yaptığınız isteğin aynı uygulamaya gittiğini göstermez. İlk denemeyi karmaşık belge yüklemesiyle değil, uygulama bilgisini okuyan küçük bir istekle yapmak hata kaynağını daraltır.
Anahtarı tarayıcı JavaScript'ine eklemeyin. Tarayıcı kendi sunucunuza istek göndermeli, Dify çağrısını sunucunuz yapmalıdır. Böylece kullanıcıya yalnız gerekli yanıtı döndürür ve kullanım sınırını kendi uygulamanızda denetleyebilirsiniz.
Beklenen sonuç, kendi uygulamanızın adı ve türüyle ilgili küçük bir çıktıdır. Başka bir uygulama adı gelirse devam etmeden anahtarın hangi uygulamaya ait olduğunu düzeltin. Kodun ekrana anahtar veya bütün yanıt başlıklarını basmasına gerek yoktur.
Entegrasyon için kullanılabilecek istek şablonu:
Bağlantı doğrulandıktan sonra bir normal soru, eksik alan ve zaman aşımı durumunu deneyin. Kullanıcı ekranında anlaşılır hata gösterilirken sunucu kaydında isteği izlemeye yetecek bilgi bulunmalı; gizli anahtar görünmemelidir. Böylece çalışan ilk çağrıyı, izlenebilir bir uygulama entegrasyonuna dönüştürebilirsiniz.
Hangi anahtarı kullandığınızı ayırın
Dify uygulama anahtarı, bilgi tabanı anahtarı ve model sağlayıcısının API anahtarı aynı amaçla kullanılmaz. Sitenizin bağlanacağı uygulamanın içinden alınmış uygulama anahtarını kullanın. Kendi sunucunuzda çalışan Dify ile Dify Cloud'un temel adresi de farklı olabilir; paneldeki güncel API bilgisini esas alın.Anahtarı tarayıcı JavaScript'ine eklemeyin. Tarayıcı kendi sunucunuza istek göndermeli, Dify çağrısını sunucunuz yapmalıdır. Böylece kullanıcıya yalnız gerekli yanıtı döndürür ve kullanım sınırını kendi uygulamanızda denetleyebilirsiniz.
Python ile küçük bir bağlantı denemesi
Aşağıdaki kod standart Python kütüphanesini kullanır. DIFY_API_KEY değişkeninin sunucu ortamında tanımlı olduğunu varsayar; anahtarı dosyaya yazmaz.
Python:
import json
import os
import urllib.request
base = os.environ.get("DIFY_BASE_URL", "https://api.dify.ai/v1").rstrip("/")
key = os.environ["DIFY_API_KEY"]
request = urllib.request.Request(
base + "/info",
headers={"Authorization": "Bearer " + key},
)
with urllib.request.urlopen(request, timeout=20) as response:
info = json.load(response)
print({"name": info.get("name"), "mode": info.get("mode")})
Sonraki çağrıyı uygulama türüne göre seçin
Chatflow, Workflow ve diğer uygulama türleri aynı istek gövdesini kullanmak zorunda değildir. Dify'nin ilgili uygulama için gösterdiği API örneğini açın. Gerekli inputs alanlarını, kullanıcı tanımlayıcısını ve yanıt biçimini oradan doğrulayın. Bir sohbet örneğini iş akışına kopyalayıp yalnız adresi değiştirmek yeterli olmayabilir.Entegrasyon için kullanılabilecek istek şablonu:
Kod:
Amaç: Destek sorusuna uygulamadan yanıt almak.
Uygulama türü: Panelden doğrulanacak.
Girdi alanları: Yayınlanan uygulamanın şeması.
Kullanıcı kimliği: Uygulamamızdaki sabit, kişisel veri içermeyen kimlik.
Zaman aşımı ve hata yanıtı: Sunucu katmanında ele alınacak.
Hataları tek sepete atmayın
401 görüyorsanız anahtar ve Authorization başlığını; 404 görüyorsanız temel adresle endpoint'i kontrol edin. 400 gibi bir yanıt için gövde şemasını okuyun. Akışlı yanıt seçildiyse tüm gövdeyi tek JSON nesnesi gibi ayrıştırmaya çalışmayın. Önce API'nin ilgili yanıt biçimini uygulayın.Bağlantı doğrulandıktan sonra bir normal soru, eksik alan ve zaman aşımı durumunu deneyin. Kullanıcı ekranında anlaşılır hata gösterilirken sunucu kaydında isteği izlemeye yetecek bilgi bulunmalı; gizli anahtar görünmemelidir. Böylece çalışan ilk çağrıyı, izlenebilir bir uygulama entegrasyonuna dönüştürebilirsiniz.