| from typing import Any, Dict, List, Optional |
|
|
| import gradio as gr |
| from core import MCPyLate |
| from huggingface_hub import snapshot_download |
|
|
| """ |
| MCPyLate Server |
| A Model Context Protocol server that provides search functionality using PyLate. |
| """ |
|
|
| snapshot_download( |
| repo_id="lightonai/leetcode_reasonmoderncolbert", |
| local_dir="indexes/", |
| repo_type="dataset", |
| ) |
| mcpylate = MCPyLate() |
|
|
|
|
| def pylate_search_leetcode( |
| query: str, k: int = 10, index_name: Optional[str] = None |
| ) -> List[Dict[str, Any]]: |
| """ |
| Search the PyLate with multi-vector models in the leetcode collection containing code problems solutions and return top-k hits |
| Args: |
| query: Search query string |
| k: Number of results to return (default: 10) |
| index_name: Name of index to search (default: use default index) |
| Returns: |
| List of search results with docid, score, text snippet, and index name |
| """ |
| return mcpylate.search(query, k) |
|
|
|
|
| demo = gr.Interface( |
| fn=pylate_search_leetcode, |
| inputs=["text"], |
| outputs="text", |
| title="LeetCode Search", |
| description="Search in leetcode database index using PyLate", |
| ) |
|
|
| demo.launch(mcp_server=True, share=True) |
|
|