Hub Python Library documentation

MCP İstemcisi

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

< >

( 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 veya base_url geçirilmişse, provider kullanı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

< >

( 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

Bir MCP sunucusuna bağlanın

temizleme

< >

( )

Kaynakları temizle

process_single_turn_with_tools

< >

( 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

< >

( 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, bir type anahtarı ve bir config anahtarı içeren bir sözlüktür. type anahtarı "stdio" veya "sse" olabilir ve config anahtarı, 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 veya base_url geçirilmişse, provider kullanı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 olarak constants.py iç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

< >

( user_input: strabort_event: Optional[asyncio.Event] = None )

Parametreler

  • user_input (str) — Ajanın çalıştırılacağı kullanıcı girişi.
  • abort_event (asyncio.Event, isteğe bağlı) — Ajanı sonlandırmak için kullanılabilen bir olay. Olay ayarlanırsa ajan çalışmayı durdurur.

Verilen kullanıcı girdisiyle ajanı çalıştırın.

Update on GitHub