Spaces:
Sleeping
Sleeping
# /// script | |
# dependencies = [ | |
# "gradio[mcp]", | |
# "langchain_community", | |
# "chromadb", | |
# "huggingface_hub", | |
# "langchain_community", | |
# "sentence_transformers", | |
# ] | |
# /// | |
import gradio as gr | |
from query_interface import AristaDocumentQuery | |
def search_docs(query: str, k: int = 5) -> str: | |
""" | |
Search the Arista AVD documentation vector database. | |
Args: | |
query (str): The search query. | |
k (int): Number of results to return. | |
Returns: | |
str: Formatted string of search results. | |
""" | |
query_interface = AristaDocumentQuery() | |
results = query_interface.similarity_search(query, k=k) | |
return query_interface.format_results(results) | |
# Create a standard Gradio interface | |
demo = gr.Interface( | |
fn=search_docs, | |
inputs=["textbox", "number"], | |
outputs="text", | |
title="Document Search", | |
description="Enter a search query and the number of results to return." | |
) | |
# Launch both the Gradio web interface and the MCP server | |
if __name__ == "__main__": | |
demo.launch(mcp_server=True) |