"""
Hermès AI Toolkit - Hugging Face Space
Advanced AI tools for the Hermès Agent system
"""
import gradio as gr
import json
from typing import List, Dict, Any
# Tool definitions for Hermès agent integration
TOOLS = {
"text_generation": {
"name": "Text Generation",
"description": "Generate text using HF Inference API",
"icon": "✍️",
"endpoint": "text-generation"
},
"summarization": {
"name": "Summarization",
"description": "Summarize long text into concise summaries",
"icon": "📝",
"endpoint": "summarization"
},
"translation": {
"name": "Translation",
"description": "Translate text between languages",
"icon": "🌐",
"endpoint": "translation"
},
"question_answering": {
"name": "Question Answering",
"description": "Answer questions based on given context",
"icon": "❓",
"endpoint": "question-answering"
},
"sentiment_analysis": {
"name": "Sentiment Analysis",
"description": "Analyze emotional tone of text",
"icon": "💭",
"endpoint": "sentiment-analysis"
},
"code_generation": {
"name": "Code Generation",
"description": "Generate code from natural language",
"icon": "💻",
"endpoint": "code-generation"
},
"image_classification": {
"name": "Image Classification",
"description": "Classify images into categories",
"icon": "🖼️",
"endpoint": "image-classification"
},
"feature_extraction": {
"name": "Feature Extraction",
"description": "Extract embeddings/features from text",
"icon": "🔍",
"endpoint": "feature-extraction"
}
}
MODELS = {
"text-generation": [
"meta-llama/Llama-3.2-1B-Instruct",
"meta-llama/Llama-3.2-3B-Instruct",
"mistralai/Mistral-7B-Instruct-v0.2",
"microsoft/Phi-3-mini-128k-instruct",
"Qwen/Qwen2.5-7B-Instruct",
"deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct"
],
"summarization": [
"facebook/bart-large-cnn",
"google/pegasus-xsum",
"t5-base"
],
"translation": [
"facebook/mbart-large-50-many-to-many-mmt",
"Helsinki-NLP/opus-mt-zh-en",
"Helsinki-NLP/opus-mt-en-zh"
],
"question-answering": [
"deepset/roberta-base-squad2",
"distilbert-base-cased-distilled-squad"
],
"sentiment-analysis": [
"distilbert-base-uncased-finetuned-sst-2-english",
"nlptown/bert-base-multilingual-uncased-sentiment"
],
"code-generation": [
"deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct",
"mistralai/CodeInstruct-7B"
]
}
def get_tool_card(tool_id: str) -> str:
"""Generate tool card HTML"""
tool = TOOLS.get(tool_id, {})
models = MODELS.get(tool.get("endpoint", ""), [])
models_html = "
".join([f"• `{m}`" for m in models[:3]])
if len(models) > 3:
models_html += f"
... and {len(models)-3} more"
return f"""
{tool.get('description', '')}