Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aviso
O fluxo de prompt em Microsoft Foundry e Azure Machine Learning será desativado em 20 de abril de 2027. O fluxo de prompt não é mais recomendado para o novo desenvolvimento. Migre aplicativos e implantações de fluxo de prompt existentes para o Microsoft Agent Framework antes de 20 de abril de 2027.
As imagens de contêiner de fluxo de prompt não estão mais recebendo atualizações, incluindo atualizações de segurança e pacote. Isso se aplica a imagens de runtime de fluxo de prompt, incluindo promptflow-runtime, promptflow-runtime-stablee promptflow-python.
Após 20 de abril de 2027, o fluxo de prompts, incluindo a experiência de criação da Web em Microsoft Foundry e Azure Machine Learning, as extensões do VS Code e imagens de contêiner de fluxo de prompt relacionadas, não terá mais suporte ou disponibilidade.
Se o aplicativo depender de implantações de fluxo de prompt ou imagens de runtime, planeje mover essas cargas de trabalho para alternativas compatíveis, como Microsoft Agent Framework antes da data de desativação. Para obter diretrizes de migração, consulte o guia de migração de fluxo de prompt e exemplos de código de migração.
A ferramenta Python permite que você crie snippets de código personalizados como nós executáveis autocontidos no fluxo de prompt. Você pode criar facilmente Python ferramentas, editar código e verificar os resultados.
Entradas
| Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| Code | cadeia | snippet de código Python | Sim |
| Entradas | - | Lista de parâmetros de função de ferramenta e suas atribuições | - |
Types
| Tipo | Exemplo de Python | Descrição |
|---|---|---|
| int | param: int | Tipo inteiro |
| bool | param: bool | Tipo booliano |
| cadeia | param: str | Tipo de cadeia de caracteres |
| duplo | parâmetro: float | Tipo duplo |
| lista | param: lista or param: List[T] | Tipo de lista |
| objeto | param: dict ou param: Dict[K, V] | Tipo de objeto |
| Connection | param: CustomConnection | O tipo de conexão é tratado especialmente |
Os parâmetros com a anotação de tipo são tratados como entradas de conexão, o Connection que significa:
- A extensão de fluxo de prompt mostra um seletor para escolher a conexão.
- Durante a execução, o fluxo de prompt tenta localizar a conexão com o mesmo nome do valor do parâmetro passado.
Observação
A Union[...] anotação de tipo tem suporte apenas para o tipo de conexão, por exemplo, param: Union[CustomConnection, OpenAIConnection].
Saídas
As saídas são o valor retornado da função de ferramenta Python.
Gravar com a ferramenta Python
Use as diretrizes a seguir ao escrever com a ferramenta Python.
Guidelines
Python código da ferramenta deve consistir em código de Python completo, incluindo as importações de módulo necessárias.
Python código da ferramenta deve conter uma função decorada com
@tool(função de ferramenta), que serve como o ponto de entrada para execução. Aplique o@tooldecorador apenas uma vez dentro do snippet.O exemplo a seguir define a ferramenta Python
my_python_tool, que é decorada com@tool.Python parâmetros de função de ferramenta devem ser atribuídos na seção
Inputs.O exemplo a seguir define a entrada
messagee aworldatribui.Uma função de ferramenta de Python deve ter um valor retornado.
O exemplo a seguir retorna uma cadeia de caracteres concatenada.
Code
O snippet a seguir mostra a estrutura básica de uma função de ferramenta. O fluxo de prompt lê a função e extrai entradas de parâmetros de função e anotações de tipo.
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
Entradas
| Name | Tipo | Valor de exemplo no YAML de fluxo | Valor passado para a função |
|---|---|---|---|
| mensagem | cadeia | world |
world |
| my_conn | CustomConnection |
my_conn |
CustomConnection Objeto |
O fluxo de prompt tenta localizar a conexão nomeada my_conn durante a execução.
Saídas
"hello world"
Chamar um modelo de raciocínio da ferramenta Python
Se você precisar chamar modelos de raciocínio aos quais o nó LLM não dá suporte, use a ferramenta Python para chamar os modelos diretamente. O exemplo a seguir mostra como chamar um modelo de raciocínio da ferramenta 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
Conexão personalizada na ferramenta Python
Se você estiver desenvolvendo uma ferramenta de Python que requer chamar serviços externos com autenticação, use a conexão personalizada no fluxo de prompt. Você pode usá-la para armazenar com segurança a chave de acesso e recuperá-la em seu código Python.
Criar uma conexão personalizada
Crie uma conexão personalizada que armazene todas as chaves de API do modelo de idioma grande ou outras credenciais necessárias.
Vá para o fluxo de prompt no workspace e selecione a guia Conexões .
Selecione Criar>Personalizado.
No painel direito, você pode definir o nome da conexão. Você pode adicionar vários pares chave-valor para armazenar suas credenciais e chaves selecionando Adicionar pares chave-valor.
Observação
Para definir um par chave-valor como segredo, marque a caixa de seleção is secret . Essa opção criptografa e armazena seu valor de chave. Verifique se pelo menos um par chave-valor está definido como segredo. Caso contrário, a conexão não será criada com êxito.
Usar uma conexão personalizada no Python
Para usar uma conexão personalizada em seu código de Python:
Na seção de código no nó Python, importe a biblioteca de conexões personalizada
from promptflow.connections import CustomConnection. Defina um parâmetro de entrada do tipoCustomConnectionna função de ferramenta.Analise a entrada para a seção de entrada e selecione sua conexão personalizada de destino na lista suspensa Valor .
Por exemplo:
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