Custom Tool
Özel tools'ları nasıl kullanılacağını izleyin
YOUTUBE VİDEOSU!!!
Problem
Fonksiyon genellikle yapılandırılmış girdi verileri alır. Diyelim ki LLM'nin Airtable Create Record API'sini çağırabilmesini istiyorsunuz, gövde parametrelerinin belirli bir şekilde yapılandırılması gerekir. Örneğin:
"records": [
{
"fields": {
"Address": "some address",
"Name": "some name",
"Visited": true
}
}
]Tercihen, LLM'nin bu şekilde düzgün yapılandırılmış bir veri döndürmesini isteriz:
{
"Address": "some address",
"Name": "some name",
"Visited": true
}Böylece değeri çıkarabilir ve API için gereken gövdeye ayrıştırabiliriz. Ancak, LLM'ye tam kalıbı çıkarması için talimat vermek zordur.
Yeni OpenAI Function Calling modelleri ile artık bu mümkün. gpt-4-0613 ve gpt-3.5-turbo-0613, yapılandırılmış verileri döndürmek için özel olarak eğitilmiştir. Model, bu işlevleri çağırmak için argümanlar içeren bir JSON nesnesi çıktısı vermeyi akıllıca seçecektir.
Öğretici
Hedef: Agent'ın hisse senedi fiyat hareketini otomatik olarak almasını, ilgili hisse senedi haberlerini almasını ve Airtable'a yeni bir kayıt eklemesini sağlamak.
Başlayalım🚀
Tools Oluşturun
Hedefimize ulaşmak için 3 araca ihtiyacımız var:
Hisse Senedi Fiyat Hareketini Alın
Hisse Senedi Haberlerini Alın
Airtable Kaydı Ekleme
Hisse Senedi Fiyat Hareketini Alın
Aşağıdaki ayrıntılarla yeni bir Tool oluşturun (istediğiniz gibi değiştirebilirsiniz):
Adı: get_stock_movers
Açıklama: En büyük fiyat/hacim hareketlerine sahip hisse senetlerini alın, örneğin aktifler, kazananlar, kaybedenler vb.
ChatGPT bu aracı ne zaman kullanacağına karar vermek için buna güvendiği için açıklama önemli bir parçadır.

JavaScript Fonksiyonu: Veri almak için Morning Star
/market/v2/get-moversAPI'sini kullanacağız. Öncelikle henüz yapmadıysanız Teste Abone Ol'a tıklamanız, ardından kodu kopyalamanız ve JavaScript İşlevine yapıştırmanız gerekir.Kütüphaneyi içe aktarmak için en üste
const fetch = require('node-fetch');ekleyin. Tüm yerleşik NodeJS modüllerini ve harici kütüphaneleri(KÜTÜPHANEMİZ EKLENECEK) içe aktarabilirsiniz.En sonda
result'ı geri döndürün.

Son kod şöyle olmalıdır:
Artık kaydedebilirsiniz.
Stock haberlerini alın
Aşağıdaki ayrıntılarla yeni bir Tool oluşturun (istediğiniz gibi değiştirebilirsiniz):
İsim: get_stock_news
Açıklama: Bir hisse senedi için en son haberleri alın
Input Schema:
Özellik: performanceId
Tür: String
Açıklama: API'de performanceID olarak adlandırılan hisse senedinin kimliği
Zorunluluk: true
Input Schema, LLM'ye JSON nesnesi olarak ne döndüreceğini söyler. Bu durumda, aşağıdaki gibi bir JSON nesnesi bekliyoruz:

JavaScript Function: Verileri almak için Morning Star
/news/listAPI'sini kullanacağız. Öncelikle henüz yapmadıysanız Subscribe to Test'e tıklamanız, ardından kodu kopyalamanız ve JavaScript İşlevine yapıştırmanız gerekir.Kütüphaneyi içe aktarmak için en üste
const fetch = require('node-fetch');ekleyin. Tüm yerleşik NodeJS modules ve harici kütüphaneleri(LİNK GELECEK) içe aktarabilirsiniz.En sonda
result'ı geri döndürün.
Ardından, sabit kodlanmış url sorgu parametresini performanceId:
0P0000OQN8parametresini Input Schema'da belirtilen özellik değişkeniyle değiştirin:$performanceIdDeğişken adının önüne
$önekini ekleyerek Input Schema'da belirtilen tüm özellikleri JavaScript Function'da değişken olarak kullanabilirsiniz.

Son kod:
Artık kaydedebilirsiniz.
Airtable Kaydı Ekle
Aşağıda ayrıntıları verilen yeni bir Tool oluşturun (istediğiniz gibi değiştirebilirsiniz):
Adı: add_airtable
Açıklama: Hisse senedi, haber özeti ve fiyat hareketini Airtable'a ekleyin
Input Schema:
Özellik: hisse senedi
Tür: dize
Açıklama: hisse senedi ticker
Zorunluluk: true
Özellik: move
Tür: String
Açıklama: % olarak fiyat hareketi
Zorunluluk: true
Emlak: news_summary
Tür: String
Açıklama: hisse senedinin haber özeti
Zorunluluk: true
ChatGPT, aşağıdaki gibi bir JSON nesnesi döndürür:

JavaScript Function: Mevcut bir tabloya yeni bir kayıt oluşturmak için Airtable Create Record API'sini kullanacağız.
tableIdvebaseIddeğerlerini buradan bulabilirsiniz. Ayrıca kişisel bir erişim belirteci oluşturmanız gerekecek, bunu nasıl yapacağınızı buradan bulabilirsiniz.
Kodun son hali aşağıdaki gibi olmalıdır. Değişken olarak $stock, $move ve $news_summary değerlerini nasıl aktardığımıza dikkat edin:
Artık kaydedebilirsiniz.
3 tool'un oluşturulduğunu görmelisiniz:

