text_classification
Classify text into categories using DeepInfra's AI models. Input text to receive structured classification results for analysis and organization.
Instructions
Classify text using DeepInfra OpenAI-compatible API.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Implementation Reference
- src/mcp_deepinfra/server.py:217-239 (handler)The handler function for the 'text_classification' tool, registered via @app.tool(). It crafts a prompt for text classification (sentiment and category) using the configured model via DeepInfra's OpenAI-compatible completions API and returns the model's response.@app.tool() async def text_classification(text: str) -> str: """Classify text using DeepInfra OpenAI-compatible API.""" model = DEFAULT_MODELS["text_classification"] prompt = f"""Analyze the following text and classify it. Determine the sentiment (positive, negative, neutral) and main category/topic. Provide your analysis in JSON format with 'sentiment' and 'category' fields. Text: {text} Response format: {{"sentiment": "positive/negative/neutral", "category": "topic"}}""" try: response = await client.completions.create( model=model, prompt=prompt, max_tokens=200, temperature=0.1, ) if response.choices: return response.choices[0].text else: return "Unable to classify text" except Exception as e: return f"Error classifying text: {type(e).__name__}: {str(e)}"
- src/mcp_deepinfra/server.py:31-42 (helper)Configuration dictionary for default models used by tools, including the model for 'text_classification' (defaults to 'microsoft/DialoGPT-medium').DEFAULT_MODELS = { "generate_image": os.getenv("MODEL_GENERATE_IMAGE", "Bria/Bria-3.2"), "text_generation": os.getenv("MODEL_TEXT_GENERATION", "meta-llama/Llama-2-7b-chat-hf"), "embeddings": os.getenv("MODEL_EMBEDDINGS", "sentence-transformers/all-MiniLM-L6-v2"), "speech_recognition": os.getenv("MODEL_SPEECH_RECOGNITION", "openai/whisper-large-v3"), "zero_shot_image_classification": os.getenv("MODEL_ZERO_SHOT_IMAGE_CLASSIFICATION", "openai/gpt-4o-mini"), "object_detection": os.getenv("MODEL_OBJECT_DETECTION", "openai/gpt-4o-mini"), "image_classification": os.getenv("MODEL_IMAGE_CLASSIFICATION", "openai/gpt-4o-mini"), "text_classification": os.getenv("MODEL_TEXT_CLASSIFICATION", "microsoft/DialoGPT-medium"), "token_classification": os.getenv("MODEL_TOKEN_CLASSIFICATION", "microsoft/DialoGPT-medium"), "fill_mask": os.getenv("MODEL_FILL_MASK", "microsoft/DialoGPT-medium"), }
- src/mcp_deepinfra/server.py:216-217 (registration)Conditional registration of the text_classification tool based on ENABLED_TOOLS environment variable.if "all" in ENABLED_TOOLS or "text_classification" in ENABLED_TOOLS: @app.tool()