Data Sheet Question Answering (QA) Tool
Goal: Construct a tool that harnesses the power of large language models (LLMs) to answer domain-specific questions, citing pages from official documentation as sources.
Python, LLMs, Vector StoresWeb Scraping
Background
For more information, I've written a Medium article that discusses the purpose behind building this tool and how it was built.
Using the Tool
To use the tool, simply type the name of a Cisco product, such as a network switch, WebEx, etc., and a question about that product, then click submit. If you don't work with Cisco products often, it might be tough to think of a question to ask, but here are some you can try in order to see what the tool is capable of:
- Product: Catalyst 9300
- Does it support stacking of mixed switches?
- What is stackwise 480?
- Product: WebEx 85
- What inputs does it have?
- What is the wall mount kit's product number?
- 50GBASE SFP56
- What does SFP stand for?
- What lengths of cables are available?
By default, the tool searches through the datasheets for the 8 pages most likely to contain an answer; however, the number of pages can be adjusted by using the slider. Whichever pages are found act as source material and are fed to the LLM to use in answering the question. Once an answer has been generated, the tool returns the answer and provides links to the pages it used, which aid in verifying the accuracy of the answer. If, on the other hand, you prefer to only see the answer, uncheck the box that says "Print sources."
If you'd like to see the code behind the implementation of this tool, the full project can be found on my GitHub.