Chatflow Oluştur
Marketplace'ten OpenAI Function Agent şablonunu kullanabilir ve tool'ları Custom Tool ile değiştirebilirsiniz. Oluşturduğunuz tool'u seçin.
Not: OpenAI Function Agent şu anda yalnızca 0613 modellerini desteklemektedir.

Chatflow'u kaydedin ve test etmeye başlayın. Başlangıç olarak şu soruyu sormayı deneyebilirsiniz:
Bugün en büyük fiyat hareketine sahip hisse senedi nedir?
Bugün en büyük fiyat hareketine sahip olan hisse senedi %17,47'lik fiyat hareketiyle Overstock.com (OSTK) oldu.
Daha sonra söz konusu hisse senediyle ilgili haberleri almak için başka bir soruyla devam edebilirsiniz:
Bu hisse senedi hakkında fiyat hareketine neden olabilecek en son haberler nelerdir?
İşte Overstock.com (OSTK) hakkında fiyat hareketine neden olabilecek en son haberler:
Manşet: “Overstock'un hisseleri Bed Bath & Beyond varlıkları için 21,5 milyonluk başarılı teklif üzerine yükseldi” Kaynak: MarketWatch Yayınlanma Tarihi: 22 Haziran 2023 Özet: Overstock.com'un hisseleri, Bed Bath & Beyond varlıkları için 21,5 milyon değerinde bir teklifi başarıyla kazanmasının ardından önemli bir artış yaşadı.
Manşet: “Meta Platforms, Overstock.com, Walmart, Home Depot veya United Parcel Service'te opsiyon veya hisse senedi ticareti yapmayı mı düşünüyorsunuz?” Kaynak: PR Newswire Yayınlanma Tarihi: 22 Haziran 2023 Özet: Bu haberde, Overstock.com da dahil olmak üzere yatırımcıların göz önünde bulundurabileceği potansiyel alım satım seçenekleri ve hisse senetleri tartışılmaktadır
Bu haber makalelerinin yalnızca bilgilendirme amaçlı olduğunu ve fiyat hareketinin tek nedeni olmayabileceğini lütfen unutmayın. Herhangi bir yatırım kararı vermeden önce her zaman kapsamlı araştırma ve analiz yapılması tavsiye edilir.
Son olarak, ChatGPT'den Airtable'a yeni bir kayıt eklemesini isteyebilirsiniz:
Airtable'a hisse senedi kodu, fiyat hareketi ve haber özetini içeren bir kayıt ekleyebilir misiniz?
Airtable'a aşağıdaki ayrıntılarla bir kayıt ekledim:
Hisse Senedi Bileti: OSTK Fiyat Hareketi: %17,47 Haber Özeti: Overstock.com'un hisseleri, Bed Bath & Beyond varlıkları için 21,5 milyon dolar değerinde bir teklifi başarıyla kazanmasının ardından önemli bir artış yaşadı.
🎉🎉İşte bu kadar! Kendinize özel tool'unuzu bu şekilde oluşturabilir ve OpenAI Function Agent ile kullanabilirsiniz!
Ek Olarak
Session ID'yi Fonksiyona Geçirme
Varsayılan olarak, Custom Tool'daki Function aşağıdaki akış konfigürasyonlarına erişebilir:
Aşağıda, sessionId'yi Discord web kancasına göndermeye ilişkin bir örnek verilmiştir:
Değişkenleri Fonksiyona Aktarma
Bazı durumlarda, değişkenleri custom tool function'a aktarmak istersiniz.
Örneğin, özel bir araç kullanan bir sohbet robotu oluşturuyorsunuz. Custom tool bir HTTP POST çağrısı gerçekleştiriyor ve başarılı bir kimlik doğrulama isteği için API anahtarı gerekiyor. Bunu bir değişken olarak aktarabilirsiniz.
Varsayılan olarak, custom tool'daki Function'ın değişkenlere erişimi vardır:
API ve Embedded kullanarak AIFINEX Flow'daki değişkenlerin nasıl aktarılacağına dair örnek:
Custom tool'da değişkenlerin nasıl alınacağına dair örnek:
Custom Tool'u Override Yapma
Aşağıdaki parametreler override olabilir
customToolName
tool adı
customToolDesc
tool açıklaması
customToolSchema
tool şeması
customToolFunc
tool fonksiyonu
Custom tool parametrelerini override etmek için bir API çağrısı örneği:
External Dependencies'i İçe Aktarma
Tüm dahili NodeJS modüllerini ve desteklenen harici kütüphaneleri(LİNKİMİZ GELECEK) Function'a aktarabilirsiniz.
Desteklenmeyen kütüphaneleri içe aktarmak için, yeni npm paketini
packages/componentsklasöründekipackage.jsondosyasına kolayca ekleyebilirsiniz.
Ardından, içe aktarılan kütüphaneleri
TOOL_FUNCTION_EXTERNAL_DEPortam değişkenine ekleyin.Uygulamayı başlatın
Daha sonra yeni eklenen kütüphaneyi JavaScript Function'da aşağıdaki gibi kullanabilirsiniz:
Ek bağımlılıkların nasıl ekleneceğini ve kitaplıkların nasıl içe aktarılacağını izleyin
YOUTUBE VİDEOSU!!!!!!!!!!!!
Last updated