Lab 2 - AIPC में Phi-3-mini के साथ Prompt flow चलाना

February 1, 2026 · View on GitHub

Prompt flow क्या है

Prompt flow एक विकास उपकरणों का समूह है जो LLM-आधारित AI एप्लिकेशन के संपूर्ण विकास चक्र को सरल बनाता है, जिसमें विचार-विमर्श, प्रोटोटाइपिंग, परीक्षण, मूल्यांकन से लेकर उत्पादन तैनाती और निगरानी शामिल है। यह prompt engineering को बहुत आसान बनाता है और आपको उत्पादन गुणवत्ता वाले LLM ऐप्स बनाने में सक्षम बनाता है।

Prompt flow के साथ, आप निम्न कर पाएंगे:

  • ऐसे फ्लो बनाएंगे जो LLMs, prompts, Python कोड और अन्य टूल्स को एक निष्पादन योग्य वर्कफ़्लो में जोड़ते हैं।

  • अपने फ्लो को डिबग और पुनरावृत्त करें, खासकर LLMs के साथ इंटरैक्शन को आसानी से।

  • अपने फ्लो का मूल्यांकन करें, बड़े डेटा सेट के साथ गुणवत्ता और प्रदर्शन मेट्रिक्स की गणना करें।

  • अपने CI/CD सिस्टम में परीक्षण और मूल्यांकन को एकीकृत करें ताकि आपके फ्लो की गुणवत्ता सुनिश्चित हो सके।

  • अपने फ्लो को चुने हुए सर्विंग प्लेटफ़ॉर्म पर तैनात करें या इसे अपने ऐप के कोड बेस में आसानी से एकीकृत करें।

  • (वैकल्पिक लेकिन अत्यंत अनुशंसित) Azure AI में Prompt flow के क्लाउड संस्करण का उपयोग करके अपनी टीम के साथ सहयोग करें।

Apple Silicon पर generation code flows बनाना

Note :यदि आपने अभी तक पर्यावरण स्थापना पूरी नहीं की है, तो कृपया Lab 0 -Installations देखें

  1. Visual Studio Code में Prompt flow Extension खोलें और एक खाली फ्लो प्रोजेक्ट बनाएं

create

  1. Inputs और Outputs पैरामीटर जोड़ें और Python Code को नए फ्लो के रूप में जोड़ें

flow

आप अपने फ्लो को बनाने के लिए इस संरचना (flow.dag.yaml) का संदर्भ ले सकते हैं


inputs:
  prompt:
    type: string
    default: Write python code for Fibonacci serie. Please use markdown as output
outputs:
  result:
    type: string
    reference: ${gen_code_by_phi3.output}
nodes:
- name: gen_code_by_phi3
  type: python
  source:
    type: code
    path: gen_code_by_phi3.py
  inputs:
    prompt: ${inputs.prompt}


  1. phi-3-mini को क्वांटिफाई करें

हम चाहते हैं कि SLM स्थानीय उपकरणों पर बेहतर चले। आमतौर पर, हम मॉडल को क्वांटिफाई करते हैं (INT4, FP16, FP32)


python -m mlx_lm.convert --hf-path microsoft/Phi-3-mini-4k-instruct

Note: डिफ़ॉल्ट फ़ोल्डर mlx_model है

  1. Chat_With_Phi3.py में कोड जोड़ें


from promptflow import tool

from mlx_lm import load, generate


# The inputs section will change based on the arguments of the tool function, after you save the code
# Adding type to arguments and return value will help the system show the types properly
# Please update the function name/signature per need
@tool
def my_python_tool(prompt: str) -> str:

    model_id = './mlx_model_phi3_mini'

    model, tokenizer = load(model_id)

    # <|user|>\nWrite python code for Fibonacci serie. Please use markdown as output<|end|>\n<|assistant|>

    response = generate(model, tokenizer, prompt="<|user|>\n" + prompt  + "<|end|>\n<|assistant|>", max_tokens=2048, verbose=True)

    return response


  1. आप Debug या Run से फ्लो का परीक्षण कर सकते हैं कि generation code सही काम कर रहा है या नहीं

RUN

  1. टर्मिनल में विकास API के रूप में फ्लो चलाएं

pf flow serve --source ./ --port 8080 --host localhost   

आप इसे Postman / Thunder Client में टेस्ट कर सकते हैं

Note

  1. पहली बार चलाने में अधिक समय लगता है। phi-3 मॉडल को Hugging face CLI से डाउनलोड करने की सलाह दी जाती है।

  2. Intel NPU की सीमित कंप्यूटिंग शक्ति को ध्यान में रखते हुए, Phi-3-mini-4k-instruct का उपयोग करने की सलाह दी जाती है।

  3. हम INT4 कन्वर्ज़न के लिए Intel NPU Acceleration का उपयोग करते हैं, लेकिन यदि आप सेवा को फिर से चलाते हैं, तो आपको cache और nc_workshop फ़ोल्डर्स को हटाना होगा।

संसाधन

  1. Promptflow सीखें https://microsoft.github.io/promptflow/

  2. Intel NPU Acceleration सीखें https://github.com/intel/intel-npu-acceleration-library

  3. सैंपल कोड, डाउनलोड करें Local NPU Agent Sample Code

अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या अशुद्धियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही अधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं।