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.2.0.tar.gz.

File metadata

File hashes

Hashes for llama_index_packs_fuzzy_citation-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f14770e4bbe84f2a2684e79d3aac6f2255427351a5f647f0a29db3089284b6b3
MD5 a5d50209a38efcc45668eb2f37cb2726
BLAKE2b-256 65ec8b9a39dc2198f443a4aa6944784a345c3050a71cff79532ecfa46b0df0ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for llama_index_packs_fuzzy_citation-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2810a775869067f520cdc28c44ddca6deb0c4093c72e2d036eba849121e4c6f0
MD5 fac4274b3b30c8fa7d26cb7f3e279e3c
BLAKE2b-256 e7717bcd2d29adf25fb8256d8acbfe481e9144a654bb4ada024351de3fdb81a4

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