MCPcopy
hub / github.com/PromtEngineer/localGPT / handle_get_models

Method handle_get_models

backend/server.py:746–782  ·  view source on GitHub ↗

Get available models from both Ollama and HuggingFace, grouped by capability

(self)

Source from the content-addressed store, hash-verified

744 }, status_code=410) # 410 Gone
745
746 def handle_get_models(self):
747 """Get available models from both Ollama and HuggingFace, grouped by capability"""
748 try:
749 generation_models = []
750 embedding_models = []
751
752 # Get Ollama models if available
753 if self.ollama_client.is_ollama_running():
754 all_ollama_models = self.ollama_client.list_models()
755
756 # Very naive classification - same logic as RAG API server
757 ollama_embedding_models = [m for m in all_ollama_models if any(k in m for k in ['embed','bge','embedding','text'])]
758 ollama_generation_models = [m for m in all_ollama_models if m not in ollama_embedding_models]
759
760 generation_models.extend(ollama_generation_models)
761 embedding_models.extend(ollama_embedding_models)
762
763 # Add supported HuggingFace embedding models
764 huggingface_embedding_models = [
765 "Qwen/Qwen3-Embedding-0.6B",
766 "Qwen/Qwen3-Embedding-4B",
767 "Qwen/Qwen3-Embedding-8B"
768 ]
769 embedding_models.extend(huggingface_embedding_models)
770
771 # Sort models for consistent ordering
772 generation_models.sort()
773 embedding_models.sort()
774
775 self.send_json_response({
776 "generation_models": generation_models,
777 "embedding_models": embedding_models
778 })
779 except Exception as e:
780 self.send_json_response({
781 "error": f"Could not list models: {str(e)}"
782 }, status_code=500)
783
784 def handle_get_indexes(self):
785 try:

Callers 1

do_GETMethod · 0.95

Calls 3

send_json_responseMethod · 0.95
is_ollama_runningMethod · 0.80
list_modelsMethod · 0.80

Tested by

no test coverage detected