Udostępnij przez


Narzędzie języka Python dla przepływów w portalu Microsoft Foundry (wersja klasyczna)

Uwaga / Notatka

Ten dokument odnosi się do portalu Microsoft Foundry (klasycznego).

🔍 Zapoznaj się z dokumentacją rozwiązania Microsoft Foundry (nową), aby dowiedzieć się więcej o nowym portalu.

Ważna

Elementy oznaczone jako (wersja zapoznawcza) w tym artykule są aktualnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.

Narzędzie przepływu Python udostępnia niestandardowe fragmenty kodu jako samodzielne węzły wykonywalne. Możesz szybko tworzyć narzędzia języka Python, edytować kod i weryfikować wyniki.

Wymagania wstępne

Ważna

Ten artykuł zapewnia wsparcie dla starszych wersji projektów hubowych. Nie będzie działać dla projektów typu Foundry. Zobacz Jak sprawdzić, jaki typ projektu mam?

Uwaga dotycząca zgodności zestawu SDK: przykłady kodu wymagają określonej wersji zestawu Microsoft Foundry SDK. Jeśli napotkasz problemy ze zgodnością, rozważ migrację z projektu opartego na hubie do projektu Foundry.

Kompilowanie za pomocą narzędzia języka Python

  1. Tworzenie lub otwieranie przepływu w rozwiązaniu Microsoft Foundry. Aby uzyskać więcej informacji, zobacz Tworzenie przepływu.

  2. Wybierz + Python, aby dodać narzędzie Python do przepływu.

    Zrzut ekranu przedstawiający narzędzie języka Python dodane do przepływu w portalu Foundry.

  3. Wprowadź wartości parametrów wejściowych narzędzia języka Python opisanych w tabeli Inputs. Na przykład w polu tekstowym Wprowadzanie kodu wprowadź następujący kod w języku Python:

    from promptflow import tool
    
    @tool
    def my_python_tool(message: str) -> str:
        return 'hello ' + message
    

    Aby uzyskać więcej informacji, zobacz Wymagania dotyczące wprowadzania kodu w języku Python.

  4. Dodaj więcej narzędzi do przepływu zgodnie z potrzebami. Możesz też wybrać pozycję Uruchom , aby uruchomić przepływ.

  5. Dane wyjściowe są opisane w tabeli Dane wyjściowe. Na podstawie poprzednich przykładowych danych wejściowych kodu języka Python, jeśli komunikat wejściowy to "world", dane wyjściowe to hello world.

Dane wejściowe

Lista danych wejściowych zmienia się na podstawie argumentów funkcji narzędzia po zapisaniu kodu. Dodanie typu do argumentów i return wartości pomaga narzędziu prawidłowo wyświetlać typy.

Name Typ Opis Wymagane
Code ciąg Fragment kodu w języku Python. Tak
Dane wejściowe - Lista parametrów funkcji narzędzia i jej przypisań. -

Wyniki

Dane wyjściowe to wartość funkcji narzędzia Python return. Rozważmy na przykład następującą funkcję narzędzia języka Python:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

Jeśli komunikat wejściowy to "world", dane wyjściowe to hello world.

Types

Typ Przykład języka Python Opis
int param: int Typ liczby całkowitej
bool param: bool Typ logiczny (Boolean)
ciąg param: str Typ ciągu znaków
podwójny param: float Podwójny typ
list param: list lub param: List[T] Typ listy
obiekt param: dict lub param: Dict[K, V] Typ obiektu
Połączenie param: CustomConnection Typ połączenia jest traktowany w sposób szczególny.

Traktuj parametry z Connection adnotacją typu jako danymi wejściowymi połączenia. To leczenie oznacza:

  • Rozszerzenie przepływu zapytań wyświetla selektor pozwalający wybrać połączenie.
  • Podczas wykonywania przepływ monitu próbuje znaleźć połączenie o tej samej nazwie na podstawie wartości parametru, który przekażesz.

Uwaga / Notatka

Adnotacja Union[...] typu obsługuje tylko typ połączenia. Przykładem jest param: Union[CustomConnection, OpenAIConnection].

Wymagania dotyczące wprowadzania kodu w języku Python

W tej sekcji opisano wymagania dotyczące danych wejściowych kodu języka Python dla narzędzia języka Python.

  • Kod narzędzia języka Python powinien składać się z kompletnego kodu w języku Python, w tym wszelkich niezbędnych importów modułów.
  • Kod narzędzia języka Python musi zawierać funkcję ozdobioną @tool (funkcja narzędzia), służąc jako punkt wejścia do wykonania. @tool Zastosuj dekorator tylko raz w fragmencie kodu.
  • Przypisz parametry funkcji narzędzia języka Python w Inputs sekcji .
  • Funkcja narzędzia języka Python musi mieć instrukcję return i wartość, która jest wynikiem narzędzia.

Poniższy kod w języku Python jest przykładem najlepszych rozwiązań:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

Korzystanie z połączenia niestandardowego w narzędziu języka Python

Jeśli tworzysz narzędzie w Pythonie, które wymaga wywoływania zewnętrznych usług z uwierzytelnianiem, użyj niestandardowego połączenia w przepływie komunikatów. Za pomocą tego połączenia można bezpiecznie przechowywać klucz dostępu, a następnie pobierać go w kodzie języka Python.

Tworzenie połączenia niestandardowego

Utwórz połączenie niestandardowe, które przechowuje wszystkie klucze interfejsów API modeli językowych lub inne wymagane poświadczenia.

Ważna

Ten artykuł zapewnia wsparcie dla starszych wersji projektów hubowych. Nie będzie działać dla projektów typu Foundry. Zobacz Jak sprawdzić, jaki typ projektu mam?

Uwaga dotycząca zgodności zestawu SDK: przykłady kodu wymagają określonej wersji zestawu Microsoft Foundry SDK. Jeśli napotkasz problemy ze zgodnością, rozważ migrację z projektu opartego na hubie do projektu Foundry.

  1. Przejdź do strony Centrum zarządzania dla projektu.

  2. W nagłówku Centrum lub Projekt wybierz Połączone zasoby.

  3. Wybierz + Nowe połączenie.

  4. Wybierz niestandardową usługę. Możesz zdefiniować nazwę połączenia. Wybierz pozycję Dodaj pary klucz-wartość , aby dodać wiele par klucz-wartość do przechowywania poświadczeń i kluczy.

    Uwaga / Notatka

    Upewnij się, że co najmniej jedna para klucz-wartość jest ustawiona jako tajna. W przeciwnym razie połączenie nie zostanie pomyślnie utworzone. Aby ustawić jedną parę klucz-wartość jako tajny, wybierz jest tajny aby zaszyfrować i przechować wartość klucza.

Korzystanie z połączenia niestandardowego w języku Python

Aby korzystać z połączenia niestandardowego w kodzie języka Python:

  1. W sekcji kodu węzła języka Python zaimportuj niestandardową bibliotekę połączeń przy użyciu polecenia from promptflow.connections import CustomConnection. Zdefiniuj parametr wejściowy typu CustomConnection w funkcji narzędzia.
  2. Przeanalizuj dane wejściowe w sekcji wejściowej. Następnie wybierz docelowe połączenie niestandardowe z rozwijanej listy wartości.

Przykład:

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

Dalsze kroki