Describe the bug
Creating a docker image to deploy with open ai connection and azure ai search connection.
Note: running this flow from inside VS code works fine when I am logged in (az login, etc).
How To Reproduce the bug
Steps to reproduce the behavior, how frequent can you experience the bug:
Create chat flow.
Export the flow locally
In VS code create connections for open ai deployment and azure ai search
Build the flow pf flow build --source . --output dist--format docker
Inspect the dist/connections directory and observe that the AI Search connection is missing
Expected behavior
Ability to run flows from inside docker container image
Screenshots
If applicable, add screenshots to help explain your problem.
Running Information(please complete the following information):
Promptflow Package Version using pf -v: [e.g. 0.0.102309906]
1.16.0
Operating System: [e.g. Ubuntu 20.04, Windows 11]
Docker container
Python Version using python --version: [e.g. python==3.10.12]
3.9
Additional context
Things I tried:
Manually created connection for azure ai search yaml (AzureAISearch.yaml) with ENV passing when starting docker.
set service.provider=local and set connection file in run file:
pf connection create --file /connections/AzureAISearch.yaml
pf config set connection.provider=local
Error logs:
INFO:azureml.rag.connections:Getting workspace connection: AzureAISearch, with input credential: <class 'NoneType'>.
2024-10-08 02:13:29 +0000 59 execution.flow INFO [querySearchResource in line None (index starts from 0)] stdout> [2024-10-08 02:13:29] INFO azureml.rag.connections - Using ml_client base_url: https://management.azure.com, original_base_url: https://management.azure.com. (connections.py:367)
WARNING:azure.identity._credentials.chained:DefaultAzureCredential failed to retrieve a token from the included credentials.
Attempted credentials:
EnvironmentCredential: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot this issue.
ManagedIdentityCredential: ManagedIdentityCredential authentication unavailable, no response from the IMDS endpoint.
SharedTokenCacheCredential: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.
AzureCliCredential: Azure CLI not found on path
AzurePowerShellCredential: PowerShell is not installed
AzureDeveloperCliCredential: Azure Developer CLI could not be found. Please visit https://aka.ms/azure-dev for installation instructions and then,once installed, authenticate to your Azure account using 'azd auth login'.
To mitigate this issue, please refer to the troubleshooting guidelines here at https://aka.ms/azsdk/python/identity/defaultazurecredential/troubleshoot.
2024-10-08 02:13:29 +0000 59 promptflow_vectordb.tool INFO [index_lookup_tool] `search_function_construction` completed in 5.750510728001245 seconds.
2024-10-08 02:13:29 +0000 59 execution.flow INFO [querySearchResource in line None (index starts from 0)] stdout> [2024-10-08 02:13:29] INFO azureml.rag.index_lookup_tool(Promptflow) - `search_function_construction` completed in 5.750510728001245 seconds. (profiling.py:29)
INFO:azureml.rag.index_lookup_tool(Promptflow):`search_function_construction` completed in 5.750510728001245 seconds.
2024-10-08 02:13:29 +0000 59 promptflow_vectordb.tool ERROR [index_lookup_tool]
Traceback (most recent call last):
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/promptflow_vectordb/tool/utils/profiling.py", line 18, in measure_execution_time
yield
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/promptflow_vectordb/tool/common_index_lookup.py", line 54, in _get_search_func
search_func = build_search_func(index, top_k, query_type)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/promptflow_vectordb/tool/common_index_lookup_extensions/utils.py", line 35, in build_search_func
store = index.as_langchain_vectorstore()
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azureml/rag/mlindex.py", line 186, in as_langchain_vectorstore
raise e
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azureml/rag/mlindex.py", line 172, in as_langchain_vectorstore
connection_credential = get_connection_credential(self.index_config, credential=credential)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azureml/rag/utils/connections.py", line 78, in get_connection_credential
connection = get_connection_by_id_v2(connection_id, credential=credential)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azureml/rag/utils/__init__.py", line 55, in wrapper
raise e
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azureml/rag/utils/__init__.py", line 49, in wrapper
return func(*args, **kwargs)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azureml/rag/utils/connections.py", line 373, in get_connection_by_id_v2
list_secrets_response = ml_client.connections._operation.list_secrets(
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/tracing/decorator.py", line 78, in wrapper_use_tracer
return func(*args, **kwargs)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/ai/ml/_restclient/v2024_04_01_preview/operations/_workspace_connections_operations.py", line 775, in list_secrets
pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/_base.py", line 230, in run
return first_node.send(pipeline_request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/_base.py", line 86, in send
response = self.next.send(request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/_base.py", line 86, in send
response = self.next.send(request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/_base.py", line 86, in send
response = self.next.send(request)
[Previous line repeated 2 more times]
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/mgmt/core/policies/_base.py", line 46, in send
response = self.next.send(request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/policies/_redirect.py", line 197, in send
response = self.next.send(request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/policies/_retry.py", line 531, in send
response = self.next.send(request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/policies/_authentication.py", line 124, in send
self.on_request(request)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/core/pipeline/policies/_authentication.py", line 99, in on_request
self._token = self._credential.get_token(*self._scopes)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/identity/_credentials/default.py", line 225, in get_token
token = super().get_token(*scopes, claims=claims, tenant_id=tenant_id, **kwargs)
File "/opt/conda/envs/promptflow-serve/lib/python3.9/site-packages/azure/identity/_credentials/chained.py", line 124, in get_token
raise ClientAuthenticationError(message=message)
azure.core.exceptions.ClientAuthenticationError: DefaultAzureCredential failed to retrieve a token from the included credentials.
Attempted credentials:
EnvironmentCredential: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot this issue.
ManagedIdentityCredential: ManagedIdentityCredential authentication unavailable, no response from the IMDS endpoint.
SharedTokenCacheCredential: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.
AzureCliCredential: Azure CLI not found on path
AzurePowerShellCredential: PowerShell is not installed
AzureDeveloperCliCredential: Azure Developer CLI could not be found. Please visit https://aka.ms/azure-dev for installation instructions and then,once installed, authenticate to your Azure account using 'azd auth login'.
To mitigate this issue, please refer to the troubleshooting guidelines here at https://aka.ms/azsdk/python/identity/defaultazurecredential/troubleshoot.
For some reason it expects me to be logged into azure. But, im trying to make a docker image.
Describe the bug Creating a docker image to deploy with open ai connection and azure ai search connection.
Note: running this flow from inside VS code works fine when I am logged in (az login, etc).
How To Reproduce the bug Steps to reproduce the behavior, how frequent can you experience the bug: Create chat flow. Export the flow locally In VS code create connections for open ai deployment and azure ai search Build the flow pf flow build --source . --output dist--format docker Inspect the dist/connections directory and observe that the AI Search connection is missing
Expected behavior Ability to run flows from inside docker container image
Screenshots If applicable, add screenshots to help explain your problem.
Running Information(please complete the following information):
pf -v
: [e.g. 0.0.102309906]python --version
: [e.g. python==3.10.12]Additional context
Things I tried:
Manually created connection for azure ai search yaml (AzureAISearch.yaml) with ENV passing when starting docker.
set service.provider=local and set connection file in run file:
Error logs:
For some reason it expects me to be logged into azure. But, im trying to make a docker image.