Skip to main content

llama-index packs fuzzy_citation integration

Project description

Fuzzy Citation Query Engine Pack

Creates and runs a CustomQueryEngine -- FuzzCitationQueryEngine -- which post-processes response objects to identify source sentences using fuzzy matching.

The identified sentences are available in the response.metadata dictionary, containing a mapping of (response_sentence, source_chunk) -> {"start_char_idx": idx, "end_char_idx": idx, "node" node}. The start/end idxs represent the character indexes in the node text that the source chunk comes from.

The fuzzy matching uses fuzz.ratio() to compare sentences. The default threshold score is 50.

CLI Usage

You can download llamapacks directly using llamaindex-cli, which comes installed with the llama-index python package:

llamaindex-cli download-llamapack FuzzyCitationEnginePack --download-dir ./fuzzy_citation_pack

You can then inspect the files at ./fuzzy_citation_pack and use them as a template for your own project!

Code Usage

You can download the pack to a the ./fuzzy_citation_pack directory:

from llama_index.core import Document, VectorStoreIndex
from llama_index.core.llama_pack import download_llama_pack

# download and install dependencies
FuzzyCitationEnginePack = download_llama_pack(
    "FuzzyCitationEnginePack", "./fuzzy_citation_pack"
)

index = VectorStoreIndex.from_documents([Document.example()])
query_engine = index.as_query_engine()

fuzzy_engine = FuzzyCitationEnginePack(query_engine, threshold=50)

The run() function is a light wrapper around query_engine.query(). The response will have metadata attached to it indicating the fuzzy citations.

response = fuzzy_engine.run("What can you tell me about LLMs?")

# print source sentences
print(response.metadata.keys())

# print full source sentence info
print(response.metadata)

See the notebook on llama-hub for a full example.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file llama_index_packs_fuzzy_citation-0.3.0.tar.gz.

File metadata

File hashes

Hashes for llama_index_packs_fuzzy_citation-0.3.0.tar.gz
Algorithm Hash digest
SHA256 59d5bde2e97efdc48a2dbf9771dfccb593ffcea8e9b441758da80155108774c9
MD5 c70e0135396c7e902d63be00b28902b1
BLAKE2b-256 b8239e10ac808547023ea665a3b6e21ae9d8e94e6db5c50d21ab5251b6ff8411

See more details on using hashes here.

File details

Details for the file llama_index_packs_fuzzy_citation-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_packs_fuzzy_citation-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c3f060436a7e98f12efc811248f9b4a935f9ecebe46464960c31afee68b81c6
MD5 5e96ab52faeef1cb19addc137d8b82f6
BLAKE2b-256 808f443b095651ee02d7a2757b01f7483af5af0844baf4ca402bab665e66f9d4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page