Hugging Face-ის MCP სერვერის შექმნა: AI ასისტენტების დაკავშირების გამოცდილება და პროტოკოლის ევოლუცია
Hugging Face-ის გუნდი დეტალურად აღწერს Model Context Protocol (MCP) სერვერის შექმნის პროცესს, რომელიც ხელოვნური ინტელექტის ასისტენტებს გარე სამყაროსთან აკავშირებს. სტატია აანალიზებს პროტოკოლის სწრაფ ევოლუციას, ტრანსპორტის სხვადასხვა ვარიანტს (STDIO, HTTP SSE-ით, ნაკადოვანი HTTP) და იმ ტექნიკურ გადაწყვეტილებებს, რომლებიც Hugging Face-მა მიიღო ოპტიმალური, დინამიური და ადვილად ხელმისაწვდომი hf.co/mcp სერვერის შესაქმნელად. ყურადღება ექცევა უსტატუსო, პირდაპირი პასუხის კონფიგურაციის არჩევანს წარმოების
ბოლო თვის განმავლობაში ბევრი რამ ვისწავლეთ სასარგებლო MCP სერვერის აგების შესახებ – ჩვენს გამოცდილებას აქ აღვწერთ. მოდელის კონტექსტის პროტოკოლი (MCP) ასრულებს თავის დაპირებას, რომ გახდეს სტანდარტი ხელოვნური ინტელექტის ასისტენტების გარე სამყაროსთან დასაკავშირებლად. Hugging Face-ში, ჰაბზე წვდომის უზრუნველყოფა MCP-ის მეშვეობით, აშკარა არჩევანია, და ეს სტატია გაგიზიარებთ ჩვენს გამოცდილებას hf.co/mcp MCP სერვერის შემუშავებისას.
საზოგადოება იყენებს ჰაბს კვლევისთვის, განვითარებისთვის, კონტენტის შესაქმნელად და სხვა მრავალი მიზნისთვის. ჩვენ გვსურდა, ადამიანებს შეძლებოდათ სერვერის საკუთარ საჭიროებებზე მორგება, ასევე მარტივად ჰქონოდათ წვდომა Spaces-ზე არსებულ ათასობით ხელოვნური ინტელექტის აპლიკაციაზე. ეს ნიშნავდა MCP სერვერის დინამიურს გახდომას მომხმარებლის ხელსაწყოების უწყვეტი კორექტირებით. ასევე გვინდოდა, რომ წვდომა მარტივი ყოფილიყო რთული ჩამოტვირთვებისა და კონფიგურაციის თავიდან არიდებით, ამიტომ მისი დისტანციურად ხელმისაწვდომობა მარტივი URL-ის მეშვეობით აუცილებელი იყო.
დისტანციური MCP სერვერის აგებისას, პირველი გადაწყვეტილებაა იმის განსაზღვრა, თუ როგორ დაუკავშირდებიან კლიენტები მას. MCP გთავაზობთ ტრანსპორტის რამდენიმე ვარიანტს, სხვადასხვა დათმობებით. მოკლედ რომ ვთქვათ: ჩვენი ღია წყარო კოდი მხარს უჭერს ყველა ვარიანტს, მაგრამ წარმოებისთვის ჩვენ ავირჩიეთ ყველაზე თანამედროვე. ეს სექცია დეტალურად განიხილავს სხვადასხვა ვარიანტს.
2024 წლის ნოემბერში გაშვების შემდეგ, MCP-მ განიცადა სწრაფი ევოლუცია 9 თვეში პროტოკოლის 3 რევიზიით. ამან გამოიწვია SSE ტრანსპორტის ჩანაცვლება ნაკადოვანი HTTP-ით, ასევე ავტორიზაციის დანერგვა და გადამუშავება. ეს სწრაფი ცვლილებები ნიშნავს, რომ კლიენტის აპლიკაციებში სხვადასხვა MCP ფუნქციებისა და რევიზიების მხარდაჭერა განსხვავებულია, რაც დამატებით გამოწვევებს ქმნის ჩვენი დიზაინის არჩევანისთვის. ქვემოთ მოცემულია მოდელის კონტექსტის პროტოკოლისა და მასთან დაკავშირებული SDK-ების მიერ შემოთავაზებული ტრანსპორტის ვარიანტების მოკლე მიმოხილვა:
როგორც STDIO, ასევე HTTP SSE-ით, ნაგულისხმევად სრულად ორმხრივია – რაც ნიშნავს, რომ კლიენტი და სერვერი ინარჩუნებენ ღია კავშირს და შეუძლიათ შეტყობინებების გაგზავნა ერთმანეთისთვის ნებისმიერ დროს. SSE ნიშნავს "სერვერის მიერ გაგზავნილ მოვლენებს" (Server Sent Events) – ეს არის HTTP სერვერებისთვის ღია კავშირის შესანარჩუნებლად და მოთხოვნის საპასუხოდ მოვლენების გასაგზავნად გამოყენებული მეთოდი.
MCP სერვერის დეველოპერები მრავალი არჩევანის წინაშე დგანან ნაკადოვანი HTTP ტრანსპორტის დაყენებისას. არსებობს 3 ძირითადი საკომუნიკაციო ნიმუში, რომელთაგან უნდა აირჩიოთ: ოფიციალურ SDK-ებთან Request Scoped Streams-ის გამოყენებისას, გამოიყენეთ sendNotification() და sendRequest() მეთოდები, რომლებიც მოცემულია RequestHandlerExtra პარამეტრში (TypeScript) ან დააყენეთ related_request_id (Python), რათა გაგზავნოთ შეტყობინებები სწორ ნაკადში. დამატებითი ფაქტორი გასათვალისწინებელია, სჭირდება თუ არა თავად MCP სერვერს თითოეული კავშირისთვის სტატუსის შენარჩუნება. ამას სერვერი წყვეტს, როდესაც კლიენტი აგზავნის თავის ინიციალიზაციის მოთხოვნას:
ქვემოთ მოცემული ცხრილი აჯამებს MCP ფუნქციებსა და მათ მიერ მხარდაჭერილ საკომუნიკაციო ნიმუშებს: Request Scoped streams-ის შემთხვევაში, სემპლინგისა და ელიციტაციის მოთხოვნებს სჭირდება სტატუსიანი (Stateful) კავშირი, რათა mcp-session-id გამოყენებულ იქნას პასუხის ასოციაციისთვის.
Hugging Face MCP სერვერი არის ღია წყარო – და მხარს უჭერს STDIO, SSE და ნაკადოვანი HTTP განთავსებას როგორც პირდაპირი პასუხის (Direct Response), ასევე სერვერის მიერ გაგზავნის (Server Push) რეჟიმში. შეგიძლიათ დააკონფიგურიროთ keep-alive და ბოლო აქტივობის ტაიმაუტები Server Push Streams-ის გამოყენებისას. ასევე არსებობს ჩაშენებული მონიტორინგის/დაკვირვების დაფა, რომლის გამოყენებაც შეგიძლიათ იმის გასაგებად, თუ როგორ მართავენ სხვადასხვა კლიენტები კავშირებს და ამუშავებენ ხელსაწყოების სიის ცვლილების შეტყობინებებს. შემდეგი სურათი გვიჩვენებს ჩვენი MCP სერვერის კავშირების დაფას, რომელიც მუშაობს "Server Push" ნაკადოვანი HTTP რეჟიმში:
წარმოებისთვის, ჩვენ გადავწყვიტეთ ჩვენი MCP სერვერი გაგვეშვა ნაკადოვანი HTTP-ით უსტატუსო (Stateless), პირდაპირი პასუხის (Direct Response) კონფიგურაციით შემდეგი მიზეზების გამო: უსტატუსო: ანონიმური მომხმარებლებისთვის ჩვენ ვაწვდით ხელსაწყოების სტანდარტულ ნაკრებს ჰაბის გამოსაყენებლად, გამოსახულების გენერატორთან ერთად. ავტორიზებული მომხმარებლებისთვის ჩვენი სტატუსი მოიცავს მათ მიერ არჩეულ ხელსაწყოებსა და Gradio აპლიკაციებს. ჩვენ ასევე ვზრუნავთ, რომ მომხმარებლების ZeroGPU კვოტა სწორად იყოს გამოყენებული მათ ანგარიშზე. ეს იმართება მოწოდებული HF_TOKEN ან OAuth სერთიფიკატების გამოყენებით, რომლებსაც მოთხოვნისას ვამოწმებთ. ჩვენი არსებული ხელსაწყოებიდან არცერთი არ მოითხოვს რაიმე სხვა სტატუსის შენარჩუნებას მოთხოვნებს შორის.
შეგიძლიათ გამოიყენოთ OAuth ავტორიზაცია MCP სერვერის URL-ზე ?login-ის დამატებით – მაგალითად, https://huggingface.co/mcp?login. შესაძლოა, ეს ნაგულისხმევი გახდეს მას შემდეგ, რაც claude.ai-ის დისტანციური ინტეგრაცია მხარს დაუჭერს OAuth-ის უახლეს სპეციფიკაციას.
პირდაპირი პასუხი უზრუნველყოფს განთავსების რესურსების ყველაზე დაბალ დანახარჯს – და ამჟამად ჩვენ არ გვაქვს არცერთი ხელსაწყო, რომელიც მოითხოვს სემპლინგს ან ელიციტაციას შესრულების დროს.
მომავლის მხარდაჭერა: გაშვებისას, "HTTP SSE-ით" ტრანსპორტი კვლავ იყო დისტანციური ნაგულისხმევი მრავალ MCP კლიენტში. თუმცა, ჩვენ არ გვინდოდა მასში დიდი ინვესტიციის ჩადება მისი მოსალოდნელი მოძველების გამო. საბედნიეროდ, პოპულარულმა კლიენტებმა უკვე დაიწყეს გადართვა (VSCode და Cursor), და გაშვებიდან ერთი კვირის განმავლობაში claude.ai-მაც დაამატა მხარდაჭერა. თუ SSE-ით დაკავშირება გჭირდებათ, შეგიძლიათ ჩვენი სერვერის ასლი განათავსოთ FreeCPU Hugging Face Space-ზე. მომავალში, გვსურს მხარი დავუჭიროთ ხელსაწყოების სიის შეცვლის რეალურ დროში შეტყობინებებს, როდესაც მომხმარებლები განაახლებენ თავიანთ პარამეტრებს ჰაბზე. თუმცა, ეს რამდენიმე პრაქტიკულ საკითხს აჩენს: პირველ რიგში, მომხმარებლები მიდრეკილნი არიან დააკონფიგურირონ თავიანთი საყვარელი MCP სერვერები...
თეგები:
#ai
#დეველოპმენტი
#hugging face
#ღია კოდი
#mcp
#სერვერი
#პროტოკოლი
#streamable http
#ხელოვნური ინტელექტის ასისტენტები
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ტექნოლოგიები
Honor Magic V6: უთხელესი დასაკეცი ტელეფონი? პირველი შთაბეჭდილებები
ტექნოლოგიები
Honor Magic V6: ყველაზე თხელი დასაკეცი სმარტფონი და მისი შთამბეჭდავი შესაძლებლობები
ტექნოლოგიები