Prompt flow, LLM tabanlı yapay zeka uygulamalarının fikir aşamasından prototip oluşturma, test, değerlendirme, üretime dağıtım ve izlemeye kadar olan uçtan uca geliştirme döngüsünü kolaylaştırmak için tasarlanmış bir geliştirme araçları paketidir. Prompt mühendisliğini çok daha basit hale getirir ve üretim kalitesinde LLM uygulamaları oluşturmanızı sağlar.
Prompt flow ile şunları yapabilirsiniz:
-
LLM’leri, promptları, Python kodunu ve diğer araçları birbirine bağlayan yürütülebilir iş akışları oluşturmak.
-
Özellikle LLM’lerle olan etkileşimi kolayca hata ayıklamak ve iş akışlarınızı yinelemek.
-
İş akışlarınızı değerlendirmek, daha büyük veri setleriyle kalite ve performans metriklerini hesaplamak.
-
Test ve değerlendirmeyi CI/CD sisteminize entegre ederek iş akışınızın kalitesini sağlamak.
-
İş akışlarınızı seçtiğiniz servis platformuna dağıtmak veya uygulamanızın kod tabanına kolayca entegre etmek.
-
(İsteğe bağlı ama şiddetle tavsiye edilir) Azure AI üzerindeki Prompt flow bulut sürümünü kullanarak ekibinizle iş birliği yapmak.
Not :Ortam kurulumunu tamamlamadıysanız, lütfen Lab 0 - Kurulumlar sayfasını ziyaret edin.
- Visual Studio Code’da Prompt flow Eklentisini açın ve boş bir iş akışı projesi oluşturun
- Girdi ve Çıktı parametreleri ekleyin ve yeni bir iş akışı olarak Python Kodu ekleyin
İş akışınızı oluşturmak için bu yapıya (flow.dag.yaml) bakabilirsiniz
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}
- phi-3-mini modelini kantitatif hale getirin
Yerel cihazlarda SLM’yi daha iyi çalıştırmayı hedefliyoruz. Genellikle modeli kantitatif hale getiriyoruz (INT4, FP16, FP32)
python -m mlx_lm.convert --hf-path microsoft/Phi-3-mini-4k-instruct
Not: varsayılan klasör mlx_model
- Chat_With_Phi3.py dosyasına kod ekleyin
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
- Üretim kodunun doğru çalışıp çalışmadığını kontrol etmek için Debug veya Run’dan iş akışını test edebilirsiniz
- Terminalde iş akışını geliştirme API’si olarak çalıştırın
pf flow serve --source ./ --port 8080 --host localhost
Postman / Thunder Client ile test edebilirsiniz
-
İlk çalıştırma uzun sürebilir. Phi-3 modelini Hugging face CLI üzerinden indirmeniz önerilir.
-
Intel NPU’nun sınırlı hesaplama gücü göz önüne alındığında, Phi-3-mini-4k-instruct kullanmanız tavsiye edilir.
-
INT4 dönüşümü için Intel NPU Hızlandırması kullanıyoruz, ancak servisi tekrar çalıştırırsanız cache ve nc_workshop klasörlerini silmeniz gerekir.
-
Promptflow Öğrenin https://microsoft.github.io/promptflow/
-
Intel NPU Hızlandırmasını Öğrenin https://github.com/intel/intel-npu-acceleration-library
-
Örnek Kod, indirin Local NPU Agent Sample Code
Feragatname:
Bu belge, AI çeviri servisi Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlamalar veya yorum hatalarından sorumlu değiliz.


