edusocial's picture
Update README.md
fef536a verified
|
Raw
History Blame Contribute Delete
3.43 kB

A newer version of the Gradio SDK is available: 6.22.0

Upgrade
metadata
title: AI Content Classifier Server
emoji: 🐢
colorFrom: pink
colorTo: blue
sdk: gradio
sdk_version: 5.13.1
app_file: app.py
pinned: false
short_description: Classify text as human-written, AI-generated, or paraphrased

AI Content Classifier API

A FastAPI backend service that classifies text as human-written, AI-generated, or paraphrased using a fine-tuned transformer model.

Features

  • 详细文本分类: 将输入文本分类为三个类别:
    • Human-Written (人类写作)
    • AI-Generated (AI生成)
    • Paraphrased (改写文本)
  • 完整概率分布: 返回所有类别的概率百分比
  • 深度文本分析:
    • 文本统计信息(长度、词数、句数)
    • AI生成指标识别
    • 风险等级评估
  • 智能改进建议: 基于分析结果提供具体的改进建议
  • 置信度分析: 返回预测的置信度评分
  • RESTful API: 清洁的REST端点和标准HTTP状态码
  • 输入验证: 验证输入文本并优雅处理错误
  • 健康检查: 服务健康状态监控端点

Installation

  1. Install dependencies:
pip install -r requirements.txt
  1. Run the FastAPI server:
python app.py

The server will start on http://localhost:7860

API Endpoints

POST /detect

Classify text content.

Request Body:

{
    "text": "Your text to classify here"
}

Response:

{
    "classification": "Human-Written",
    "confidence": 0.9234,
    "probabilities": {
        "Human-Written": 0.9234,
        "AI-Generated": 0.0566,
        "Paraphrased": 0.0200
    },
    "analysis": {
        "text_length": 245,
        "word_count": 42,
        "sentence_count": 3,
        "ai_indicators": [],
        "human_indicators": ["自然语言特征", "人类写作模式"],
        "risk_level": "low"
    },
    "suggestions": [
        "保持当前的自然写作风格",
        "继续保持语言的自然流畅性"
    ]
}

GET /health

Health check endpoint.

Response:

{
    "status": "healthy"
}

GET /

Root endpoint with service information.

Usage Example

import requests

response = requests.post(
    "http://localhost:7860/detect",
    json={"text": "This is sample text to classify"}
)

result = response.json()

# 基本结果
print(f"分类结果: {result['classification']}")
print(f"置信度: {result['confidence']:.4f}")

# 详细概率分布
print("\n概率分布:")
for category, prob in result['probabilities'].items():
    print(f"  {category}: {prob*100:.2f}%")

# 文本分析
analysis = result['analysis']
print(f"\n文本分析:")
print(f"  风险等级: {analysis['risk_level']}")
print(f"  词数: {analysis['word_count']}")

# 改进建议
print(f"\n改进建议:")
for i, suggestion in enumerate(result['suggestions'], 1):
    print(f"  {i}. {suggestion}")

Testing

Run the detailed test script to verify the API is working:

python test_detailed_api.py

This will show you:

  • 完整的分类结果和概率分布
  • 详细的文本分析
  • 个性化的改进建议
  • 可视化的概率条形图

Interactive Documentation

Once the server is running, visit:

  • Swagger UI: http://localhost:7860/docs
  • ReDoc: http://localhost:7860/redoc

Model Information

This service uses the vai0511/ai-content-classifier model from Hugging Face, which is fine-tuned for content source identification.