1. Giriş
Bu codelab'de, Slack Slash Komutu ile entegrasyon sağlayarak Slack Workspace'te özetleme hizmeti oluşturma talimatlarını bulabilirsiniz.
Kullanıcı bir eğik çizgi komutu /summarize çağırır ve özetlenecek metni girer. Ardından Slack uygulaması, metni kabul eden ve özetleme için PaLM API'yi çağıran ilişkili Cloud Functions işlevini çağırır. Özetlenen metin, Slack eğik çizgi komutuna geri döndürülür ve Slack uygulamasında yanıt olarak gösterilir.
. Kullanılan Google Cloud hizmetlerinin listesi:
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
Ne oluşturacaksınız?
Oluşturacaklarınız
- Slash komutu kullanılarak Slack'ten gelen metinlerde metin özetleme için PaLM API'yi çağıran bir Cloud Functions
- Özetleme için yukarıdaki Cloud Functions işlevini çağıran Slack uygulaması.
2. Şartlar
3. Başlamadan önce
- Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
- Google Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.
- Cloud Functions API ve Vertex AI API'lerinin etkinleştirildiğinden emin olun.
- Buradaki talimatları uygulayarak Google Cloud Console'dan Cloud Shell'i etkinleştirin.
- Projeniz ayarlanmamışsa ayarlamak için aşağıdaki komutu kullanın:
gcloud config set project <YOUR_PROJECT_ID>
- Cloud Shell'de aşağıdaki ortam değişkenlerini ayarlayın:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
4. Cloud Functions işlevini dağıtma
Cloud Functions işlevleri oluşturup dağıtmak için aşağıdaki adımları uygulayın:
- Cloud Shell terminalinizde aşağıdaki komutu çalıştırarak https://github.com/rominirani/genai-apptemplates-googlecloud deposundaki kodu klonlayın:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- Bu komut, depo içeriklerini genai-templates-googlecloud klasörüne kopyalar.
- Cloud Shell terminalinden aşağıdaki komutu çalıştırarak ilgilendiğimiz projenin klasörüne gidin:
cd genai-apptemplates-googlecloud/summarization-slack
- dir komutunu çalıştırarak veya Cloud Shell Düzenleyici'ye giderek özetleme-slack klasöründe hem main.py hem de requirements.txt dosyalarını görmeniz gerekir.
- Cloud Functions işlevini dağıtmak için gcloud functions deploy komutunu çalıştırın:
gcloud functions deploy summarizeText \
--gen2 \
--runtime=python311 \
--source=. \
--region=$GCP_REGION \
--project=$GCP_PROJECT \
--entry-point=summarizeText \
--trigger-http \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION \
--max-instances=1
Cloud Functions işlevini dağıttıktan sonra, dağıtılan Cloud Functions işlevinin URL'si Cloud Shell Terminal'de gösterilir. URL şu biçimde olmalıdır:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
Görüntülenen URL'yi not edin. Slack Slash komutunu oluşturmak için bu URL gereklidir.
5. Slack Slash komutunu oluşturma
Slack'te özel bir Slash komutu oluşturalım. Bu özel komut /summarize, önceki bölümde dağıttığımız Cloud Function'ı çağırır.
Slash komutu oluşturmak için aşağıdaki adımları uygulayın:
- api.slack.com/apps adresine gidin.
- Yeni uygulama oluştur'u tıklayın.
- Uygulama oluşturun penceresinde Sıfırdan seçeneğini belirleyin.
- Uygulamanız için bir ad girin. Örneğin,
Summarization Slack Application.Uygulama geliştirme için Slack çalışma alanını seçin. - Uygulama Oluştur'u tıklayın. Ayarlar sayfası açılır.
- Ayarlar sayfasında Temel Bilgiler > Slash Komutları'nı tıklayın. Yeni Komut Oluştur'u tıklayın.
- Yeni Komut Oluştur formunda aşağıdaki değerleri girin:
- Komut: Eğik çizgi komutu verin. Örneğin,
/summarize. - İstek URL'si: Dağıttığımız Cloud Function'ın tam URL'sini sağlayın. Örneğin,
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText - Kısa Açıklama ve Kullanım İpucu girip kaydedin.
- Ayarlar > Temel Bilgiler'e geri dönün. Uygulamanızı yükleyin'i ve ardından Workspace'e yükleyin'i tıklayın. Uygulama, çalışma alanınıza yüklenir.
Bu işlem, Slack çalışma alanınıza yüklenen ve kullanıcının mesajda sağladığı metni özetlemesine yardımcı olan özel bir Slack uygulamasının oluşturulmasını tamamlar. Uygulamada özel bir eğik çizgi komutu (/summarize) bulunur.
6. Eğik Çizgi Komutunu Test Etme
- Özetleme Slack uygulamasını yüklediğiniz Slack çalışma alanına gidin:
https://slack.com/intl/en-in/workspace-signin adresine gidin ve çalışma alanınızın adını bulmak için "Find your workspaces" (Çalışma alanlarınızı bulun) ifadesini girin. Bu seçeneği belirleyin.
- Sohbette, eğik çizgi komutu "/summarize " ile başlayan metni girin. Aşağıda örnek bir çağırma işlemi gösterilmektedir:

- Cloud Function'ı çağırmak ve özetleme yanıtını aşağıdaki gibi göstermek için Gönder düğmesini tıklayın:

7. Temizleme
Bu yayında kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız şu adımları uygulayın:
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
- Proje listesinde silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
- İletişim kutusunda proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
- Projenizi tutmak istiyorsanız yukarıdaki adımları atlayın ve Cloud Functions'a giderek Cloud Functions işlevini silin. İşlevler listesinden silmek istediğiniz işlevi işaretleyin ve SİL'i tıklayın.
8. Tebrikler
Tebrikler! Slack uygulamasında metin özetleme hizmetini başarıyla oluşturdunuz.