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 ilişkili Cloud Functions işlevini çağırır ve özetleme için PaLM API'yi çağırır. Özetlenen metin daha sonra Slack Slash Komutuna geri döndürülür ve Slack Uygulamasında yanıt olarak görüntülenir.
, Kullanılan Google Cloud hizmetlerinin listesi şunlardır:
- Cloud Functions
- Vertex AI PaLM API'si
- Cloud Logging
Neler oluşturacaksınız?
Şöyle
- Slash komutunu kullanarak Slack'ten gelen metinlerin özetlenmesi için PaLM API'yi çağıran bir Cloud Functions işlevi
- Özetlemek 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ından 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ı nasıl kontrol edeceğinizi öğrenin.
- Cloud Functions API ve Vertex AI API'lerinin etkinleştirildiğinden emin olun.
- Buradaki talimatları uygulayarak Google Cloud konsolundan Cloud Shell'i etkinleştirin
- Projeniz ayarlanmadıysa 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 oluşturmak ve 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çeriğini genai-templates-googlecloud klasörüne klonlar.
- Cloud Shell terminalinden aşağıdaki komutu çalıştırarak projenin önemsediğimiz klasörüne gidin:
cd genai-apptemplates-googlecloud/summarization-slack
- dir komutunu çalıştırarak veya Cloud Shell düzenleyicisine giderek özetleme slack klasöründe hem main.py hem de requirements.txt görürsünüz.
- Cloud Functions işlevini dağıtmak için gcloud Functions dağıtımı 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 terminalinde gösterilir. URL, şu biçimde olur:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
Görüntülenen URL'yi not edin. Slack Slash Komutunu oluşturmak için bu gereklidir.
5. Slack Slash Komutu Oluşturma
Şimdi Slack'te özel Slash Komutu oluşturalım. Bu özel komut (/summarize
) önceki bölümde dağıttığımız Cloud Functions işlevini çağırır.
Eğik çizgi 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şturma penceresinde Sıfırdan'ı seçin.
- Uygulamanız için bir ad girin. Örneğin,
Summarization Slack Application.
Uygulama geliştirme işiniz için Slack Workspace'i seçin. - Create App'i (Uygulama Oluştur) tıklayın. Ayarlar sayfası açılır.
- Ayarlar sayfasında Temel Bilgiler > Eğik çizgi komutları. Create New Command'ı (Yeni Komut Oluştur) tıklayın.
- Create New Command (Yeni Komut Oluştur) formunda aşağıdaki değerleri sağlayın:
- Command: Eğik çizgi komutu verin. Örneğin,
/summarize.
- İstek URL'si: Dağıtdığımız Cloud Functions işlevinin tam URL'sini sağlayın. Örneğin,
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
- Kısa açıklama ve kullanım ipucu girip kaydedin.
- Ayarlar > Temel Bilgiler. Uygulamanızı yükleyin'i, ardından Workspace'e yükle'yi tıklayın. Uygulama, çalışma alanınıza yüklenmiş olmalıdır.
Bu işlem, artık Slack Workspace'inize yüklenen ve kullanıcının mesajda sağladığı metni özetlemesine yardımcı olan özel bir Slash komutuna (/summarize
) sahip olan özel Slack uygulamasının oluşturulmasını sağlar.
6. Slash Komutunu Test Etme
- Summarization Slack uygulamasını yüklediğiniz Slack Çalışma Alanı'na gidin:
https://slack.com/intl/en-in/workspace-signin adresine gidip "Çalışma alanlarınızı bulun" ifadesini girin. çalışma alanı adınızı bulmanızı sağlar. Bunu seçin.
- Sohbette, önünde eğik çizgi komutuyla "/summarize " bulunan metni girin. Aşağıda örnek bir çağrı gösterilmektedir:
- Cloud Functions işlevini çağırmak ve özetleme yanıtını aşağıda gösterildiği gibi görüntülemek 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 konsolunda Kaynakları yönetin sayfasına gidin.
- Proje listesinden silmek istediğiniz projeyi seçin ve ardından Sil'i tıklayın.
- İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
- Projenizi saklamak istiyorsanız yukarıdaki adımları atlayın ve Cloud Functions işlevine giderek işlev listesinden Cloud Functions işlevini silin, silmek istediğiniz öğeyi işaretleyin ve SİL'i tıklayın.
8. Tebrikler
Tebrikler! Slack uygulamasında başarıyla bir metin özetleme hizmeti oluşturdunuz.