ChatGPT Alternatifleri: “Derin Öğrenme Tabanlı Sohbet Botları”

Hüseyin ALKAN
FLO Teknoloji
Published in
4 min readJun 12, 2023

Son yıllarda, yapay zeka (AI) ve doğal dil işleme (DNI) alanındaki hızlı gelişmeler, birçok geliştiricinin Chat GPT gibi yapay zeka botlarına ilgi duymasına neden oldu.

Chat GPT, OpenAI tarafından geliştirilen ve genel konuşmalara dayalı olarak doğal ve akıcı metin üreten bir dil modelidir. Ancak, farklı ihtiyaçlara ve projelere göre, geliştiricilerin alternatif yapay zeka botlarına da bir göz atmaları faydalı olabilir.

Bu yazımda geliştiriciler için Chat GPT alternatiflerini keşfedeceğiz ve her birinin farklı özelliklerini ve kullanım durumlarını inceleyeceğiz.

İşte geliştiriciler için alternatif Chatbot platformları

Microsoft Bot Framework: Microsoft Bot Framework, geliştiricilere güçlü bir platform sunar ve farklı kanallar üzerinden (web, mobil, sosyal medya) botlar oluşturmak için kullanılabilir. Bot Framework, C# veya Node.js gibi popüler programlama dilleriyle entegre çalışabilir ve geliştiricilerin hızlı bir şekilde botlarını özelleştirmelerini sağlar. Ayrıca, Bot Framework’ün NLP (Doğal Dil İşleme) ve yapay zeka entegrasyonları da bulunur.

Şimdi sizlerle çok basit bir seviyede Chatbot yazmanın aşamalarını ve örnek kodlarını paylaşacağım;

Adım 1: Proje ve Çalışma Ortamı Ayarlamaları

  • Bir Node.js projesi oluşturun veya mevcut bir projeyi kullanın.
  • Gerekli bağımlılıkları yüklemek için terminalde veya komut isteminde projenizin kök dizininde şu komutu çalıştırın:
npm install botbuilder

Adım 2: Bot Oluşturma

  • Projenizin ana dizininde bir index.js dosyası oluşturun ve aşağıdaki kodu ekleyin:
const { BotFrameworkAdapter, MemoryStorage, ConversationState } = require('botbuilder');

const adapter = new BotFrameworkAdapter({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword
});

const memoryStorage = new MemoryStorage();
const conversationState = new ConversationState(memoryStorage);

adapter.use(conversationState);

adapter.onTurnError = async (context, error) => {
console.error(`Bot turned an error: ${ error.message }`);
await context.sendActivity('An error occurred. Please try again later.');
};

adapter.processActivity(async (context) => {
if (context.activity.type === 'message') {
await context.sendActivity(`You said: ${ context.activity.text }`);
}
});

Adım 3: Bot’u Sunucuya Bağlama

  • Bir sunucu oluşturmak ve botu sunucuya bağlamak için aşağıdaki kodu index.js dosyasına ekleyin:
const restify = require('restify');
const server = restify.createServer();
server.listen(3978, () => {
console.log(`${ server.name } listening to ${ server.url }`);
});

server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async (context) => {
await conversationState.saveChanges(context);
});
});

Adım 4: Bot’u Test Etme

  • Bot’u test etmek için, index.js dosyasını çalıştırın ve bir REST istemcisi kullanarak http://localhost:3978/api/messages adresine POST isteği gönderin.
  • İstek gövdesinde aşağıdaki JSON verisini içeren bir mesaj gönderin:
{
"type": "message",
"text": "Hello, bot!"
}
  • Bot, “You said: Hello, bot!” yanıtını döndürmelidir.

Bu örnek, gelen mesajlara “You said: {mesaj}” şeklinde yanıt veren basit bir chat botu oluşturur. Tabii ki, botun işlevselliğini ve yanıtlarını ihtiyaçlarınıza göre özelleştirebilirsiniz.

Not: Bot Framework’ün çalışması için Microsoft Bot Framework Emulator gibi bir araç kullanabilirsiniz. Emulator, botunuzu yerel olarak test etmenizi sağlar. Bu örnekte sunucu adresi http://localhost:3978 olduğundan, Emulator’e bu adresi tanımlamanız gerekebilir.

Umarım bu örnekler size yardımcı olur. Microsoft Bot Framework ile daha karmaşık botlar oluşturabilir ve özelleştirebilirsiniz. Daha fazla bilgi için Bot Framework belgelerini inceleyebilirsiniz.

Microsoft Bot Framework: https://dev.botframework.com/

IBM Watson Assistant

