Narzędzie języka Python dla przepływów w usłudze Azure AI Studio
Ważne
Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie 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ą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Narzędzie do obsługi przepływu monitów języka Python oferuje niestandardowe fragmenty kodu jako samodzielne węzły wykonywalne. Możesz szybko tworzyć narzędzia języka Python, edytować kod i weryfikować wyniki.
Kompilowanie za pomocą narzędzia języka Python
Tworzenie lub otwieranie przepływu w usłudze Azure AI Studio. Aby uzyskać więcej informacji, zobacz Tworzenie przepływu.
Wybierz pozycję + Python , aby dodać narzędzie języka Python do przepływu.
Wprowadź wartości parametrów wejściowych narzędzia języka Python opisanych w tabeli Inputs. Na przykład w polu tekstowym Wprowadzanie kodu możesz wprowadzić 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.
Dodaj więcej narzędzi do przepływu zgodnie z potrzebami. Możesz też wybrać pozycję Uruchom , aby uruchomić przepływ.
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.
Nazwisko | Pisz | Opis | Wymagania |
---|---|---|---|
Kod | string | Fragment kodu w języku Python. | Tak |
Dane wejściowe | - | Lista parametrów funkcji narzędzia i jej przypisań. | - |
Dane wyjściowe
Dane wyjściowe to return
wartość funkcji narzędzia języka Python. 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
.
Typy
Typ | Przykład języka Python | opis |
---|---|---|
int | param: int | Typ liczby całkowitej |
bool | param: bool | Typ logiczny |
string | param: str | Typ ciągu |
double | param: float | Podwójny typ |
lista | param: list lub param: List[T] | Typ listy |
obiekt | param: dict lub param: Dict[K, V] | Object type |
Connection | param: CustomConnection | Typ połączenia jest obsługiwany specjalnie. |
Parametry z adnotacją Connection
typu są traktowane jako dane wejściowe połączenia, co oznacza:
- Rozszerzenie przepływu monitu wyświetla selektor do wybrania połączenia.
- W czasie wykonywania przepływ monitu próbuje znaleźć połączenie o tej samej nazwie z wartości parametru, która została przekazana.
Uwaga
Adnotacja Union[...]
typu jest obsługiwana tylko dla typu połączenia. Może to być na przykład 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. Dekorator@tool
powinien być stosowany tylko raz w fragmencie kodu. - Parametry funkcji narzędzia języka Python muszą być przypisane w
Inputs
sekcji . - Funkcja narzędzia języka Python zawiera instrukcję i wartość zwracaną, która jest danymi wyjściowymi 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 języka Python, które wymaga wywoływania usług zewnętrznych przy użyciu uwierzytelniania, możesz użyć połączenia niestandardowego w przepływie monitu. Umożliwia bezpieczne przechowywanie klucza dostępu, a następnie pobieranie go w kodzie języka Python.
Tworzenie połączenia niestandardowego
Utwórz połączenie niestandardowe, które przechowuje cały klucz interfejsu API modelu językowego lub inne wymagane poświadczenia.
Przejdź do strony Ustawienia projektu. Następnie wybierz pozycję + Nowe połączenie.
Wybierz pozycję Usługa niestandardowa . Możesz zdefiniować nazwę połączenia. Aby przechowywać poświadczenia i klucze, możesz dodać wiele par klucz-wartość, wybierając pozycję Dodaj pary klucz-wartość.
Uwaga
Upewnij się, że co najmniej jedna para klucz-wartość jest ustawiona jako wpis tajny. W przeciwnym razie połączenie nie zostanie pomyślnie utworzone. Aby ustawić jedną parę klucz-wartość jako klucz tajny, wybierz opcję jest wpisem tajnym do szyfrowania i przechowywania wartości klucza.
Korzystanie z połączenia niestandardowego w języku Python
Aby korzystać z połączenia niestandardowego w kodzie języka Python:
- W sekcji kodu w węźle języka Python zaimportuj niestandardową bibliotekę
from promptflow.connections import CustomConnection
połączeń . Zdefiniuj parametr wejściowy typuCustomConnection
w funkcji narzędzia. - Przeanalizuj dane wejściowe w sekcji wejściowej. Następnie wybierz docelowe połączenie niestandardowe na liście rozwijanej wartości.
Na 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