MCPcopy Index your code
hub / github.com/PromtEngineer/localGPT / handle_models

Method handle_models

rag_system/api_server.py:692–732  ·  view source on GitHub ↗

Return a list of locally installed Ollama models and supported HuggingFace models, grouped by capability.

(self)

Source from the content-addressed store, hash-verified

690 self.send_json_response({"error": f"Failed to start indexing: {str(e)}"}, status_code=500)
691
692 def handle_models(self):
693 """Return a list of locally installed Ollama models and supported HuggingFace models, grouped by capability."""
694 try:
695 generation_models = []
696 embedding_models = []
697
698 # Get Ollama models if available
699 try:
700 resp = requests.get(f"{RAG_AGENT.ollama_config['host']}/api/tags", timeout=5)
701 resp.raise_for_status()
702 data = resp.json()
703
704 all_ollama_models = [m.get('name') for m in data.get('models', [])]
705
706 # Very naive classification
707 ollama_embedding_models = [m for m in all_ollama_models if any(k in m for k in ['embed','bge','embedding','text'])]
708 ollama_generation_models = [m for m in all_ollama_models if m not in ollama_embedding_models]
709
710 generation_models.extend(ollama_generation_models)
711 embedding_models.extend(ollama_embedding_models)
712 except Exception as e:
713 print(f"⚠️ Could not get Ollama models: {e}")
714
715 # Add supported HuggingFace embedding models
716 huggingface_embedding_models = [
717 "Qwen/Qwen3-Embedding-0.6B",
718 "Qwen/Qwen3-Embedding-4B",
719 "Qwen/Qwen3-Embedding-8B"
720 ]
721 embedding_models.extend(huggingface_embedding_models)
722
723 # Sort models for consistent ordering
724 generation_models.sort()
725 embedding_models.sort()
726
727 self.send_json_response({
728 "generation_models": generation_models,
729 "embedding_models": embedding_models
730 })
731 except Exception as e:
732 self.send_json_response({"error": f"Could not list models: {e}"}, status_code=500)
733
734 def send_json_response(self, data, status_code=200):
735 """Utility to send a JSON response with CORS headers."""

Callers 1

do_GETMethod · 0.95

Calls 1

send_json_responseMethod · 0.95

Tested by

no test coverage detected