06.NVIDIA.md

February 1, 2026 · View on GitHub

خانواده فی در NVIDIA NIM

NVIDIA NIM مجموعه‌ای از میکروسرویس‌های آسان برای استفاده است که به منظور تسریع در استقرار مدل‌های هوش مصنوعی مولد در فضای ابری، مرکز داده و ایستگاه‌های کاری طراحی شده‌اند. NIMها بر اساس خانواده مدل و به صورت مدل به مدل دسته‌بندی می‌شوند. به عنوان مثال، NVIDIA NIM برای مدل‌های زبان بزرگ (LLMs) قدرت پیشرفته‌ترین مدل‌های زبان بزرگ را به برنامه‌های سازمانی می‌آورد و قابلیت‌های بی‌نظیر پردازش و درک زبان طبیعی را فراهم می‌کند.

NIM این امکان را برای تیم‌های IT و DevOps فراهم می‌کند تا مدل‌های زبان بزرگ (LLMs) را در محیط‌های مدیریت شده خود میزبانی کنند و در عین حال به توسعه‌دهندگان APIهای استاندارد صنعتی ارائه دهد که به آن‌ها اجازه می‌دهد دستیارهای هوشمند، چت‌بات‌ها و همیاران هوش مصنوعی قدرتمندی بسازند که کسب‌وکارشان را متحول کنند. با بهره‌گیری از شتاب‌دهی GPU پیشرفته NVIDIA و استقرار مقیاس‌پذیر، NIM سریع‌ترین مسیر برای استنتاج با عملکرد بی‌نظیر را ارائه می‌دهد.

شما می‌توانید از NVIDIA NIM برای استنتاج مدل‌های خانواده Phi استفاده کنید

nim

نمونه‌ها - Phi-3-Vision در NVIDIA NIM

تصور کنید یک تصویر (demo.png) دارید و می‌خواهید کد پایتونی تولید کنید که این تصویر را پردازش کرده و نسخه جدیدی از آن را ذخیره کند (phi-3-vision.jpg).

کد بالا این فرایند را به صورت خودکار انجام می‌دهد با:

  1. راه‌اندازی محیط و تنظیمات لازم.
  2. ایجاد یک پرامپت که مدل را برای تولید کد پایتون مورد نیاز راهنمایی می‌کند.
  3. ارسال پرامپت به مدل و جمع‌آوری کد تولید شده.
  4. استخراج و اجرای کد تولید شده.
  5. نمایش تصاویر اصلی و پردازش شده.

این روش از قدرت هوش مصنوعی برای خودکارسازی وظایف پردازش تصویر استفاده می‌کند و رسیدن به اهداف شما را آسان‌تر و سریع‌تر می‌کند.

نمونه کد حل مسئله

بیایید گام به گام ببینیم کل کد چه کاری انجام می‌دهد:

  1. نصب بسته مورد نیاز:

    !pip install langchain_nvidia_ai_endpoints -U
    

    این دستور بسته langchain_nvidia_ai_endpoints را نصب می‌کند و اطمینان حاصل می‌کند که آخرین نسخه آن نصب شده است.

  2. وارد کردن ماژول‌های لازم:

    from langchain_nvidia_ai_endpoints import ChatNVIDIA
    import getpass
    import os
    import base64
    

    این واردسازی‌ها ماژول‌های لازم برای تعامل با نقاط پایانی هوش مصنوعی NVIDIA، مدیریت امن رمز عبور، تعامل با سیستم عامل و رمزگذاری/رمزگشایی داده‌ها به فرمت base64 را فراهم می‌کنند.

  3. تنظیم کلید API:

    if not os.getenv("NVIDIA_API_KEY"):
        os.environ["NVIDIA_API_KEY"] = getpass.getpass("Enter your NVIDIA API key: ")
    

    این کد بررسی می‌کند که آیا متغیر محیطی NVIDIA_API_KEY تنظیم شده است یا خیر. اگر تنظیم نشده باشد، از کاربر می‌خواهد کلید API خود را به صورت امن وارد کند.

  4. تعریف مدل و مسیر تصویر:

    model = 'microsoft/phi-3-vision-128k-instruct'
    chat = ChatNVIDIA(model=model)
    img_path = './imgs/demo.png'
    

    این بخش مدل مورد استفاده را تعیین می‌کند، نمونه‌ای از ChatNVIDIA با مدل مشخص شده ایجاد می‌کند و مسیر فایل تصویر را تعریف می‌کند.

  5. ایجاد پرامپت متنی:

    text = "Please create Python code for image, and use plt to save the new picture under imgs/ and name it phi-3-vision.jpg."
    

    این بخش یک پرامپت متنی تعریف می‌کند که مدل را برای تولید کد پایتون جهت پردازش تصویر راهنمایی می‌کند.

  6. رمزگذاری تصویر به صورت Base64:

    with open(img_path, "rb") as f:
        image_b64 = base64.b64encode(f.read()).decode()
    image = f'<img src="data:image/png;base64,{image_b64}" />'
    

    این کد فایل تصویر را می‌خواند، آن را به فرمت base64 رمزگذاری می‌کند و یک تگ HTML تصویر با داده رمزگذاری شده ایجاد می‌کند.

  7. ترکیب متن و تصویر در پرامپت:

    prompt = f"{text} {image}"
    

    این بخش پرامپت متنی و تگ تصویر HTML را در یک رشته واحد ترکیب می‌کند.

  8. تولید کد با استفاده از ChatNVIDIA:

    code = ""
    for chunk in chat.stream(prompt):
        print(chunk.content, end="")
        code += chunk.content
    

    این کد پرامپت را به مدل ChatNVIDIA ارسال می‌کند و کد تولید شده را به صورت بخش بخش دریافت کرده، هر بخش را چاپ و به رشته code اضافه می‌کند.

  9. استخراج کد پایتون از محتوای تولید شده:

    begin = code.index('```python') + 9
    code = code[begin:]
    end = code.index('```')
    code = code[:end]
    

    این بخش کد پایتون واقعی را از محتوای تولید شده استخراج می‌کند و قالب‌بندی مارک‌داون را حذف می‌کند.

  10. اجرای کد تولید شده:

    import subprocess
    result = subprocess.run(["python", "-c", code], capture_output=True)
    

    این کد، کد استخراج شده پایتون را به عنوان یک زیرفرآیند اجرا کرده و خروجی آن را دریافت می‌کند.

  11. نمایش تصاویر:

    from IPython.display import Image, display
    display(Image(filename='./imgs/phi-3-vision.jpg'))
    display(Image(filename='./imgs/demo.png'))
    

    این خطوط تصاویر را با استفاده از ماژول IPython.display نمایش می‌دهند.

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرستی که از استفاده این ترجمه ناشی شود، نیستیم.