Cihat Emre
MCP ile Cursor, VSCode gibi ortamlarda kullanılabilir.
328a2a4
import json
import gradio as gr
from textblob import TextBlob
from deep_translator import GoogleTranslator
def sentiment_analysis(text: str) -> str:
"""
Türkçe metni İngilizce'ye çevirip, İngilizce metin üzerinden duygu analizi yapar.
"""
try:
eng_text = GoogleTranslator(source='tr', target='en').translate(text)
except Exception as e:
return json.dumps({"hata": f"Çeviri hatası: {str(e)}"})
blob = TextBlob(eng_text)
sentiment = blob.sentiment
# Değerleri Türkçeleştir
if sentiment.polarity > 0:
assessment = "pozitif"
elif sentiment.polarity < 0:
assessment = "negatif"
else:
assessment = "nötr"
sonuc = {
"duygu_puani": round(sentiment.polarity, 2), # -1 (negatif) ile 1 (pozitif) arası
"öznelik": round(sentiment.subjectivity, 2), # 0 (nesnel) ile 1 (öznel) arası
"degerlendirme": assessment
}
return json.dumps(sonuc, ensure_ascii=False)
# Create the Gradio interface
demo = gr.Interface(
fn=sentiment_analysis,
inputs=gr.Textbox(placeholder="Türkçe metin girin..."),
outputs=gr.Textbox(),
title="Türkçe Metin Duygu Analizi",
description="Türkçe metinlerde duygu analizi. MCP ile Cursor, VSCode gibi ortamlarda kullanılabilir."
)
# Launch the interface and MCP server
if __name__ == "__main__":
demo.launch(mcp_server=True)