<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LangChain - Hard Wired</title>
	<atom:link href="https://www.hardwired.dev/tag/langchain/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hardwired.dev</link>
	<description></description>
	<lastBuildDate>Fri, 10 Apr 2026 10:41:42 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.hardwired.dev/wp-content/uploads/2022/10/android-chrome-256x256-1-150x150.png</url>
	<title>LangChain - Hard Wired</title>
	<link>https://www.hardwired.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AI Bits &#8211; OpenDataLoader PDF</title>
		<link>https://www.hardwired.dev/2026/04/12/ai-bits-opendataloader-pdf/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 12:37:18 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[benchmarky]]></category>
		<category><![CDATA[documentai]]></category>
		<category><![CDATA[hancom]]></category>
		<category><![CDATA[LangChain]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[pdfparser]]></category>
		<category><![CDATA[RAG]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3021</guid>

					<description><![CDATA[<p>OpenDataLoader PDF je open-source parser PDF pro AI aplikace. Převádí dokumenty do strukturovaných formátů jako JSON nebo Markdown. Kdo za &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/04/12/ai-bits-opendataloader-pdf/">AI Bits – OpenDataLoader PDF</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>OpenDataLoader PDF je open-source parser PDF pro AI aplikace. Převádí dokumenty do strukturovaných formátů jako JSON nebo Markdown.</p>
<h2>Kdo za projektem stojí</h2>
<p>Projekt vede OpenDataLoader Project na GitHubu (opendataloader-project). Vydavatel je Hancom Inc., která v březnu 2026 vydala verzi 2.0 s vylepšeným motorem.</p>
<h2>K čemu slouží</h2>
<p>Parser extrahuje text, tabulky, obrázky a layout do formátů pro RAG, LLM a vektorovky. Běží lokálně bez GPU, filtruje bezpečnostní rizika a podporuje LangChain integraci. Usnadňuje zpracování velkých sad PDF pro AI workflow.</p>
<h2>Čísla a benchmarky</h2>
<p>Verze 2.0 vede open-source benchmarky s celkovým skórem 0.90. Nabízí vysoký throughput díky heuristické inferenci, bez cloud závislosti.</p>
<table>
<thead>
<tr>
<th>Výstup</th>
<th>Funkce</th>
<th>Použití</th>
</tr>
</thead>
<tbody>
<tr>
<td>JSON</td>
<td>Layout + bounding boxy</td>
<td>RAG DB</td>
</tr>
<tr>
<td>Markdown</td>
<td>Struktura + obrázky</td>
<td>LLM</td>
</tr>
<tr>
<td>HTML</td>
<td>Stylovaný</td>
<td>Web</td>
</tr>
</tbody>
</table>
<h2>Zdroje</h2>
<ul>
<li><a href="https://github.com/opendataloader-project/opendataloader-pdf[1">https://github.com/opendataloader-project/opendataloader-pdf[1</a>]</li>
<li><a href="https://www.npmjs.com/package/@opendataloader/pdf[2">https://www.npmjs.com/package/@opendataloader/pdf[2</a>]</li>
<li><a href="https://pdfa.org/opendataloader-pdf-v20-tops-open-source-pdf-benchmarks-in-pdf-data-loading/[3">https://pdfa.org/opendataloader-pdf-v20-tops-open-source-pdf-benchmarks-in-pdf-data-loading/[3</a>]</li>
<li><a href="https://docs.langchain.com/oss/python/integrations/document_loaders/opendataloader_pdf[5">https://docs.langchain.com/oss/python/integrations/document_loaders/opendataloader_pdf[5</a>]</li>
<li><a href="https://opendataloader.org[6">https://opendataloader.org[6</a>]</li>
<li><a href="https://github.com/opendataloader-project[4">https://github.com/opendataloader-project[4</a>]</li>
</ul>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F04%2F12%2Fai-bits-opendataloader-pdf%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/04/12/ai-bits-opendataloader-pdf/">AI Bits – OpenDataLoader PDF</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Context Engineering: Nová disciplína, která mění pravidla AI</title>
		<link>https://www.hardwired.dev/2025/08/17/context-engineering-nova-disciplina-ktera-meni-pravidla-ai/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sun, 17 Aug 2025 06:51:26 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[AI agenti]]></category>
		<category><![CDATA[AI aplikace]]></category>
		<category><![CDATA[AI architektury]]></category>
		<category><![CDATA[AI asistenti]]></category>
		<category><![CDATA[AI best practices]]></category>
		<category><![CDATA[AI debugging]]></category>
		<category><![CDATA[AI development]]></category>
		<category><![CDATA[AI frameworks]]></category>
		<category><![CDATA[AI governance]]></category>
		<category><![CDATA[AI memory]]></category>
		<category><![CDATA[AI nástroje]]></category>
		<category><![CDATA[AI orchestrace]]></category>
		<category><![CDATA[AI research]]></category>
		<category><![CDATA[AI strategie]]></category>
		<category><![CDATA[AI testing]]></category>
		<category><![CDATA[AI workflows]]></category>
		<category><![CDATA[Anthropic MCP]]></category>
		<category><![CDATA[Automatizace]]></category>
		<category><![CDATA[Business intelligence]]></category>
		<category><![CDATA[Chatboti]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[claude]]></category>
		<category><![CDATA[Cognitive science]]></category>
		<category><![CDATA[Context compression]]></category>
		<category><![CDATA[Context layering]]></category>
		<category><![CDATA[Context optimization]]></category>
		<category><![CDATA[Context validation]]></category>
		<category><![CDATA[Customer service AI]]></category>
		<category><![CDATA[Deep learning]]></category>
		<category><![CDATA[Enterprise AI]]></category>
		<category><![CDATA[GPT-4]]></category>
		<category><![CDATA[Kódovací asistenti]]></category>
		<category><![CDATA[Konverzační AI]]></category>
		<category><![CDATA[LangChain]]></category>
		<category><![CDATA[LlamaIndex]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[Model Context Protocol]]></category>
		<category><![CDATA[Multi-modal AI]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[Paměťové systémy]]></category>
		<category><![CDATA[Právní AI]]></category>
		<category><![CDATA[Production AI]]></category>
		<category><![CDATA[prompt engineering]]></category>
		<category><![CDATA[Python AI]]></category>
		<category><![CDATA[RAG]]></category>
		<category><![CDATA[Retrieval-Augmented Generation]]></category>
		<category><![CDATA[Semantic search]]></category>
		<category><![CDATA[Software architecture]]></category>
		<category><![CDATA[Tech trendy]]></category>
		<category><![CDATA[Token optimization]]></category>
		<category><![CDATA[Tool management]]></category>
		<category><![CDATA[umela inteligence]]></category>
		<category><![CDATA[Vector databáze]]></category>
		<category><![CDATA[velké jazykové modely]]></category>
		<category><![CDATA[Zde jsou štítky pro WordPress článek o context engineering: Context Engineering]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2800</guid>

					<description><![CDATA[<p>Context Engineering: Nová disciplína, která mění pravidla AI Jak jsem se naučil, že úspěch AI aplikací nezávisí na dokonalém promptu, &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2025/08/17/context-engineering-nova-disciplina-ktera-meni-pravidla-ai/">Context Engineering: Nová disciplína, která mění pravidla AI</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><h1>Context Engineering: Nová disciplína, která mění pravidla AI</h1>
<p><em>Jak jsem se naučil, že úspěch AI aplikací nezávisí na dokonalém promptu, ale na tom, co model &quot;vidí&quot; kolem něj</em></p>
<p>Před třemi lety jsem trávil hodiny ladění promptů. Psal jsem stránkové instrukce, experimentoval s různými formulacemi, testoval desítky variant. A přesto můj AI asistent zapomínal klíčové informace z předchozích konverzací, můj kódovací pomocník ztrácel přehled o architektuře projektu a RAG systém nedokázal propojit souvislosti napříč dokumenty.</p>
<p>Pak jsem pochopil zásadní věc: problém nebyl v tom, <em>jak</em> jsem se modelu ptal, ale v tom, <em>co všechno model věděl</em> v okamžiku, kdy odpovídal. Objevil jsem context engineering – disciplínu, která překračuje hranice prompt engineeringu a mění celou hru.</p>
<h2>Proč prompt engineering přestal stačit</h2>
<p>Když poprvé otevřete ChatGPT, připadá vám to jednoduché: napíšete otázku, dostanete odpověď. Jenže reality produkčních AI aplikací je jiná. Představte si, že stavíte AI asistenta pro zákaznický servis. Potřebuje:</p>
<ul>
<li>Znát historii všech předchozích interakcí s klientem</li>
<li>Mít přístup k aktuálním informacím o produktech</li>
<li>Rozumět firemním procesům a pravidlům</li>
<li>Pamatovat si kontext celé konverzace</li>
<li>Umět zavolat externí API pro ověření dat</li>
</ul>
<p>Žádný prompt, ať je sebevíc dokonalý, to sám nezvládne. Potřebujete systém, který modelu poskytne správný kontext ve správný čas. To je podstata context engineeringu.</p>
<h2>Co je context engineering v praxi</h2>
<p><strong>Context engineering je disciplína navrhování a budování systémů, které orchestrují všechny informace, nástroje a paměť potřebné k tomu, aby AI dokázala řešit složité, real-world úkoly.</strong></p>
<p>Nejde jen o prompt. Jde o celý informační ekosystém kolem modelu.</p>
<h3>Reálný příklad z mé praxe</h3>
<p>Nedávno jsem stavěl AI asistenta pro právní kancelář. Klasický přístup by byl:</p>
<pre><code>Jsi právní expert. Odpovídej na otázky klientů o smluvním právu.</code></pre>
<p>Context engineering přístup vypadal takto:</p>
<p><strong>1. Systémový kontext:</strong></p>
<pre><code>Role: Senior právní poradce specializující se na obchodní právo
Firma: [název], 15 let praxe, focus na SaaS a tech startupy  
Regulatory environment: České právo, EU regulace</code></pre>
<p><strong>2. Dynamický retrieval:</strong></p>
<pre><code class="language-python"># Při každé otázce systém:
query = user_question
relevant_cases = vector_search(query, case_database)
current_legislation = api_call(&quot;legal_updates&quot;, query)
client_history = get_client_context(client_id)
firm_templates = search_templates(query)</code></pre>
<p><strong>3. Paměťový systém:</strong></p>
<pre><code class="language-python"># Kontext se skládal z:
- Dlouhodobé paměti klienta (preference, předchozí případy)
- Krátkodobé paměti konverzace (co už probrali dnes)
- Faktual knowledge base (zákony, judikáty)
- Tool access (kalkulačky poplatků, termíny soudů)
- Meta-context (urgence, složitost případu)</code></pre>
<p>Výsledek? Místo obecných právních rad model poskytoval konkrétní doporučení založená na historii klienta, aktuální legislativě a firemních postupech.</p>
<h2>Anatomie profesionálního context systému</h2>
<h3>1. Multi-layer memory architecture</h3>
<p><strong>Immediate context</strong> - co model &quot;vidí&quot; právě teď:</p>
<ul>
<li>Aktuální prompt a konverzace</li>
<li>Výsledky z právě provedených nástrojů</li>
<li>Dočasný stav úkolu</li>
</ul>
<p><strong>Session memory</strong> - co si pamatuje během práce:</p>
<ul>
<li>Historie kroků a rozhodnutí</li>
<li>Předchozí výsledky a chyby</li>
<li>Evoluce strategie řešení</li>
</ul>
<p><strong>Long-term memory</strong> - trvalé znalosti:</p>
<ul>
<li>User profily a preference</li>
<li>Learnt patterns a insights</li>
<li>Firemní knowledge base</li>
</ul>
<h3>2. Intelligent retrieval orchestration</h3>
<p>Nejsložitější část. Systém musí v real-time rozhodnout:</p>
<ul>
<li>Které dokumenty jsou relevantní</li>
<li>Jaké externí API zavolat</li>
<li>Kolik kontextu použít (token limits)</li>
<li>V jakém pořadí informace poskytovat</li>
</ul>
<p>Můj workflow:</p>
<pre><code class="language-python">def build_context(user_query, session_state):
    # 1. Analýza query
    intent = classify_intent(user_query)
    entities = extract_entities(user_query)

    # 2. Multi-source retrieval
    docs = semantic_search(user_query, weight=0.4)
    tools = suggest_tools(intent, weight=0.3) 
    memory = get_relevant_memory(session_state, weight=0.3)

    # 3. Context assembly
    context = assemble_context(
        system_prompt=get_system_prompt(intent),
        retrieved_docs=docs[:5],  # Top 5 to stay within limits
        available_tools=tools,
        conversation_memory=memory,
        user_profile=get_user_context()
    )

    return context</code></pre>
<h3>3. Dynamic context optimization</h3>
<p>Context není statický. Mění se podle:</p>
<p><strong>Task complexity</strong> - složité úkoly potřebují víc kontextu<br />
<strong>User expertise</strong> - expert vs. beginner potřebuje jiné informace<br />
<strong>Performance feedback</strong> - učení se z úspěchů a chyb<br />
<strong>Resource constraints</strong> - tokens, latency, costs</p>
<h2>Praktické techniky z praxe</h2>
<h3>Context Layering</h3>
<p>Místo jednoho obřího promptu stavím kontext po vrstvách:</p>
<pre><code class="language-python"># Layer 1: Core identity
system_role = &quot;&quot;&quot;
Senior business analyst s 10+ lety zkušeností
Specializace: SaaS metriky, customer analytics
Styl: Data-driven, konkrétní doporučení
&quot;&quot;&quot;

# Layer 2: Current task context  
task_context = f&quot;&quot;&quot;
Aktuální projekt: {project_name}
Deadline: {deadline}
Stakeholders: {stakeholder_list}
Previous insights: {session_memory}
&quot;&quot;&quot;

# Layer 3: Dynamic information
dynamic_context = f&quot;&quot;&quot;
Relevantní data: {retrieved_data}
Dostupné nástroje: {available_tools}
Aktuální metrics: {live_metrics}
&quot;&quot;&quot;</code></pre>
<h3>Context Chaining</h3>
<p>Pro komplexní úkoly rozdělím práci do kroků, kde výstup jednoho kroku se stává kontextem pro další:</p>
<pre><code class="language-python"># Krok 1: Analýza problému
problem_analysis = llm_call(
    context=base_context + user_problem,
    task=&quot;Analyzuj problém a identifikuj klíčové otázky&quot;
)

# Krok 2: Sběr dat s kontextem z kroku 1
data_context = base_context + problem_analysis
retrieved_data = gather_data(problem_analysis.key_questions)

# Krok 3: Řešení s full kontextem
solution = llm_call(
    context=data_context + retrieved_data,
    task=&quot;Navrhni řešení založené na analýze a datech&quot;
)</code></pre>
<h3>Adaptive Context Compression</h3>
<p>Když se blížím k token limitu, používám kompresní strategie:</p>
<pre><code class="language-python">def compress_context(context_items, max_tokens):
    if calculate_tokens(context_items) &lt;= max_tokens:
        return context_items

    # Prioritizace podle důležitosti
    prioritized = rank_by_relevance(context_items)

    # Postupná komprese
    compressed = []
    token_budget = max_tokens

    for item in prioritized:
        if item.type == &quot;critical&quot;:
            compressed.append(item)  # Vždy zahrnout
        elif item.type == &quot;supporting&quot;:
            if token_budget &gt; estimate_tokens(item):
                compressed.append(summarize(item))  # Komprese

    return compressed</code></pre>
<h2>Časté problémy a jejich řešení</h2>
<h3>Context Poisoning</h3>
<p><strong>Problém:</strong> Chyba se dostane do kontextu a pak se propaguje dál.</p>
<p><strong>Řešení z praxe:</strong></p>
<pre><code class="language-python">def validate_context(context_item):
    # Fact-checking pro kritické informace
    if context_item.type == &quot;factual&quot;:
        confidence = fact_check(context_item.content)
        if confidence &lt; 0.8:
            context_item.add_disclaimer(&quot;Unverified information&quot;)

    # Timestamp check pro časově citlivé info
    if context_item.age &gt; MAX_STALENESS:
        refresh_data(context_item)

    return context_item</code></pre>
<h3>Context Overload</h3>
<p><strong>Problém:</strong> Příliš mnoho informací rozptyluje model.</p>
<p><strong>Mé řešení:</strong></p>
<ul>
<li>Používám &quot;attention hints&quot; - explicitně říkám, na co se zaměřit</li>
<li>Strukturuji kontext hierarchicky (nejdůležitější nahoře)</li>
<li>Implementuji &quot;context budgeting&quot; - každý typ info má limit</li>
</ul>
<pre><code class="language-python">context_budget = {
    &quot;system_instructions&quot;: 500,   # tokens
    &quot;user_input&quot;: 1000,
    &quot;retrieved_docs&quot;: 2000,
    &quot;tool_outputs&quot;: 1500,
    &quot;memory&quot;: 1000
}</code></pre>
<h3>Tool Confusion</h3>
<p><strong>Problém:</strong> Model si vybírá špatné nástroje.</p>
<p><strong>Moje strategie:</strong></p>
<pre><code class="language-python">def smart_tool_selection(user_intent, available_tools):
    # Jen relevantní nástroje pro daný typ úkolu
    if user_intent == &quot;data_analysis&quot;:
        return [tools.python_executor, tools.data_visualizer]
    elif user_intent == &quot;web_research&quot;:
        return [tools.web_search, tools.summarizer]

    # Nikdy nedávat všechny nástroje najednou
    return filter_tools_by_relevance(available_tools, max_count=5)</code></pre>
<h2>Frameworky a nástroje</h2>
<h3>LangChain/LangGraph</h3>
<p>Skvělé pro orchestraci workflows, ale pozor na over-engineering:</p>
<pre><code class="language-python">from langgraph import StateGraph

# Definuji workflow s explicitním context flow
workflow = StateGraph()
workflow.add_node(&quot;analyze&quot;, analyze_with_context)
workflow.add_node(&quot;retrieve&quot;, smart_retrieval) 
workflow.add_node(&quot;synthesize&quot;, synthesize_response)

# Context se propaguje mezi kroky
workflow.add_edge(&quot;analyze&quot;, &quot;retrieve&quot;)
workflow.add_edge(&quot;retrieve&quot;, &quot;synthesize&quot;)</code></pre>
<h3>LlamaIndex</h3>
<p>Exceluje v knowledge management:</p>
<pre><code class="language-python">from llama_index import VectorStoreIndex, ContextBuilder

# Automatické budování kontextu
context_builder = ContextBuilder()
context_builder.add_memory_layer(user_profile)
context_builder.add_retrieval_layer(document_index)
context_builder.add_tool_layer(available_functions)</code></pre>
<h3>Anthropic MCP</h3>
<p>Nejnovější standard pro propojení AI s externí systémy:</p>
<pre><code class="language-python"># MCP server pro firemní data
mcp_server = MCPServer()
mcp_server.register_resource(&quot;customer_db&quot;, CustomerDatabase())
mcp_server.register_tool(&quot;send_email&quot;, EmailTool())

# AI má strukturovaný přístup k firemním systémům</code></pre>
<h2>Budoucnost context engineeringu</h2>
<p>Vidím tři hlavní trendy:</p>
<p><strong>1. Automated Context Assembly</strong><br />
AI začíná samo rozpoznávat, jaký kontext potřebuje. Experiments s &quot;self-reflective agents&quot; ukazují zajímavé výsledky.</p>
<p><strong>2. Multi-Modal Context Integration</strong><br />
Kombinace textu, obrázků, audio, video do jednotného kontextu. Pracuji na projektu, kde AI analyzuje video cally a extrahuje kontext pro další rozhodnutí.</p>
<p><strong>3. Collaborative Context Networks</strong><br />
Více AI agentů sdílí kontext a buduje kolektivní &quot;paměť&quot; týmu.</p>
<h2>Co si odnést domů</h2>
<p>Context engineering není jen technická disciplína – je to nový způsob myšlení o AI aplikacích. Moje klíčová doporučení:</p>
<p><strong>1. Začněte s auditem kontextu</strong><br />
Podívejte se na vaše současné AI aplikace. Co všechno model &quot;nevidí&quot;, ale měl by?</p>
<p><strong>2. Investujte do memory systémů</strong><br />
Dlouhodobá paměť je game-changer. AI, které si pamatuje vaše preference a zkušenosti, je kvalitativně jiné.</p>
<p><strong>3. Experimentujte s context compression</strong><br />
Naučte se čistit a komprimovat kontext. Méně může být více.</p>
<p><strong>4. Měřte context effectiveness</strong><br />
Trackujte, které části kontextu model skutečně používá. Optimalizujte na základě dat.</p>
<p><strong>5. Myslĕte systémově</strong><br />
Context engineering je systémová disciplína. Nejde o izolované prompty, ale o architekturu informačních toků.</p>
<p>A především: context engineering je budoucnost AI aplikací. Kdo ho zvládne dřív, získá obrovskou výhodu.</p>
<hr />
<p><em>Po několika letech experimentování s LLM si myslím, že context engineering je nejdůležitější skill pro AI builders. Není to jen o tom dát modelu správné informace – je to o pochopení toho, jak AI &quot;myslí&quot; a jak navrhnout systémy, které s tímto myšlením spolupracují. Je to fascinující kombinace software architecture, cognitive science a trochy magie.</em></p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2025%2F08%2F17%2Fcontext-engineering-nova-disciplina-ktera-meni-pravidla-ai%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2025/08/17/context-engineering-nova-disciplina-ktera-meni-pravidla-ai/">Context Engineering: Nová disciplína, která mění pravidla AI</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
