Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ celerybeat.pid
*.sage.py

# Environments
.env
.env*
.venv
env/
venv/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,16 @@
"from azure.identity import DefaultAzureCredential"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from dotenv import load_dotenv\n",
"load_dotenv()"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -95,33 +105,13 @@
]
},
"outputs": [],
"source": [
"azure_ai_project = {\n",
" \"subscription_id\": \"<your-subscription-id>\",\n",
" \"resource_group_name\": \"<your-resource-group-name>\",\n",
" \"project_name\": \"<your-project-name>\",\n",
"}\n",
"\n",
"azure_openai_api_version = \"<api version>\"\n",
"azure_openai_deployment = \"<your-deployment>\"\n",
"azure_openai_endpoint = \"<your-endpoint>\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import os\n",
"azure_ai_project = os.environ.get(\"AZURE_AI_PROJECT\")\n",
"\n",
"# Use the following code to set the environment variables if not already set. If set, you can skip this step. In addition, you should also set \"AZURE_OPENAI_ENDPOINT\" to the endpoint of your AzureOpenAI service.\n",
"\n",
"os.environ[\"AZURE_OPENAI_API_VERSION\"] = azure_openai_api_version\n",
"os.environ[\"AZURE_OPENAI_DEPLOYMENT\"] = azure_openai_deployment\n",
"os.environ[\"AZURE_OPENAI_ENDPOINT\"] = azure_openai_endpoint"
"azure_openai_api_version = os.environ.get(\"AZURE_OPENAI_API_VERSION\")\n",
"azure_openai_deployment = os.environ.get(\"AZURE_OPENAI_DEPLOYMENT\")\n",
"azure_openai_endpoint = os.environ.get(\"AZURE_OPENAI_ENDPOINT\")"
]
},
{
Expand Down Expand Up @@ -222,7 +212,7 @@
"path = str(pathlib.Path(pathlib.Path.cwd())) + \"/data.jsonl\"\n",
"\n",
"results = evaluate(\n",
" evaluation_name=\"Eval-Run-\" + \"-\" + model_config[\"azure_deployment\"].title(),\n",
" evaluation_name=\"Quality \" + model_config[\"azure_deployment\"].title(),\n",
" data=path,\n",
" target=ModelEndpoint(model_config),\n",
" evaluators={\n",
Expand All @@ -231,7 +221,12 @@
" \"relevance\": relevance_evaluator,\n",
" \"groundedness\": groundedness_evaluator,\n",
" \"fluency\": fluency_evaluator,\n",
" \"similarity\": similarity_evaluator,\n",
" #\"similarity\": similarity_evaluator,\n",
" },\n",
" azure_ai_project={\n",
" \"subscription_id\": os.environ[\"REPORT_AZURE_SUBSCRIPTION_ID\"],\n",
" \"project_name\": os.environ[\"REPORT_PROJECT_NAME\"],\n",
" \"resource_group_name\": os.environ[\"REPORT_RESOURCE_GROUP_NAME\"],\n",
" },\n",
" evaluator_config={\n",
" \"content_safety\": {\"column_mapping\": {\"query\": \"${data.query}\", \"response\": \"${target.response}\"}},\n",
Expand Down Expand Up @@ -269,7 +264,7 @@
"metadata": {},
"outputs": [],
"source": [
"pprint(results)"
"pd.DataFrame(results[\"rows\"])"
]
},
{
Expand All @@ -278,13 +273,20 @@
"metadata": {},
"outputs": [],
"source": [
"pd.DataFrame(results[\"rows\"])"
"pprint(f'AI Foundary URL: {results.get(\"studio_url\")}')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": ".venv",
"language": "python",
"name": "python3"
},
Expand All @@ -297,7 +299,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
"pygments_lexer": "ipython3",
"version": "3.13.3"
}
},
"nbformat": 4,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,11 @@
"from azure.ai.evaluation import ViolenceEvaluator, SexualEvaluator, SelfHarmEvaluator, HateUnfairnessEvaluator\n",
"from azure.identity import DefaultAzureCredential\n",
"\n",
"azure_ai_project = {\n",
" \"subscription_id\": \"<your-subscription-id>\",\n",
" \"resource_group_name\": \"<your-resource-group>\",\n",
" \"project_name\": \"<your-project-name>\",\n",
"}"
"from dotenv import load_dotenv\n",
"load_dotenv()\n",
"\n",
"import os\n",
"azure_ai_project = os.environ.get(\"AZURE_AI_PROJECT\")"
]
},
{
Expand All @@ -76,6 +76,22 @@
"### 1. Multi-modal Content Safety Evaluator"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Tom Cruise\n",
"#eval_image_url = \"https://cdn.britannica.com/68/178268-050-5B4E7FB6/Tom-Cruise-2013.jpg\"\n",
"\n",
"# Hellraiser\n",
"eval_image_url = \"https://dotcomstories.com/wp-content/uploads/2023/07/Hellraiser-1987.jpg\"\n",
"\n",
"from IPython.display import Image, display\n",
"display(Image(url=eval_image_url))"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand All @@ -99,7 +115,7 @@
" {\"type\": \"text\", \"text\": \"Can you describe this image?\"},\n",
" {\n",
" \"type\": \"image_url\",\n",
" \"image_url\": {\"url\": \"https://cdn.britannica.com/68/178268-050-5B4E7FB6/Tom-Cruise-2013.jpg\"},\n",
" \"image_url\": {\"url\": eval_image_url},\n",
" },\n",
" ],\n",
" },\n",
Expand Down Expand Up @@ -192,12 +208,35 @@
"\n",
"result = evaluate(\n",
" data=file_path,\n",
" azure_ai_project=azure_ai_project,\n",
" azure_ai_project={\n",
" \"subscription_id\": os.environ[\"REPORT_AZURE_SUBSCRIPTION_ID\"],\n",
" \"project_name\": os.environ[\"REPORT_PROJECT_NAME\"],\n",
" \"resource_group_name\": os.environ[\"REPORT_RESOURCE_GROUP_NAME\"],\n",
" },\n",
" evaluators={\"content_safety\": content_safety_eval},\n",
")\n",
"pprint(result)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pprint(f'AI Foundary URL: {result.get(\"studio_url\")}')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"pd.DataFrame(result[\"rows\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -232,6 +271,13 @@
"result = evaluator(conversation=conversation)\n",
"pprint(result)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand All @@ -249,7 +295,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
"pygments_lexer": "ipython3",
"version": "3.13.3"
}
},
"nbformat": 4,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,35 @@
"### Initialize Intent Resolution Evaluator\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%pip install azure-ai-projects azure-identity azure-ai-evaluation python-dotenv"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from dotenv import load_dotenv\n",
"load_dotenv()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"azure_ai_project = os.environ.get(\"AZURE_AI_PROJECT\")"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand All @@ -71,13 +100,16 @@
"import os\n",
"from azure.ai.evaluation import AzureOpenAIModelConfiguration\n",
"from azure.ai.evaluation import IntentResolutionEvaluator\n",
"from azure.identity import DefaultAzureCredential, get_bearer_token_provider\n",
"from pprint import pprint\n",
"\n",
"token_provider = get_bearer_token_provider(DefaultAzureCredential(), \"https://cognitiveservices.azure.com/.default\")\n",
"\n",
"model_config = AzureOpenAIModelConfiguration(\n",
" azure_endpoint=os.environ[\"AZURE_OPENAI_ENDPOINT\"],\n",
" api_key=os.environ[\"AZURE_OPENAI_API_KEY\"],\n",
" api_version=os.environ[\"AZURE_OPENAI_API_VERSION\"],\n",
" azure_deployment=os.environ[\"MODEL_DEPLOYMENT_NAME\"],\n",
" azure_deployment=os.environ[\"AZURE_OPENAI_DEPLOYMENT\"],\n",
")\n",
"\n",
"intent_resolution_evaluator = IntentResolutionEvaluator(model_config)"
Expand Down Expand Up @@ -318,25 +350,44 @@
"# This was saved using agent thread and converter.\n",
"file_name = \"evaluation_data.jsonl\"\n",
"\n",
"azure_ai_project = \"https://cvi-aie-wf-swedencentra-resource.services.ai.azure.com/api/projects/cvi-aie-wf-swedencentral\"\n",
"\n",
"response = evaluate(\n",
" data=file_name,\n",
" evaluation_name=\"Intent Resolution Evaluation\",\n",
" evaluators={\n",
" \"intent_resolution\": intent_resolution_evaluator,\n",
" },\n",
" azure_ai_project={\n",
" \"subscription_id\": os.environ[\"AZURE_SUBSCRIPTION_ID\"],\n",
" \"project_name\": os.environ[\"PROJECT_NAME\"],\n",
" \"resource_group_name\": os.environ[\"RESOURCE_GROUP_NAME\"],\n",
" \"subscription_id\": os.environ[\"REPORT_AZURE_SUBSCRIPTION_ID\"],\n",
" \"project_name\": os.environ[\"REPORT_PROJECT_NAME\"],\n",
" \"resource_group_name\": os.environ[\"REPORT_RESOURCE_GROUP_NAME\"],\n",
" },\n",
")\n",
"pprint(f'AI Foundary URL: {response.get(\"studio_url\")}')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"pd.DataFrame(response[\"rows\"])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "test_agent_eval_sample",
"display_name": ".venv",
"language": "python",
"name": "python3"
},
Expand All @@ -349,7 +400,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
"pygments_lexer": "ipython3",
"version": "3.13.3"
}
},
"nbformat": 4,
Expand Down
Loading
Loading