İşletme sistemi programlama arayüzleriniz için yapay zeka (AI) destekli bir sohbet arayüzü oluşturun ve iş arkadaşlarınızın işletme verilerinizle ilgili soru sormasına izin verin. İşletmenizin verilerini analiz etmek ve raporlamak, iş yapma şeklinizi iyileştirmek için çok önemlidir. Doğru verilerle sorunları bulmak, trendleri keşfetmek ve sonuçları incelemek mümkündür ancak geliştirici olarak kodlama yapmayan iş arkadaşlarınıza doğru verileri keşfetme konusunda yardımcı olmak zor olabilir.
SQL Talk projesi, işletme verileri hakkındaki soruları yanıtlamak için üretken yapay zeka teknolojisini kullanan açık kaynak bir uygulamadır. Proje, işletme verileri sorularını SQL sorgularına ve API çağrılarına dönüştürmek ve ardından sonuçları tekrar basit dile dönüştürmek için Gemini API'yi ve işlev çağırma özelliğini kullanır. Bu projeyi, kendi işletmeniz için bir veri aracısı oluşturmak üzere başlangıç noktası olarak kullanabilir ve tek kullanımlık bir sürü kod yazmak zorunda kalmadan iş arkadaşlarınızın yanıt almasına yardımcı olabilirsiniz.
Projenin geliştiricilerinden alınan analizler de dahil olmak üzere projeye ve nasıl genişletileceğine dair genel bir bakış için AI Data Agent | Build with Google AI (Yapay Zeka Veri Temsilcisi | Google Yapay Zeka ile Geliştirme) başlıklı videoyu inceleyin. Aksi takdirde, aşağıdaki talimatları uygulayarak projeyi genişletmeye başlayabilirsiniz.
Şekil 1. SQL Talk proje uygulaması kullanıcı arayüzü.
Proje ayarlama
Bu talimatlar, SQL Talk projesini geliştirme ve test için ayarlama konusunda size yol gösterir. Genel adımlar arasında SQL Talk projesini oluşturma, Google Cloud Shell Editor geliştirme projesi oluşturma, Google Cloud proje kimliği alma ve proje ayarlarını yapılandırmak için komut dosyası kullanma yer alır. Bu talimatlarda, Cloud Shell Düzenleyici'yi kullanarak projenin nasıl oluşturulacağı açıklanmaktadır. Bu yöntem, projenin oluşturulmasını, çalıştırılmasını ve güncellenmesini hızlı ve kolay hale getirir.
Proje için bir Cloud Shell örneği oluşturun
Proje deposunu bir Cloud Shell örneğine klonlayarak SQL Talk projesini oluşturabilirsiniz. Bu işlem, proje için Google Cloud altyapısında bir sanal geliştirme ortamı örneği oluşturur ve kod deposunu bu sanal ortama kopyalar.
SQL Talk için bir Cloud Shell örneği oluşturmak üzere:
- SQL Talk için Cloud Shell örneği oluşturmak üzere aşağıdaki bağlantıyı tıklayın.
Bu bağlantı, bir Google Cloud Shell Düzenleyici örneği oluşturur ve SQL Talk için deposunu klonlayarak örneğin içine yerleştirir.
Şekil 2. Google Cloud Shell Düzenleyici geliştirme ortamına klonlanan SQL Talk projesi.
Cloud proje kimliği alma
SQL Talk projesi, Gemini modelleri dahil olmak üzere Google Cloud hizmetlerine bağlanmak için bir Google Cloud proje kimliği kullanır. Uygulamanın bu hizmetlere bağlanmasına izin vermek için Cloud Shell Düzenleyici'de bir proje kimliği yapılandırırsınız.
Cloud Shell Düzenleyici'yi bir proje kimliğine bağlamak için:
- Google Cloud Console'a gidin ve gerekirse oturum açın.
- Mevcut bir Cloud projesi seçin veya yeni proje oluşturun.
- Projenin Cloud proje kimliğini not edin.
Düzenleyici örneğini projenize bağlayın ve projeyi yapılandırın. Cloud Shell Düzenleyici penceresinde, terminal paneline aşağıdaki komutu girin:
gcloud config set project YOUR_PROJECT_ID
SQL Talk projesini yapılandırma
SQL Talk projesi, projeyi çalıştırmak için Google Cloud hizmetlerini kullanır. Bu hizmetler arasında BigQuery veritabanı hizmeti ve Gemini modellerine bağlanmak için Vertex AI API yer alır.
SQL Talk projesi, projeyi gerekli Google Cloud hizmetleriyle yapılandıran ve projenin varsayılan sürümünü başlatan bir setup.sh
komut dosyası içerir.
Proje Cloud Shell Düzenleyici örneğini yapılandırmak ve çalıştırmak için:
Cloud Shell Düzenleyici penceresinin terminal panelinde Cloud Shell SQL Talk (
/sql-talk-app
) proje dizinine gidin:cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
Terminal paneline aşağıdaki komutu girin:
bash setup.sh
Kurulum komut dosyası başarıyla tamamlandığında Cloud Shell Düzenleyici terminal penceresinde aşağıdakine benzer bir mesaj görürsünüz. Bu mesaj, kurulum sürecinin başarılı olduğunu ve SQL Talk uygulamasının çalıştığını gösterir:
You can now view your Streamlit app in your browser.
Network URL: http://##.##.##.##:8080
External URL: http://##.##.##.##:8080
Projeyi test etme
SQL Talk projesinin kurulumunu tamamladıktan sonra, beklendiği gibi çalışıp çalışmadığını doğrulamak için uygulamayı test edebilirsiniz. Kurulum komut dosyası, çalıştırıldığında uygulamayı otomatik olarak başlatır. Uygulamayı aşağıdaki adımları uygulayarak yeniden başlatabilirsiniz.
SQL Talk uygulamasını çalıştırmak için:
Cloud Shell Düzenleyici'nin bağlantısı kesildiyse Cloud proje kimliğinize yeniden bağlanmanız gerekebilir.
gcloud config set project YOUR_PROJECT_ID
Cloud Shell Düzenleyici penceresinin terminal panelinde Cloud Shell SQL Talk proje dizinine gidin.
cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
Terminal panelinde aşağıdaki komutu girin.
~/miniforge/bin/streamlit run app.py --server.enableCORS=false \ --server.enableXsrfProtection=false --server.port 8080
SQL Talk uygulamasını görüntüleyin. Cloud Shell Düzenleyici penceresinin sağ üst kısmında Web Önizlemesi düğmesini ve ardından 8080 bağlantı noktasında önizle'yi seçin.
SQL Talk uygulamasındaki güncellemeleri görüntülemek için:
- SQL Talk web uygulamasının web önizlemesinde, tarayıcı veya tarayıcı sekmesini yeniden yükleyin.
SQL Talk uygulamasını durdurmak için:
- Cloud Shell Düzenleyici penceresinin terminal panelinde Ctrl-C tuşlarına basın.
Uygulamayı değiştirin
Uygulamanın Python kodunu değiştirerek SQL Talk uygulamasının davranışını değiştirebilir ve uygulamaya özellikler ekleyebilirsiniz. Bu bölümde, SQL Talk uygulamasına yeni bir işlev çağrısı ekleme işlemi açıklanmaktadır.
Gemini API İşlev Çağırma özelliği, soruları yanıtlamak veya sorunları çözmek için üretken model tarafından kullanılacak işlevleri tanımlamak üzere belirli bir söz dizimi kullanır. Bu söz dizimi, gerçek bir API çağrısının söz dizimine tam olarak uymak zorunda değildir. Bunun yerine, üretken modeli API çağrısı söz dizimine uygun belirli veri girişleri veya parametreler sağlamaya zorlamak için işlev çağrısı özelliğini kullanır ve ardından uygulama kodunuzda gerçek API çağrılarını yürütmek için bu parametreleri kullanırsınız.
Bu örnek uygulamada, son veritabanı sorgularını veya işlerini listelemek için bir işlev çağrısı tanımını nasıl oluşturacağınız ve ardından bu tanımı SQL Talk uygulama kodundaki gerçek API çağrısıyla nasıl eşleyeceğiniz gösterilmektedir.
İşlev çağrısı tanımı ekleme
Son veritabanı sorgularını veya işlerini listelemek için yeni bir işlev çağrısı ekleyin. Bu tanım, API çağrısının ne yaptığını ve hangi giriş parametrelerini gerektirdiğini anlamak için üretken model tarafından kullanılır. Bu örnek işlev tanımı, parametre içermeden tanımlanmıştır.
Uygulamaya yeni bir işlev çağrısı eklemek için:
- Cloud Shell Düzenleyici penceresinde
sql-talk-app/app.py
kod dosyasını açın. list_datasets_func
İşlev beyanının ardından yeni birFunctionDeclaration
ekleyin.list_jobs_func = FunctionDeclaration( name="list_jobs", description="Get a list of the 10 most recent database requests to help answer the user's question", parameters={ "type": "object", "properties": { }, }, )
Yeni işlevi
sql_query_tool
nesnesine ekleyin.sql_query_tool = Tool( function_declarations=[ sql_query_func, list_datasets_func, List_jobs_func, # add this new function list_tables_func, get_table_func, ], )
Yeni işlev için API çağrısını çalıştıracak kod eklemek üzere:
sql-talk-app/app.py
kod dosyasında,while function_calling_in_process:
döngüsüne yeni birif
yan tümcesi ekleyin.if response.function_call.name == "list_datasets": ... # add this if clause for list_jobs function if response.function_call.name == "list_jobs": api_response = client.list_jobs(max_results=10) # API request(s) api_response = str([job.job_id for job in api_response]) api_requests_and_responses.append( [response.function_call.name,params, api_response])
Ek kaynaklar
SQL Query projesi hakkında daha fazla bilgi edinmek için kod deposuna göz atın ve SQL Talk projesiyle ilgili Cloud Community blog yayınını inceleyin. Uygulamayı oluşturma konusunda yardıma ihtiyacınız varsa veya diğer geliştiricilerle işbirliği yapmak istiyorsanız Google Developers Community Discord sunucusuna ve Google Cloud AI/ML Forumu'na göz atın. Google Yapay Zeka ile daha fazla proje oluşturmak için video oynatma listesine göz atın.