Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Warning
De ontwikkeling van promptstroomfuncties is beëindigd op 20 april 2026. De functie wordt op 20 april 2027 volledig buiten gebruik gesteld. Op de buitengebruikstellingsdatum wordt de modus Alleen-lezen ingeschakeld. Uw bestaande stromen blijven actief tot die datum.
Opgevraagde actie: Migreer uw promptstroomworkloads naar Microsoft Agent Framework vóór 20 april 2027.
Met het hulpprogramma Python kunt u aangepaste codefragmenten maken als zelfstandige uitvoerbare knooppunten in de promptstroom. U kunt eenvoudig Python hulpprogramma's maken, code bewerken en resultaten controleren.
Inputs
| Name | Type | Description | Required |
|---|---|---|---|
| Code | string | codefragment Python | Yes |
| Inputs | - | Lijst met hulpprogrammafunctieparameters en de bijbehorende toewijzingen | - |
Types
| Type | Python example | Description |
|---|---|---|
| int | param: int | Integer type |
| bool | param: bool | Boolean type |
| string | param: str | String type |
| double | param: float | Double type |
| list | param: lijst of param: Lijst[T] | List type |
| object | param: dict of param: Dict[K, V] | Object type |
| Connection | param: CustomConnection | Verbindingstype wordt speciaal verwerkt |
Parameters met de Connection typeaantekening worden behandeld als verbindingsinvoer, wat betekent:
- De promptstroomextensie toont een selector om de verbinding te kiezen.
- Tijdens de uitvoering probeert de promptstroom de verbinding met dezelfde naam te vinden van de parameterwaarde die is doorgegeven.
Note
De Union[...] typeaantekening wordt alleen ondersteund voor het verbindingstype, param: Union[CustomConnection, OpenAIConnection]bijvoorbeeld.
Outputs
De uitvoer is de retourwaarde van de functie Python hulpprogramma.
Schrijven met het hulpprogramma Python
Gebruik de volgende richtlijnen bij het schrijven met het hulpprogramma Python.
Guidelines
Python hulpprogrammacode moet bestaan uit volledige Python code, met inbegrip van de benodigde moduleimport.
Python hulpprogrammacode moet een functie bevatten die is ingericht met
@tool(toolfunctie), die fungeert als ingangspunt voor uitvoering. Pas de@tooldecorator slechts eenmaal toe in het fragment.In het volgende voorbeeld wordt het hulpprogramma Python gedefinieerd
my_python_tool, dat is ingericht met@tool.Python functieparameters moeten worden toegewezen in de sectie
Inputs.In het volgende voorbeeld wordt de invoer
messagegedefinieerd en toegewezenworld.Een Python-functie moet een retourwaarde hebben.
In het volgende voorbeeld wordt een samengevoegde tekenreeks geretourneerd.
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
Inputs
| Name | Type | Voorbeeldwaarde in stroom-YAML | Waarde doorgegeven aan functie |
|---|---|---|---|
| message | string | world |
world |
| my_conn | CustomConnection |
my_conn |
CustomConnection Object |
De promptstroom probeert de verbinding te vinden die is benoemd my_conn tijdens de uitvoering.
Outputs
"hello world"
Een redeneringsmodel aanroepen vanuit het hulpprogramma Python
Als u redeneringsmodellen wilt aanroepen die niet door het LLM-knooppunt worden ondersteund, kunt u het hulpprogramma Python gebruiken om de modellen rechtstreeks aan te roepen. In het volgende voorbeeld ziet u hoe u een redeneringsmodel aanroept vanuit het hulpprogramma Python.
from promptflow import tool
from promptflow.connections import AzureOpenAIConnection
from openai import AzureOpenAI
@tool
def my_python_tool(
OpenAIConnection: AzureOpenAIConnection,
scope_reply: str
):
model_name = "o3-mini"
deployment = "o3-mini"
print(OpenAIConnection['api_base'])
endpoint = OpenAIConnection['api_base'] #"https://<your endpoint>.openai.azure.com/"
model_name = "o3-mini" #your model name
deployment = "o3-mini" #your deployment name
subscription_key = OpenAIConnection['api_key']
api_version = "2024-12-01-preview" #Supply an API version that supports reasoning models.
client = AzureOpenAI(
api_version=api_version,
azure_endpoint=endpoint,
api_key=subscription_key,
)
response = client.chat.completions.create(
messages=[
{
"role": "system",
"content": "You are a helpful assistant.",
},
{
"role": "user",
"content": "I am going to Paris, what should I see?",
}
],
max_completion_tokens=100000,
model=deployment
)
return response.choices[0].message.content
Aangepaste verbinding in het hulpprogramma Python
Als u een Python hulpprogramma ontwikkelt waarvoor externe services moeten worden aangeroepen met verificatie, 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 waarmee al uw API-sleutels voor het grote taalmodel of andere vereiste referenties worden opgeslagen.
Ga naar de promptstroom in uw werkruimte en selecteer vervolgens het tabblad Verbindingen .
SelecteerAangepast>.
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.
Note
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 typeCustomConnectionin de functie van het hulpprogramma.Parseer de invoer in de invoersectie en selecteer vervolgens de aangepaste doelverbinding in de vervolgkeuzelijst Waarde .
For example:
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