Python-hulpprogramma
Met het Python-hulpprogramma kunt u aangepaste codefragmenten aanbieden als zelfstandige uitvoerbare knooppunten in de promptstroom. U kunt eenvoudig Python-hulpprogramma's maken, code bewerken en resultaten controleren.
Invoerwaarden
Naam | Type | Beschrijving | Vereist |
---|---|---|---|
Code | tekenreeks | Python-codefragment | Ja |
Invoerwaarden | - | Lijst met hulpprogrammafunctieparameters en de bijbehorende toewijzingen | - |
Typen
Type | Python-voorbeeld | Beschrijving |
---|---|---|
int | param: int | Type geheel getal |
bool | param: bool | Booleaanse waardetype |
tekenreeks | param: str | Type tekenreeks |
dubbel | param: float | Dubbel type |
lijst | param: lijst of param: Lijst[T] | Lijsttype |
object | param: dict of param: Dict[K, V] | Object type |
Verbinding | param: CustomConnection | Verbindingstype wordt speciaal verwerkt |
Parameters met de Connection
typeaantekening worden behandeld als verbindingsinvoer, wat betekent:
- De extensie Promptstroom toont een selector om de verbinding te selecteren.
- Tijdens de uitvoering probeert de promptstroom de verbinding met dezelfde naam te vinden als de parameterwaarde die is doorgegeven.
Notitie
De Union[...]
typeaantekening wordt alleen ondersteund voor het verbindingstype, param: Union[CustomConnection, OpenAIConnection]
bijvoorbeeld.
Uitvoerwaarden
Uitvoer is de return van de Python-hulpprogrammafunctie.
Schrijven met het Python-hulpprogramma
Gebruik de volgende richtlijnen om te schrijven met het Python-hulpprogramma.
Richtlijnen
Python-hulpprogrammacode moet bestaan uit volledige Python-code, inclusief eventuele benodigde moduleimport.
Python-hulpprogrammacode moet een functie bevatten die is ingericht met
@tool
(toolfunctie), die fungeert als het toegangspunt voor uitvoering. Pas de@tool
decorator slechts eenmaal toe in het fragment.Het voorbeeld in de volgende sectie definieert het Python-hulpprogramma
my_python_tool
, dat is ingericht met@tool
.Parameters voor de Python-hulpprogrammafunctie moeten worden toegewezen in de
Inputs
sectie.Het voorbeeld in de volgende sectie definieert de invoer
message
en wijst dezeworld
toe.Een Python-hulpprogrammafunctie heeft een return.
Het voorbeeld in de volgende sectie retourneert een samengevoegde tekenreeks.
Code
In het volgende fragment ziet u de basisstructuur van een hulpprogrammafunctie. De promptstroom leest de functie en extraheert invoer uit functieparameters en typ aantekeningen.
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
Invoerwaarden
Naam | Type | Voorbeeldwaarde in stroom-YAML | Waarde doorgegeven aan functie |
---|---|---|---|
bericht | tekenreeks | world |
world |
my_conn | CustomConnection |
my_conn |
CustomConnection object |
De promptstroom probeert de verbinding te vinden die is benoemd my_conn
tijdens de uitvoeringstijd.
Uitvoerwaarden
"hello world"
Aangepaste verbinding in het Python-hulpprogramma
Als u een Python-hulpprogramma ontwikkelt waarvoor externe services met verificatie moeten worden aangeroepen, gebruikt u de aangepaste verbinding in de promptstroom. U kunt deze gebruiken om de toegangssleutel veilig op te slaan en deze vervolgens op te halen in uw Python-code.
Een aangepaste verbinding maken
Maak een aangepaste verbinding waarin al uw API-sleutel voor het grote taalmodel of andere vereiste referenties worden opgeslagen.
Ga naar de promptstroom in uw werkruimte en ga vervolgens naar het tabblad Verbindingen .
Selecteer Aangepast maken>.
In het rechterdeelvenster kunt u de naam van uw verbinding definiëren. U kunt meerdere sleutel-waardeparen toevoegen om uw referenties en sleutels op te slaan door sleutel-waardeparen toevoegen te selecteren.
Notitie
Als u één sleutel-waardepaar als geheim wilt instellen, schakelt u het selectievakje Geheim in. Met deze optie wordt uw sleutelwaarde versleuteld en opgeslagen. Zorg ervoor dat ten minste één sleutel-waardepaar is ingesteld als geheim. Anders wordt de verbinding niet gemaakt.
Een aangepaste verbinding gebruiken in Python
Een aangepaste verbinding gebruiken in uw Python-code:
Importeer in de codesectie van uw Python-knooppunt de aangepaste verbindingsbibliotheek
from promptflow.connections import CustomConnection
. Definieer een invoerparameter van het typeCustomConnection
in de functie van het hulpprogramma.Parseer de invoer in de invoersectie en selecteer vervolgens de aangepaste doelverbinding in de vervolgkeuzelijst Waarde .
Voorbeeld:
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