LLM Tornado
repository·master·Indexed 20 days ago
https://github.com/lofcz/llmtornadoA provider-agnostic .NET SDK for building and orchestrating AI agents and workflows. It features built-in connectors for over 30 AI providers (including OpenAI, Anthropic, and Google) and various vector databases like Chroma and Pinecone. The SDK includes a framework for agent orchestration using Orchestrators, Runners, and Advancers, support for the Model Context Protocol (MCP) via LlmTornado.Mcp, and an Agent-to-Agent (A2A) communication interface.
What's inside LLM Tornado
- A2A is a communication protocol/interface within LLM Tornado designed for agent-to-agent interaction. It provides a set of asynchronous methods to manage agent tasks, messaging, and lifecycle. Currently, the implementation focuses on core task and message exchange capabilities.
What is FSKB and its core features?
masterFSKB is a semantic search engine and indexing tool for code repositories that uses dense embeddings to provide contextual search.
Key Capabilities:
- Semantic Search: Uses embeddings to understand code context.
- Indexing Engine: Recursively ingests files while honoring
.gitignoreand skipping heavy directories likenode_modulesorbin. - Embedding Providers: Supports Local models (via
sentence-transformersortransformers, including GPU/CUDA support and code-specialized models likejinaai/jina-code-embeddings-0.5b) and API-based models (OpenAI, Anthropic, Google Generative AI, VoyageAI via Litellm). - Vector Storage: Uses ChromaDB for managing dense vector storage.
- MCP Support: Can run as a standard stdio Model Context Protocol (MCP) server.
- UIs: Offers a Graphical Interface (
PyQt6) or a headless mode. - File Watching: Integrates with
watchdogto keep the index synchronized with your code changes.
Overview of LlmTornado.Internal.Press
masterLlmTornado.Internal.Press is an AI-powered journalist agent system designed to generate SEO-optimized, trend-aware articles. It uses theLlmTornado.Agentsframework to orchestrate an autonomous pipeline that includes trend analysis, research, writing, and a guided autonomy review loop. The system is capable of generating hero images via DALL-E and exporting content as both Markdown and JSON files.Overview of the Deep Researcher Skill
masterThe Deep Researcher skill is designed for comprehensive, multi-layered investigations of complex topics. Unlike simple search tools, it uses a structured 6-step methodology to transform surface-level inquiries into thorough research reports featuring validated findings, cross-referenced sources, and actionable insights.
Key Capabilities
- Structured Research Process: Follows a proven 6-step methodology.
- Multi-Source Validation: Cross-references information across multiple sources for accuracy.
- Comprehensive Analysis: Identifies patterns and connections across diverse information.
- Professional Reporting: Generates structured reports with executive summaries.
- Quality Assurance: Includes built-in validation and verification steps.
- Flexible Depth: Adaptable to different complexity levels and time constraints.
Overview of LLM Tornado features
masterLLM Tornado is a provider-agnostic .NET SDK designed for building, orchestrating, and deploying AI agents and workflows.
Key capabilities include:
- Multi-Provider Support: Built-in connectors for 30+ providers (e.g., OpenAI, Anthropic, Azure, Google, Mistral, DeepSeek) without requiring first-party SDKs.
- Local Deployment: Support for vLLM, Ollama, and LocalAI with request transformation capabilities.
- Agent Orchestration: A framework for coordinating specialist agents using
Orchestrator(graphs),Runner(nodes), andAdvancer(edges). - Multimodal Support: Handles text, images, videos, documents, URLs, and audio.
- Vector Database Connectors: Built-in support for Chroma, PgVector, Pinecone, Faiss, and QDrant.
- Advanced Protocols: Integration with Model Context Protocol (
LlmTornado.Mcp) and Agent2Agent (LlmTornado.A2A). - Enterprise Features: Guardrails framework, OpenTelemetry support, and request/response transformation.
Use the pdf-processor skill for document extraction
masterThepdf-processorskill is designed for tasks involving PDF files, such as extracting text and tables, filling forms, and merging documents. Trigger this skill when a user mentions PDFs, forms, or document extraction requirements.Implement a Two-Stage Retrieval Pipeline
masterFor high-performance RAG (Retrieval-Augmented Generation) systems, use a two-stage approach:
- Initial Retrieval: Use fast methods like vector search (embeddings) to retrieve a larger pool of candidate documents (e.g., top 50).
- Reranking: Use a sophisticated reranking model to re-score those candidates and select the most relevant ones (e.g., top 5).
This approach balances speed and accuracy while managing costs.
async Task<List<string>> SearchWithRerank(string query, int finalCount = 5) { // Stage 1: Vector search to get candidates EmbeddingResult? queryEmbedding = await api.Embeddings.CreateEmbedding( EmbeddingModel.OpenAi.Gen2.Ada, query); // Get top 50 candidates from vector database List<string> candidates = await VectorSearch(queryEmbedding, topK: 50); // Stage 2: Rerank candidates RerankResult? reranked = await api.Rerank.CreateRerank( RerankModel.Cohere.Gen3.Multilingual, query, candidates, topN: finalCount); // Return reranked results return reranked.Results .Select(entry => candidates[entry.Index]) .ToList(); }How A2A Agent Runtime Configuration works
masterThe
BaseA2ATornadoRuntimeConfigurationis the core abstraction used to define how an agent behaves and how it describes itself to the network. To create a custom runtime, you must inherit fromBaseA2ATornadoRuntimeConfigurationand implement theDescribeAgentCard(string agentUrl)method. This method returns anAgentCardwhich contains the agent's metadata, capabilities, and skills, allowing other agents to discover and interact with it.public class MyA2ARuntime : BaseA2ATornadoRuntimeConfiguration { public override AgentCard DescribeAgentCard(string agentUrl) { return new AgentCard { Name = "MyAgent", Description = "A specialized agent for specific tasks", Url = agentUrl, Capabilities = new[] { "task1", "task2" } }; } }Understand the generated Skill structure
masterWhen a skill is generated, it follows a specific directory structure designed for workflow automation:
skill-name/ ├── SKILL.md # Main skill workflow ├── README.md # Documentation (optional) └── scripts/ # Supporting scripts (if needed) ├── helper.py └── setup.shWhen to use the Deep Researcher skill
masterUse the Deep Researcher skill when you need depth and validation rather than speed.
Ideal Scenarios
- Strategic Decision-Making: Informing important business or organizational decisions.
- Market Intelligence: Analyzing industries, competitors, trends, or customer segments.
- Technical Investigation: Deep dives into technologies, systems, or tools.
- Academic Research: Literature reviews and topic exploration.
- Due Diligence: Investigating before partnerships or investments.
- Problem Analysis: Understanding complex problems before designing solutions.
- Trend Analysis: Identifying emerging patterns.
- Comparative Studies: Evaluating multiple options or alternatives.
Not Recommended For
- Quick fact-checking: Use simple search instead.
- Real-time information needs: This skill prioritizes depth over speed.
- Highly specialized technical topics: May require human domain experts.
- Proprietary/Paywalled content: Limited to publicly accessible information.
Components of the Company Product Context Skill
masterThe skill is composed of three primary executable components:
extract_pdfs.py: A Python script that performs multi-page text extraction, section identification (e.g., products, business model), entity/metric extraction, and URL/email discovery. It outputs individual JSON files per PDF and an aggregatedcompany_analysis.json.compile_context.py: A Python script that aggregates data from extracted PDFs and manual research. It synthesizes sections, identifies information gaps, and generates a Markdown narrative report and a masterproduct_context.json.export_deliverables.sh: A Bash script that organizes all outputs (reports, raw data, templates, and summaries) into a structured directory and creates a compressed archive for sharing.
The Deep Researcher 6-step workflow
masterThe skill operates through a systematic, iterative process to ensure comprehensive coverage and reliable findings:
- Define Research Scope and Objectives: Establish research questions, boundaries, and expected deliverables.
- Conduct Initial Exploratory Research: Perform broad reconnaissance to map the information landscape and identify gaps.
- Deep Dive into Key Areas: Conduct targeted investigations of subtopics to gather technical details and multiple perspectives.
- Cross-Reference and Validate Findings: Verify facts across multiple sources and assess credibility to build a validated knowledge base.
- Synthesize and Analyze Information: Identify patterns, connections, and original insights to address research questions.
- Generate Structured Research Report: Produce a comprehensive report with an executive summary, organized by themes, including conclusions and source references.
1. Define Research Scope → 2. Exploratory Research → 3. Deep Dive ↓ 6. Generate Report ← 5. Synthesize & Analyze ← 4. Validate Findings