Odpověď o vašich dokumentech je jen tak dobrá, jak dobrý je text, ze kterého byla vytvořena, a když vložíte celé soubory do chatu, nemůžete zjistit, kterou část model skutečně použil. GroupDocs.Search.Mcp, běžící lokálně v Dockeru, poskytuje Claude Desktop, Cursor nebo Copilot jiný primitiv: get_text_fragments vrací pouze úryvky, které odpovídají dotazu, s několika slovy kontextu a souborem, ze kterého pocházejí, takže agent odpovídá z citací:
Co říkají mé smlouvy o sankcích? Citujte úryvky s dostatečným kontextem pro pochopení každého.
Verze krok za krokem s konfigurací a řešením problémů je v dokumentaci: Jak získat odpovídající úryvky místo čtení celých souborů.
Proč odpovědi odbočují od dokumentů?
Protože okno kontextu je rozpočet a celé dokumenty ho špatně využívají. Otázka o sankcích potřebuje možná tři věty z padesáti stran. Vložíte padesát stran a model musí najít ty tři věty sám, mezi vším ostatním, a pak je udržet, zatímco píše. Dlouhé kontexty jsou shrnuty, raný materiál ztrácí váhu a odpověď se opírá o obecný smysl modelu o tom, co smlouvy obvykle říkají, místo o to, co říkají vaše. Průmysl nazývá disciplínu řízení toho context engineering; nejjednodušší forma je nenačítat text, který nepotřebujete.
Jak vypadá úryvek?
Index již obsahuje text každého dokumentu, takže server může vyříznout úryvek kolem každé shody. Toto jsou skutečné odpovědi z našeho testu, proti pěti syntetickým smlouvám. Výchozí nastavení, osm slov na každé straně, dává frázi:
-> get_text_fragments {"query":"penalty","indexName":"contracts"}
<- === contracts/acme-master-services-agreement.pdf (1 occurrence(s)) ===
[content] …before the end of the Term, a termination penalty of
three monthly fees applies, payable within 30…
Dvacet slov na každé straně dává celou klauzuli:
-> get_text_fragments {"query":"penalty","indexName":"contracts",
"termsBefore":20,"termsAfter":20,"maxFragmentsPerDocument":1}
<- === contracts/acme-master-services-agreement.pdf (1 occurrence(s)) ===
…convenience on 90 days written notice.
12.3 If the Client terminates before the end of the Term, a termination
penalty of three monthly fees applies, payable within 30 days of the
termination date.
14.2 Force majeure: neither party is…
termsBefore a termsAfter jsou nastavitelný posuvník: malé pro „které soubory a přibližně kde“, velké pro „citujte mi klauzuli“. maxFragmentsPerDocument a maxDocuments omezují velikost odpovědi, takže slovo, které se vyskytuje dvě stěkrát, nezahlcuje kontext.
Rozpočet, vedle sebe
Čtení souborů Prohledávání indexu
------------------------------------- -------------------------------------
agent otevírá každý dokument search: které soubory odpovídají (JSON)
kontext roste s korpusem get_text_fragments: úryvky
dlouhé soubory vytlačují otázku (~8 slov na každé straně, na soubor)
opakováno pro každou otázku odpověď cituje soubor + úryvek
index je znovu použit příště
Rozdíl roste s korpusem. Pro tři krátké soubory to téměř nevadí. Pro složku s dlouhými smlouvami, zprávami a poštou jsou úryvky pro jednu otázku několik stovek slov, oproti celému textu každého kandidátního dokumentu.
Když se slova liší
Full-text vyhledávání odpovídá slovům, což je výhoda pro zakotvení (každý výsledek je vysvětlitelný) a omezení pro úplnost (synonymum je minulé). Úkolem agenta je zkoušet varianty a může vidět, co každá varianta skutečně našla:
-> search {"query":"renewal OR renews","indexName":"contracts"}
<- umbrella-office-lease.pdf, terms ["renewal", "renews"]
-> search {"query":"renewl","indexName":"contracts","fuzzy":true}
<- umbrella-office-lease.pdf, terms ["renewal", "renews", "rent"]
Fuzzy shoda zachránila překlep a také přidala rent. Protože odpověď uvádí termíny, které našla, může agent, nebo vy, vidět přehnané shody místo aby mu důvěřoval. Tato transparentnost je to, co by mělo znamenat „zakotvený“: nejen „odpověď cituje zdroj“, ale „můžete vidět, jak byl zdroj nalezen“.
Jak vypadá zakotvená odpověď
Požádejte o citace a odpověď přijde ve formě, kterou můžete na první pohled ověřit:
Dvě smlouvy obsahují ukončovací sankci. Acme MSA, klauzule 12.3: „ukončovací sankce ve výši tří měsíčních poplatků se uplatní, splatná do 30 dnů od data ukončení.“ Globex consulting agreement, sekce 9: „Klient platí 50 procent poplatků zbývajících pro aktuální fázi.“ Initech NDA zmiňuje ukončení a sankci, ale uvádí, že žádná sankce není.*
Pokud souhrn špatně přečte citaci, chyba bude přímo vedle citace.
Upřímná omezení
- V režimu hodnocení index obsahuje maximálně 100 dokumentů a vyhledávání vrací maximálně 10. Režim hodnocení také přidává řádek „Evaluation only…“ do indexovaného textu některých formátů, který se může objevit v úryvcích; zakupte licenci serveru a přestavěte index, aby byl odstraněn. Nejprve zavolejte
get_license_status. - Kontext úryvku se počítá ve slovech, ne ve větách, takže úryvek může začínat uprostřed věty; zvyšte
termsBefore, když je to důležité. - Žádné OCR: skeny bez textové vrstvy nemají žádné úryvky k vrácení.
- Pouze Docker; na Linuxu přidejte
--user \"$(id -u):$(id -g)\".
Často kladené otázky
Jak mohu přimět Claude citovat zdroje z mých dokumentů?
Dejte mu nástroj, který vrací text zdroje s názvem souboru. get_text_fragments dělá přesně to a instrukce jako „citujte úryvek a jeho soubor“ z toho udělá zvyk.
Snižuje to spotřebu tokenů?
Zabraňuje načítání celých dokumentů pro odpověď na otázku: agent čte pouze odpovídající úryvky. Kolik to ušetří, závisí na velikosti vašich souborů.
Může agent stále načíst celý soubor, když to potřebuje?
Ano, pomocí svých vlastních nástrojů pro soubory. Úryvky slouží k vyhledávání a citování; načtěte celý soubor, když úryvek není dostatečný.
Ponořte se hlouběji
- Dokumentace, kanonický návod: Jak získat odpovídající úryvky místo čtení celých souborů
- Dokumentační hub: GroupDocs.Search MCP Server
- Začněte zde: Potřebujete vektorovou databázi pro kladení otázek o složce dokumentů?
- Související: Proč by AI agent neměl číst 300 smluv pro odpověď na jednu otázku
- Související: grep neumí číst PDF: dejte svému programovacímu agentovi index dokumentů
- Související: Prohledejte archiv e‑mailů pomocí AI agenta: PST, MSG, EML a přílohy uvnitř
- Související: Projektová paměť pro AI agenty: jeden index na projekt, udržovaný aktuální
- On-premise a bezpečnostní model: 3 architektury pro AI zpracování dokumentů a ta, která udržuje soubory uvnitř vaší sítě
- Otázky: GroupDocs Search forum
- Zdroj: GroupDocs.Search.Mcp on GitHub