# What Data Can Hello-Agents Process? Complete Guide to Supported Formats

> Discover what data hello-agents can process. Explore support for text, PDFs, CSV, images, logs, markdown, and JSON in this comprehensive guide to agent data ingestion.

- Repository: [Datawhale/hello-agents](https://github.com/datawhalechina/hello-agents)
- Tags: how-to-guide
- Published: 2026-05-09

---

**Hello-Agents can process plain text, PDF documents, CSV/Excel spreadsheets, images, log files, markdown runbooks, and JSON payloads through modular ingestion pipelines that feed into LLM-driven agent workflows.**

The `datawhalechina/hello-agents` repository is a learning-by-doing framework that demonstrates how AI-native agents ingest, understand, and act on diverse data formats. Understanding what data hello-agents can process is essential for building effective agent applications, as the repository provides concrete, reusable implementations for each format within its tutorial chapters and co-creation projects.

## Text and Natural Language Inputs

At the foundation of every hello-agents workflow is the **LLMClient** module, which handles plain text and natural-language prompts. Located in [`code/chapter4/llm_client.py`](https://github.com/datawhalechina/hello-agents/blob/main/code/chapter4/llm_client.py), this client feeds text directly into agent reasoning loops including **ReAct**, **Plan-and-Solve**, and **Reflection** architectures. Any string-based input—whether user queries, system instructions, or generated context—passes through this centralized interface before reaching the underlying language model.

## PDF Documents

For PDF processing, hello-agents leverages the **pdfplumber** library to extract text and tables from academic papers, reports, and documentation. The implementation spans two key locations:

- `code/chapter8/11_Q&A_Assistant.py` contains the `load_document` method that opens PDFs, extracts page text, and optionally parses tables into CSV files.
- [`Co-creation-projects/healer-666-Academic-Data-Agent/src/data_analysis_agent/document_ingestion.py`](https://github.com/datawhalechina/hello-agents/blob/main/Co-creation-projects/healer-666-Academic-Data-Agent/src/data_analysis_agent/document_ingestion.py) provides the `_extract_pdf_payload` method for deeper document analysis.

The extracted content is then stored in a **RAG (Retrieval-Augmented Generation)** pipeline under a namespace like `pdf_{user_id}`, making it accessible for multi-turn conversations.

```python
from code.chapter8.11_Q&A_Assistant import QAAssistant

assistant = QAAssistant(user_id="demo")
assistant.load_document("/path/to/paper.pdf")          # extracts text & tables

response = assistant.ask("What are the main contributions?") 
print(response)

```

## CSV and Excel Spreadsheets

Tabular data processing supports **CSV**, **XLS**, and **XLSX** formats through pandas-based ingestion pipelines. In [`Co-creation-projects/healer-666-Academic-Data-Agent/src/data_analysis_agent/document_ingestion.py`](https://github.com/datawhalechina/hello-agents/blob/main/Co-creation-projects/healer-666-Academic-Data-Agent/src/data_analysis_agent/document_ingestion.py), the system defines `SUPPORTED_TABULAR_SUFFIXES = {".csv", ".xls", ".xlsx"}` and routes each file through `pandas.read_excel` or `pandas.read_csv`.

The ingestion routine converts Excel sheets into individual CSV files, generates column statistics, and saves a canonical `cleaned_data.csv` for downstream agent analysis.

```python
from Co-creation-projects.healer-666-Academic-Data-Agent.src.data_analysis_agent.document_ingestion import DocumentIngestion

doc_ing = DocumentIngestion()
doc_ing.ingest("/data/sales.xlsx")                     # converts sheets to CSV

summary = doc_ing.summarize()                         # returns a dict with stats

print(summary["column_stats"]["Revenue"]["mean"])

```

## Image Data

While hello-agents does not embed a native vision model for direct pixel analysis, it provides the **search_image_tool** ([`Co-creation-projects/afei-GuessWhoAmI/backend/tools/search_image_tool.py`](https://github.com/datawhalechina/hello-agents/blob/main/Co-creation-projects/afei-GuessWhoAmI/backend/tools/search_image_tool.py)) for retrieving image URLs from external APIs. These URLs can be displayed in Gradio interfaces or potentially fed into vision-capable LLMs for multimodal reasoning.

```python
from Co-creation-projects.afei-GuessWhoAmI.backend.tools.search_image_tool import search_image

urls = search_image("golden retriever", top_k=3)
for u in urls:
    display(Image(url=u))

```

## Log Files and System Metrics

For DevOps and SRE use cases, the **LogSearcher** class in [`Co-creation-projects/zjzhou-SREOnCallAgent/src/tools/log_search_tool.py`](https://github.com/datawhalechina/hello-agents/blob/main/Co-creation-projects/zjzhou-SREOnCallAgent/src/tools/log_search_tool.py) processes raw log files and metric snapshots. The tool accepts regex patterns, date ranges, and file paths, returning structured data that agents use for troubleshooting and root-cause analysis.

```python
from Co-creation-projects.zjzhou-SREOnCallAgent.src.tools.log_search_tool import LogSearcher

searcher = LogSearcher()
matches = searcher.search("ERROR", start="2024-01-01", end="2024-01-07")
print(f"Found {len(matches)} error lines")

```

## Structured Runbooks and JSON Payloads

Beyond file-based inputs, hello-agents handles **structured markdown runbooks** and **arbitrary JSON payloads**. The [`runbook_tool.py`](https://github.com/datawhalechina/hello-agents/blob/main/runbook_tool.py) module in [`Co-creation-projects/zjzhou-SREOnCallAgent/src/tools/runbook_tool.py`](https://github.com/datawhalechina/hello-agents/blob/main/Co-creation-projects/zjzhou-SREOnCallAgent/src/tools/runbook_tool.py) parses procedural documentation into indexed knowledge. Additionally, agents like the one in [`Co-creation-projects/haoye2-UnivesalAgent/src/agents/agent_universal.py`](https://github.com/datawhalechina/hello-agents/blob/main/Co-creation-projects/haoye2-UnivesalAgent/src/agents/agent_universal.py) ingest JSON configuration files and API responses directly via `json.loads`. These structured inputs enable agents to reference operational procedures or dynamic configuration data during reasoning loops.

## Summary

- **Plain text** flows through `LLMClient` in [`code/chapter4/llm_client.py`](https://github.com/datawhalechina/hello-agents/blob/main/code/chapter4/llm_client.py) to power ReAct and Reflection agents.
- **PDFs** are processed via `pdfplumber` in `code/chapter8/11_Q&A_Assistant.py` and the academic data agent's ingestion module.
- **CSV and Excel** files are handled by pandas in [`document_ingestion.py`](https://github.com/datawhalechina/hello-agents/blob/main/document_ingestion.py) with automatic cleaning and statistics generation.
- **Images** are retrieved via external API calls through [`search_image_tool.py`](https://github.com/datawhalechina/hello-agents/blob/main/search_image_tool.py).
- **Log files** are searched and filtered using `LogSearcher` for operational intelligence.
- **Runbooks and JSON** provide structured context for specialized agents in the co-creation projects.

All pathways integrate with the **RAG pipeline** to maintain conversational memory across data types.

## Frequently Asked Questions

### Can hello-agents process multiple data types in a single workflow?

Yes. The modular architecture allows agents to ingest PDFs, query CSV statistics, and reference JSON configuration files within the same conversation. The RAG pipeline stores processed content under unique namespaces, enabling cross-referencing between documents and tabular data.

### Does hello-agents support direct image analysis or computer vision?

The repository currently focuses on image retrieval rather than native pixel analysis. The [`search_image_tool.py`](https://github.com/datawhalechina/hello-agents/blob/main/search_image_tool.py) module fetches image URLs that can be displayed or passed to vision-capable LLMs, but does not perform embedded computer vision tasks like object detection.

### How are Excel files with multiple sheets handled?

According to [`document_ingestion.py`](https://github.com/datawhalechina/hello-agents/blob/main/document_ingestion.py), each sheet in an Excel workbook is treated as a separate table and converted to individual CSV files. Agents can then query specific sheets or combine data across the converted outputs for comprehensive analysis.

### Is there a unified interface for all data ingestion?

While specific data types have specialized handlers (e.g., `DocumentIngestion` for files, `LogSearcher` for logs), the **RAGTool** class provides a unified storage and retrieval layer. After processing, all data resides in a common memory store accessible to downstream agent reasoning loops.