Python-hulpprogramma voor stromen in azure AI Foundry Portal
Belangrijk
Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
Het Python-hulpprogramma promptstroom biedt aangepaste codefragmenten als zelfstandige uitvoerbare knooppunten. U kunt snel Python-hulpprogramma's maken, code bewerken en resultaten controleren.
Bouwen met het Python-hulpprogramma
Een stroom maken of openen in Azure AI Foundry. Zie Een stroom maken voor meer informatie.
Selecteer + Python om het Python-hulpprogramma toe te voegen aan uw stroom.
Voer waarden in voor de invoerparameters van het Python-hulpprogramma die worden beschreven in de tabel Invoer. In het tekstvak Code-invoer kunt u bijvoorbeeld de volgende Python-code invoeren:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + message
Zie de invoervereisten voor Python-code voor meer informatie.
Voeg indien nodig meer hulpprogramma's toe aan uw stroom. Of selecteer Uitvoeren om de stroom uit te voeren.
De uitvoer wordt beschreven in de tabel Uitvoer. Als het invoerbericht 'wereld' is op basis van het vorige voorbeeld van python-code, is
hello world
de uitvoer.
Invoerwaarden
De lijst met invoer wordt gewijzigd op basis van de argumenten van de functie tool, nadat u de code hebt opgeslagen. Door het toevoegen van het type aan argumenten en return
waarden kan het hulpprogramma de typen correct weergeven.
Name | Type | Beschrijving | Vereist |
---|---|---|---|
Code | tekenreeks | Het Python-codefragment. | Ja |
Invoerwaarden | - | De lijst met de parameters van de hulpprogrammafunctie en de bijbehorende toewijzingen. | - |
Uitvoerwaarden
De uitvoer is de return
waarde van de Python-hulpprogrammafunctie. Denk bijvoorbeeld aan de volgende Python-hulpprogrammafunctie:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Als het invoerbericht 'wereld' is, is hello world
de uitvoer.
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 |
Connection | param: CustomConnection | Het verbindingstype wordt speciaal verwerkt. |
Parameters met Connection
typeaantekening worden behandeld als verbindingsinvoer, wat betekent:
- De promptstroomextensie 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. Een voorbeeld is param: Union[CustomConnection, OpenAIConnection]
.
Invoervereisten voor Python-code
In deze sectie worden de vereisten beschreven van de Python-codeinvoer voor het Python-hulpprogramma.
- Python-hulpprogrammacode moet bestaan uit een volledige Python-code, inclusief eventuele benodigde moduleimports.
- Python-hulpprogrammacode moet een functie bevatten die is ingericht met
@tool
(toolfunctie), die fungeert als het ingangspunt voor uitvoering. De@tool
decorator mag slechts eenmaal in het fragment worden toegepast. - Parameters voor de Python-hulpprogrammafunctie moeten worden toegewezen in de
Inputs
sectie. - De python-hulpprogrammafunctie heeft een retourinstructie en -waarde. Dit is de uitvoer van het hulpprogramma.
De volgende Python-code is een voorbeeld van best practices:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Een aangepaste verbinding gebruiken in het Python-hulpprogramma
Als u een Python-hulpprogramma ontwikkelt waarvoor externe services met verificatie moeten worden aangeroepen, kunt u de aangepaste verbinding gebruiken in een promptstroom. Hiermee kunt u de toegangssleutel veilig opslaan en deze vervolgens ophalen 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 pagina Beheercentrum voor uw project.
Selecteer verbonden resources onder de kop Hub of Project.
Selecteer + Nieuwe verbinding.
Selecteer Aangepaste service. U kunt uw verbindingsnaam definiëren. U kunt meerdere sleutel-waardeparen toevoegen om uw referenties en sleutels op te slaan door sleutel-waardeparen toevoegen te selecteren.
Notitie
Zorg ervoor dat ten minste één sleutel-waardepaar is ingesteld als geheim. Anders wordt de verbinding niet gemaakt. Als u één sleutel-waardepaar wilt instellen als geheim, selecteert u geheim om uw sleutelwaarde te versleutelen en op te slaan.
Een aangepaste verbinding gebruiken in Python
Ga als volgt te werk om een aangepaste verbinding in uw Python-code te gebruiken:
- 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. - Parseert de invoer in de invoersectie. Selecteer vervolgens uw aangepaste doelverbinding in de vervolgkeuzelijst met waarden.
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