Spaces:
Runtime error
Runtime error
# + tags=["hide_inp"] | |
desc = """ | |
### Book QA | |
Chain that does question answering with Hugging Face embeddings. [[Code](https://github.com/srush/MiniChain/blob/main/examples/gatsby.py)] | |
(Adapted from the [LlamaIndex example](https://github.com/jerryjliu/gpt_index/blob/main/examples/gatsby/TestGatsby.ipynb).) | |
""" | |
# - | |
# $ | |
import datasets | |
import numpy as np | |
from minichain import prompt, show, HuggingFaceEmbed, OpenAI | |
# Load data with embeddings (computed beforehand) | |
gatsby = datasets.load_from_disk("gatsby") | |
gatsby.add_faiss_index("embeddings") | |
# Fast KNN retieval prompt | |
def get_neighbors(model, inp, k=1): | |
embedding = model(inp) | |
res = olympics.get_nearest_examples("embeddings", np.array(embedding), k) | |
return res.examples["passages"] | |
def ask(model, query, neighbors): | |
return model(dict(question=query, docs=neighbors)) | |
def gatsby(query): | |
n = get_neighbors(query) | |
return ask(query, n) | |
# $ | |
gradio = show(gatsby, | |
subprompts=[get_neighbors, ask], | |
examples=["What did Gatsby do before he met Daisy?", | |
"What did the narrator do after getting back to Chicago?"], | |
keys={"HF_KEY"}, | |
description=desc, | |
code=open("gatsby.py", "r").read().split("$")[1].strip().strip("#").strip() | |
) | |
if __name__ == "__main__": | |
gradio.launch() | |
# + tags=["hide_inp"] | |
# QAPrompt().show({"question": "Who was Gatsby?", "docs": ["doc1", "doc2", "doc3"]}, "") | |
# # - | |
# show_log("gatsby.log") | |