IBM Watson Assistant

IBM Watson Assistant: IBM Watson Assistant, yapay zeka tabanlı bir konuşma sistemi olup, geliştiricilere interaktif bir deneyim sunar. Watson Assistant, metni anlama, doğal dil anlama ve konuşma sentezi gibi yetenekleri içeren kapsamlı bir dizi API’ye sahiptir. Ayrıca, Watson Studio gibi bir dizi geliştirici aracı da sağlar ve farklı endüstrilere özgü kullanım durumları için özelleştirilebilir.

pip install ibm-watson
  1. İlk adım olarak, Watson Developer Cloud SDK’yı yükleyin. Bunun için aşağıdaki komutu kullanabilirsiniz:
  2. IBM Watson Assistant hizmetine erişim sağlamak için IBM Cloud hesabı oluşturun ve bir Watson Assistant örneği oluşturun. Size bir API anahtarı ve hizmet URL’si sağlanacak.
  3. Şimdi, aşağıdaki örnekte olduğu gibi Python kodunu kullanarak Watson Assistant ile iletişim kurabilirsiniz:
from ibm_watson import AssistantV2
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

# API kimlik doğrulama bilgilerini ve hizmet URL'sini girin
authenticator = IAMAuthenticator('api_anahtarınız')
assistant = AssistantV2(
version='2021-06-14',
authenticator=authenticator
)
assistant.set_service_url('hizmet_urlsi')

# Watson Assistant oturumunu başlatın
response = assistant.create_session(
assistant_id='assistant_idniz'
).get_result()
session_id = response['session_id']

# Kullanıcı girişi alma ve Watson Assistant'a gönderme döngüsü
while True:
user_input = input("Kullanıcı: ")

# Watson Assistant'a kullanıcı girişini gönderme
response = assistant.message(
assistant_id='assistant_idniz',
session_id=session_id,
input={
'message_type': 'text',
'text': user_input
}
).get_result()

# Watson Assistant'ın yanıtını alın
bot_response = response['output']['generic'][0]['text']
print("ChatBot: " + bot_response)

# Kullanıcının "sonlandır" girdisini kontrol etme
if user_input.lower() == 'sonlandır':
break

# Watson Assistant oturumunu sonlandırın
assistant.delete_session(
assistant_id='assistant_idniz',
session_id=session_id
)

Yukarıdaki kodda, “api_anahtarınız” ve “hizmet_urlsi” yerine IBM Cloud hesabınızdan aldığınız API anahtarını ve hizmet URL’sini kullanmalısınız. Ayrıca, “assistant_idniz” yerine oluşturduğunuz Watson Assistant örneğinin kimliğini girmelisiniz.

Bu kod, kullanıcıdan metin tabanlı girişleri alacak ve IBM Watson Assistant hizmetine iletecek. Watson Assistant, kullanıcı girişine yanıt olarak bir mesaj dizesi döndürecek ve bu dizeyi ekrana yazdıracak.

Kullanıcı “sonlandır” dediğinde döngü sonlanacak ve Watson Assistant oturumu sonlandırılacaktır.

Bu basit örneği kullanarak IBM Watson Assistant’ı başlatıp sohbet etmeye başlayabilirsiniz. Daha karmaşık senaryolar için IBM Watson Assistant’ın dökümanlarına başvurmanızı öneririm.

IBM Watson Assistant: https://www.ibm.com/cloud/watson-assistant

Sonuç: Geliştiricilerin Chat GPT gibi yapay zeka botları için alternatifleri keşfetmeleri önemlidir. Her bir alternatifin farklı özellikleri ve kullanım durumları vardır ve projenizin gereksinimlerine en uygun olanı seçmek önemlidir. Microsoft Bot Framework, IBM Watson Assistant gibi yapay zeka tabanlı platformlar biz geliştiricilere farklı özellikler sunan başarılı Chat GPT alternatifleridir.

Önemli Not: ChatGPT’yi kullanırken, ürettiği yanıtların dikkatle gözden geçirilmesi ve gerektiğinde düzenlenmesi önemlidir. Ayrıca, ChatGPT’nin etik kullanımı ve istenmeyen yanıtların önlenmesi konularına da dikkat etmek önemlidir.

Sonraki yazımda sizlere Dialogflow ve Amazon Lex platformlarını geliştiriciler en verimli nasıl kullananım önerileri ve avantajlarından bahsetmeyi planlıyorum.

Kaynakça:

  1. Microsoft Bot Framework: https://dev.botframework.com/
  2. IBM Watson Assistant: https://www.ibm.com/cloud/watson-assistant

--

--