أداة Python

تتيح لك أداة Python تقديم قصاصات برمجية مخصصة كعقد قابلة للتنفيذ قائمة بذاتها في تدفق المطالبة. يمكنك بسهولة إنشاء أدوات Python وتحرير التعليمات البرمجية والتحقق من النتائج.

الإدخالات

Name كتابة الوصف مطلوب
الرمز سلسلة قصاصة برمجية Python ‏‏نعم‬
الإدخالات - قائمة معلمات دالة الأداة وتعييناتها -

الأنواع

نوع مثال Python ‏‏الوصف
العدد الصحيح param: int نوع العدد الصحيح
منطقي param: bool النوع المنطقي
سلسلة param: str نوع السلسلة
مزدوج param: float نوع مزدوج
قائمة param: list or param: List[T] نوع القائمة
كائن param: dict أو param: Dict[K, V] نوع الكائن
Connection param: Custom الاتصال ion تتم معالجة نوع الاتصال بشكل خاص

يتم التعامل مع المعلمات ذات Connection التعليق التوضيحي للنوع على أنها مدخلات اتصال، ما يعني:

  • يعرض ملحق تدفق المطالبة محددا لتحديد الاتصال.
  • أثناء وقت التنفيذ، يحاول تدفق المطالبة العثور على الاتصال بنفس الاسم من قيمة المعلمة التي تم تمريرها.

إشعار

يتم اعتماد التعليق التوضيحي للنوع فقط لنوع الاتصال، على سبيل المثال، param: Union[CustomConnection, OpenAIConnection].Union[...]

الإخراجات

المخرجات هي إرجاع دالة أداة Python.

الكتابة باستخدام أداة Python

استخدم الإرشادات التالية للكتابة باستخدام أداة Python.

المبادئ التوجيهيه

  • يجب أن تتكون التعليمات البرمجية لأداة Python من تعليمة Python البرمجية الكاملة، بما في ذلك أي استيراد للوحدة النمطية الضرورية.

  • يجب أن تحتوي التعليمة البرمجية لأداة Python على دالة مزينة ب @tool (دالة الأداة)، والتي تعمل كنقطة إدخال للتنفيذ. @tool تطبيق مصمم الديكور مرة واحدة فقط داخل القصاصة البرمجية.

    تحدد العينة في القسم التالي أداة my_python_toolPython ، التي تم تزيينها ب @tool.

  • يجب تعيين معلمات دالة أداة Python في Inputs القسم .

    يحدد النموذج في القسم التالي الإدخال message ويعينه world.

  • دالة أداة Python لها إرجاع.

    ترجع العينة الموجودة في القسم التالي سلسلة مسلسلة.

الرمز

تعرض القصاصة البرمجية التالية البنية الأساسية لدالة أداة. يقرأ تدفق المطالبة الدالة ويستخرج المدخلات من معلمات الدالة ويكتب التعليقات التوضيحية.

from promptflow import tool
from promptflow.connections import CustomConnection

# 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(message: str, my_conn: CustomConnection) -> str:
    my_conn_dict = dict(my_conn)
    # Do some function call with my_conn_dict...
    return 'hello ' + message

الإدخالات

Name نوع نموذج القيمة في تدفق YAML القيمة التي تم تمريرها إلى الدالة
رسالة سلسلة world world
my_conn CustomConnection my_conn CustomConnection العنصر

يحاول تدفق المطالبة العثور على الاتصال المسمى my_conn أثناء وقت التنفيذ.

الإخراجات

"hello world"

اتصال مخصص في أداة Python

إذا كنت تقوم بتطوير أداة Python تتطلب استدعاء الخدمات الخارجية مع المصادقة، فاستخدم الاتصال المخصص في تدفق المطالبة. يمكنك استخدامه لتخزين مفتاح الوصول بأمان ثم استرداده في التعليمات البرمجية ل Python.

إنشاء اتصال مخصص

إنشاء اتصال مخصص يخزن كل مفتاح API لنموذج اللغة الكبيرة أو بيانات الاعتماد المطلوبة الأخرى.

  1. انتقل إلى تدفق المطالبة في مساحة العمل، ثم انتقل إلى علامة التبويب الاتصال.

  2. حدد إنشاء>مخصص.

    Screenshot that shows flows on the Connections tab highlighting the Custom button in the drop-down menu.

  3. في الجزء الأيسر، يمكنك تعريف اسم الاتصال الخاص بك. يمكنك إضافة أزواج متعددة من قيم المفاتيح لتخزين بيانات الاعتماد والمفاتيح عن طريق تحديد Add key-value pairs.

    Screenshot that shows adding a custom connection point and the Add key-value pairs button.

إشعار

لتعيين زوج واحد من قيم المفاتيح كبيانات سرية، حدد خانة الاختيار is secret . يقوم هذا الخيار بتشفير وتخزين قيمة المفتاح. تأكد من تعيين زوج واحد على الأقل من قيم المفاتيح كبيانات سرية. وإلا، فلن يتم إنشاء الاتصال بنجاح.

استخدام اتصال مخصص في Python

لاستخدام اتصال مخصص في التعليمات البرمجية ل Python:

  1. في قسم التعليمات البرمجية في عقدة Python، قم باستيراد مكتبة from promptflow.connections import CustomConnectionالاتصال المخصصة . تعريف معلمة إدخال من النوع CustomConnection في دالة الأداة.

    Screenshot that shows the doc search chain node highlighting the custom connection.

  2. قم بتحليل الإدخال إلى قسم الإدخال، ثم حدد الاتصال المخصص المستهدف في القائمة المنسدلة Value .

    Screenshot that shows the chain node highlighting the connection.

على سبيل المثال:

from promptflow import tool
from promptflow.connections import CustomConnection

@tool
def my_python_tool(message: str, myconn: CustomConnection) -> str:
    # Get authentication key-values from the custom connection
    connection_key1_value = myconn.key1
    connection_key2_value = myconn.key2