Hub Python Library documentation
MCP İstemcisi
MCP İstemcisi
huggingface_hub kütüphanesi artık, Büyük Dil Modellerinin (LLM) Model Context Protocol (MCP) aracılığıyla harici Araçlarla etkileşime geçme yeteneğini güçlendirmek üzere tasarlanmış bir MCPClient içerir. Bu istemci, Araç kullanımını sorunsuz bir şekilde entegre etmek için bir AsyncInferenceClient uzantısıdır.
MCPClient, araçları açıklayan MCP sunucularına (yerel stdio betikleri veya uzak http/sse hizmetleri) bağlanır. Bu araçları bir LLM'e (aracılığıyla AsyncInferenceClient) iletir. LLM bir aracı kullanmaya karar verirse, MCPClient MCP sunucusuna yönelik yürütme isteğini yönetir ve aracın çıktısını LLM'e geri iletir; sonuçlar genellikle gerçek zamanlı olarak akış halinde iletilir.
Daha yüksek seviyeli bir Agent sınıfı da sunuyoruz. Bu ‘Tiny Agent’, sohbet döngüsünü ve durumu yöneterek konuşma tabanlı Agent oluşturma işlemini basitleştirir ve MCPClient etrafında bir sarmalayıcı olarak çalışır.
MCP İstemcisi
sınıf huggingface_hub.MCPClient
< source >( model: typing.Optional[str] = Noneprovider: typing.Union[typing.Literal['baseten', 'cerebras', 'cohere', 'deepinfra', 'fal-ai', 'featherless-ai', 'fireworks-ai', 'groq', 'hf-inference', 'novita', 'nscale', 'openai', 'ovhcloud', 'publicai', 'replicate', 'scaleway', 'together', 'wavespeed', 'zai-org'], typing.Literal['auto'], NoneType] = Nonebase_url: typing.Optional[str] = Noneapi_key: typing.Optional[str] = None )
Parametreler
- model (
str,optional) — Çıkarım (inference) çalıştırılacak model. Hugging Face Hub üzerinde barındırılan bir model kimliği (ör.meta-llama/Meta-Llama-3-8B-Instruct) veya dağıtılmış bir Inference Endpoint veya başka bir yerel/uzak uç noktanın URL'si olabilir. - provider (
str, isteğe bağlı) — Çıkarım için kullanılacak sağlayıcının adı. Varsayılan olarak “auto”dur, yani model için kullanılabilir sağlayıcıların, https://hf.co/settings/inference-providers adresindeki kullanıcı sıralamasına göre sıralanmış ilk olanıdır. Model bir URL ise veyabase_urlgeçirilmişse,providerkullanılmaz. - base_url (
str, isteğe bağlı) — Çıkarım (inference) için çalıştırılacak temel URL. Varsayılan değeri None'dır. - api_key (
str,optional) — Kimlik doğrulama için kullanılacak token. Sağlanmazsa, varsayılan olarak yerel olarak Hugging Face'te kaydedilmiş token kullanılır. Ayrıca, sağlayıcının hizmetine doğrudan erişmek için kendi sağlayıcı API anahtarınızı da kullanabilirsiniz.
Bir veya daha fazla MCP sunucusuna bağlanmak ve araçlarla sohbet tamamlamalarını işlemek için istemci.
Bu sınıf deneyseldir ve gelecekte önceden haber verilmeden kırıcı değişikliklere maruz kalabilir.
add_mcp_server
< source >( type: typing.Literal['stdio', 'sse', 'http']**params: typing.Any )
Parametreler
- type (
str) — Bağlanacak sunucunun türü. Aşağıdakilerden biri olabilir:- “stdio”: Standart giriş/çıkış sunucusu (yerel)
- “sse”: Sunucu gönderimli olaylar (SSE) sunucusu
- “http”: StreamableHTTP sunucusu
- **params (
dict[str, Any]) — Şu seçeneklerden biri olabilen sunucu parametreleri:- stdio sunucuları için:
- command (str): MCP sunucusunu çalıştırmak için kullanılacak komut
- args (list[str], isteğe bağlı): Komut için argümanlar
- env (dict[str, str], optional): Komut için ortam değişkenleri
- cwd (Union[str, Path, None], optional): Komut için çalışma dizini
- allowed_tools (list[str], optional): Bu sunucudan izin verilen araç adlarının listesi
- SSE sunucuları için:
- url (str): SSE sunucusunun URL'si
- headers (dict[str, Any], optional): SSE bağlantısı için başlıklar
- timeout (float, isteğe bağlı): Bağlantı zaman aşımı
- sse_read_timeout (float, isteğe bağlı): SSE okuma zaman aşımı
- allowed_tools (list[str], optional): Bu sunucudan izin verilen araç adlarının listesi
- StreamableHTTP sunucuları için:
- url (str): StreamableHTTP sunucusunun URL'si
- headers (dict[str, Any], optional): StreamableHTTP bağlantısı için başlıklar
- timeout (timedelta, isteğe bağlı): Bağlantı zaman aşımı
- sse_read_timeout (timedelta, isteğe bağlı): SSE okuma zaman aşımı
- terminate_on_close (bool, isteğe bağlı): Kapatıldığında sonlandırılacak mı
- allowed_tools (list[str], optional): Bu sunucudan izin verilen araç adlarının listesi
- stdio sunucuları için:
Bir MCP sunucusuna bağlanın
Kaynakları temizle
process_single_turn_with_tools
< source >( messages: listexit_loop_tools: typing.Optional[list[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputTool]] = Noneexit_if_first_chunk_no_tool: bool = False )
Parametreler
- messages (
list[dict]) — Sohbet geçmişini temsil eden mesaj nesnelerinin listesi - exit_loop_tools (
list[ChatCompletionInputTool], isteğe bağlı) — Çağrıldığında üreticiyi sonlandırmalı olan araçların listesi - exit_if_first_chunk_no_tool (
bool, isteğe bağlı) — İlk parçalarda araç yoksa çıkış yapın. Varsayılan değer False'tur.
self.model ve mevcut araçları kullanarak bir sorguyu işleyin, parçaları ve araç çıktıları üretin.
Ajan
sınıf huggingface_hub.Agent
< source >( model: Optional[str] = Noneservers: Iterable[ServerConfig]provider: Optional[PROVIDER_OR_POLICY_T] = Nonebase_url: Optional[str] = Noneapi_key: Optional[str] = Noneprompt: Optional[str] = None )
Parametreler
- model (
str, isteğe bağlı) — Çıkarım (inference) çalıştırılacak model. Hugging Face Hub'da barındırılan bir model kimliği (ör.meta-llama/Meta-Llama-3-8B-Instruct) veya dağıtılmış bir Inference Endpoint'e veya başka bir yerel/uzak uç noktaya giden bir URL olabilir. - servers (
Iterable[dict]) — Bağlanacak MCP sunucuları. Her sunucu, birtypeanahtarı ve birconfiganahtarı içeren bir sözlüktür.typeanahtarı"stdio"veya"sse"olabilir veconfiganahtarı, sunucu için argümanların sözlüğüdür. - provider (
str, isteğe bağlı) — Çıkarım için kullanılacak sağlayıcının adı. Varsayılan olarak “auto”dur, yani model için kullanılabilir sağlayıcıların, https://hf.co/settings/inference-providers adresindeki kullanıcı sıralamasına göre sıralanmış ilk olanıdır. Model bir URL ise veyabase_urlgeçirilmişse,providerkullanılmaz. - base_url (
str, isteğe bağlı) — Çıkarım (inference) için çalıştırılacak temel URL. Varsayılan değeri None'dır. - api_key (
str, isteğe bağlı) — Kimlik doğrulama için kullanılacak jeton. Sağlanmazsa, varsayılan olarak yerel olarak Hugging Face'te kaydedilmiş jeton kullanılır. Ayrıca, sağlayıcının hizmetine doğrudan erişmek için kendi sağlayıcı API anahtarınızı da kullanabilirsiniz. - prompt (
str, isteğe bağlı) — Ajan için kullanılacak sistem istemi. Varsayılan olarakconstants.pyiçindeki varsayılan sistem istemini kullanır.
MCPClient üzerine doğrudan kurulan basit bir while döngüsü olan Basit Bir Ajanın Uygulaması.
Bu sınıf deneyseldir ve gelecekte önceden haber verilmeden kırıcı değişikliklere maruz kalabilir.
çalıştır
< source >( user_input: strabort_event: Optional[asyncio.Event] = None )
Verilen kullanıcı girdisiyle ajanı çalıştırın.