Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
- Konto platformy Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz bezpłatne konto platformy Azure, które obejmuje subskrypcję bezpłatnej wersji próbnej.
- Jeśli go nie masz, utwórz projekt oparty na centrum.
Kompilowanie za pomocą narzędzia języka Python
Tworzenie lub otwieranie przepływu w rozwiązaniu Microsoft Foundry. Aby uzyskać więcej informacji, zobacz Tworzenie przepływu.
Wybierz + Python, aby dodać narzędzie 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 wprowadź następujący kod w języku Python:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + messageAby 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.
| 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.@toolZastosuj dekorator tylko raz w fragmencie kodu. - Przypisz parametry funkcji narzędzia języka Python w
Inputssekcji . - 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.
- Konto platformy Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz bezpłatne konto platformy Azure, które obejmuje subskrypcję bezpłatnej wersji próbnej.
- Jeśli go nie masz, utwórz projekt oparty na centrum.
Przejdź do strony Centrum zarządzania dla projektu.
W nagłówku Centrum lub Projekt wybierz Połączone zasoby.
Wybierz + Nowe połączenie.
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:
- 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 typuCustomConnectionw funkcji narzędzia. - 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