RAGWire v1.1.1 — Rename, Directory Ingestion, Custom Metadata & RAG Agent
RAGWire v1.1.1 — Rename, Directory Ingestion, Custom Metadata & RAG Agent
Breaking Changes
RAGPipelinerenamed toRAGWire— update your imports:from ragwire import RAGWire rag = RAGWire("config.yaml")
New Features
- Directory ingestion — ingest an entire folder with one call
rag.ingest_directory("data/", recursive=True)
- Progress bar —
ingest_documents()now shows atqdmprogress bar automatically - Custom metadata YAML — define your own extraction fields without touching code
# metadata.yaml fields: - name: organization description: "Organization name in lowercase" - name: doc_type values: ["contract", "policy", "report"]
# config.yaml metadata: config_file: "metadata.yaml"
- Env var substitution in config — use
${VAR}anywhere inconfig.yamlvectorstore: api_key: "${QDRANT_API_KEY}"
DocumentMetadataaccepts extra fields — custom metadata fields no longer raise validation errorscreated_attimestamp — now correctly set on every chunk at ingestion time
New APIs
| API | Description |
|---|---|
rag.ingest_directory(path, recursive, extensions) |
Ingest all documents from a folder |
MetadataExtractor.from_yaml(llm, path) |
Load extractor config from a YAML file |
MetadataExtractor.build_prompt_from_fields(fields) |
Auto-build extraction prompt from field definitions |
Model Updates
- OpenAI default LLM →
gpt-5.4-nano - Groq default model →
qwen/qwen3-32b
RAG Agent
New end-to-end example using LangChain create_agent with RAGWire as a retrieval tool — supports single-turn Q&A, multi-turn memory, and structured output.
from langchain.agents import create_agent
from langchain.tools import tool
from langchain_openai import ChatOpenAI
from ragwire import RAGWire
rag = RAGWire("config.yaml")
rag.ingest_directory("data/")
@tool
def search_documents(query: str) -> str:
"""Search the document knowledge base."""
results = rag.retrieve(query, top_k=5)
return "\n\n".join(doc.page_content for doc in results)
agent = create_agent(
model=ChatOpenAI(model="gpt-5.4-nano", temperature=0),
tools=[search_documents],
system_prompt="You are a helpful document assistant.",
)See the RAG Agent guide for the full example.
Documentation
- New RAG Agent page — single-turn, multi-turn memory, structured output
- All provider pages updated with agent examples
- API reference reorganised into Core and Low-level/Advanced sections