Skip to content

Commit

Permalink
intial commits to add image endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
martinpeck committed Sep 11, 2024
1 parent 0288ac4 commit 3b6e3c9
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 8 deletions.
18 changes: 17 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,21 @@
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
"python.testing.pytestEnabled": true,
"rest-client.environmentVariables": {
"test": {
"endpoint_env_var": "TEST_OPENAI_ENDPOINT",
"key_env_var": "TEST_OPENAI_KEY",
"deployment_env_var": "TEST_OPENAI_DEPLOYMENT",
"embedding_deployment_env_var": "TEST_OPENAI_EMBEDDING_DEPLOYMENT",
"image_deployment_env_var": "TEST_OPENAI_IMAGE_DEPLOYMENT"
},
"azure": {
"endpoint_env_var": "AZURE_OPENAI_ENDPOINT",
"key_env_var": "AZURE_OPENAI_KEY",
"deployment_env_var": "AZURE_OPENAI_DEPLOYMENT",
"embedding_deployment_env_var": "AZURE_OPENAI_EMBEDDING_DEPLOYMENT",
"image_deployment_env_var": "AZURE_OPENAI_IMAGE_DEPLOYMENT"
}
}
}
5 changes: 4 additions & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ When running the Azure OpenAI API Simulator, there are a number of environment v
| `AZURE_OPENAI_KEY` | The API key for the Azure OpenAI service. Used by the simulator when forwarding requests |
| `AZURE_OPENAI_DEPLOYMENT` | The deployment name for your GPT model. Used by the simulator when forwarding requests. |
| `AZURE_OPENAI_EMBEDDING_DEPLOYMENT` | The deployment name for your embedding model. Used by the simulator when forwarding requests. |
| `AZURE_OPENAI_IMAGE_DEPLOYMENT` | The deployment name for your image generation model. Used by the simulator when forwarding requests. |
| `LOG_LEVEL` | The log level for the simulator. Defaults to `INFO`. |
| `LATENCY_OPENAI_*` | The latency to add to the OpenAI service when using generated output. See [Latency](#configuring-latency) for more details. |
| `RECORDING_AUTOSAVE` | If set to `True` (default), the simulator will save the recording after each request (see [Large Recordings](./running-deploying.md#managing-large-recordings)). |
Expand All @@ -39,7 +40,9 @@ There are also a set of environment variables that the test clients and tests wi
| `TEST_OPENAI_ENDPOINT` | **Used by test client code only**. Defines the OpenAI-like endpoint that the test client will call. Most likely set to the location of your similator deployment.|
| `TEST_OPENAI_KEY` | **Used by test client code. only**. Defines the key that will be set to the `TEST_OPENAI_ENDPOINT` when making requests. Most likely set to the value of `SIMULATOR_API_KEY`.|
| `TEST_OPENAI_DEPLOYMENT` | **Used by test client code only**. Defines the GPT model deployment that the test client will request.|
| `TEST_OPENAI_EMBEDDING_DEPLOYMENT` | **Used by test client code only**. Defines the embeddking model deployment that the test client will request.|
| `TEST_OPENAI_EMBEDDING_DEPLOYMENT` | **Used by test client code only**. Defines the embedding model deployment that the test client will request.|
| `TEST_OPENAI_IMAGE_DEPLOYMENT` | **Used by test client code only**. Defines the image generation model deployment that the test client will request.|


### Setting Environment Variables via the `.env` File

Expand Down
7 changes: 6 additions & 1 deletion sample.env
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ LOCATION=__CHANGE_ME___
SIMULATOR_MODE=generate
OPENAI_DEPLOYMENT_CONFIG_PATH=examples/openai_deployment_config.json
SIMULATOR_API_KEY=

AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_KEY=

AZURE_OPENAI_DEPLOYMENT=
AZURE_OPENAI_EMBEDDING_DEPLOYMENT=
AZURE_OPENAI_IMAGE_DEPLOYMENT=

AZURE_FORM_RECOGNIZER_ENDPOINT=
AZURE_FORM_RECOGNIZER_KEY=
Expand All @@ -28,8 +31,10 @@ OTEL_METRIC_EXPORT_INTERVAL=10000
# Test Client Config (used to direct the tests and test clients)
TEST_OPENAI_ENDPOINT=
TEST_OPENAI_KEY=

TEST_OPENAI_DEPLOYMENT=gpt-3.5-turbo-0613
TEST_OPENAI_EMBEDDING_DEPLOYMENT=
TEST_OPENAI_EMBEDDING_DEPLOYMENT=text-embedding-ada-002
TEST_OPENAI_IMAGE_DEPLOYMENT=dall-e-3

TEST_FORM_RECOGNIZER_ENDPOINT=
TEST_FORM_RECOGNIZER_KEY=
23 changes: 18 additions & 5 deletions test-aoai.http
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@

@aoai_endpoint={{$dotenv TEST_OPENAI_ENDPOINT}}
@aoai_key={{$dotenv TEST_OPENAI_KEY}}
@aoai_deployment={{$dotenv TEST_OPENAI_DEPLOYMENT}}
@aoai_embedding_deployment={{$dotenv TEST_OPENAI_EMBEDDING_DEPLOYMENT}}
@aoai_endpoint={{$dotenv %endpoint_env_var}}
@aoai_key={{$dotenv %key_env_var}}
@aoai_deployment={{$dotenv %deployment_env_var}}
@aoai_embedding_deployment={{$dotenv %embedding_deployment_env_va
@aoai_image_deployment={{$dotenv %image_deployment_env_var}}

# https://learn.microsoft.com/en-us/azure/ai-services/openai/reference

Expand Down Expand Up @@ -37,7 +38,7 @@ api-key: {{aoai_key}}
#
# Chat Completions

POST {{aoai_endpoint}}openai/deployments/{{aoai_deployment}}/chat/completions?api-version=2023-12-01-preview
POST {{aoai_endpoint}}openai/deployments/{{aoai_deployment}}/chat/completions?api-version=2024-02-15-preview
Content-Type: application/json
api-key: {{aoai_key}}

Expand Down Expand Up @@ -204,6 +205,18 @@ api-key: {{aoai_key}}

{"input": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque pulvinar pellentesque habitant morbi tristique senectus et netus et. Diam quis enim lobortis scelerisque. Semper risus in hendrerit gravida rutrum quisque. Lobortis feugiat vivamus at augue eget arcu dictum. Pellentesque elit eget gravida cum sociis natoque penatibus et magnis. Massa sapien faucibus et molestie ac feugiat sed lectus vestibulum. Id leo in vitae turpis massa sed. Vitae aliquet nec ullamcorper sit amet. Enim nunc faucibus a pellentesque sit amet porttitor eget dolor. Vitae ultricies leo integer malesuada. Viverra accumsan in nisl nisi. Massa tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin. Mi quis hendrerit dolor magna eget est lorem ipsum.\nConvallis convallis tellus id interdum. Netus et malesuada fames ac turpis egestas sed tempus. Purus gravida quis blandit turpis cursus in hac habitasse. Nunc id cursus metus aliquam. Facilisis leo vel fringilla est ullamcorper eget nulla facilisi. Venenatis lectus magna fringilla urna porttitor rhoncus dolor. Et netus et malesuada fames ac turpis egestas. Donec et odio pellentesque diam volutpat commodo sed. Lacus sed turpis tincidunt id aliquet risus feugiat in ante. Est ullamcorper eget nulla facilisi etiam dignissim. Nisl nunc mi ipsum faucibus vitae. At in tellus integer feugiat. Velit aliquet sagittis id consectetur. Velit sed ullamcorper morbi tincidunt. Consectetur libero id faucibus nisl tincidunt eget nullam non nisi. At imperdiet dui accumsan sit amet nulla facilisi morbi. In est ante in nibh mauris cursus. Dignissim convallis aenean et tortor at. Donec adipiscing tristique risus nec.\nMi in nulla posuere sollicitudin. Dui sapien eget mi proin sed libero enim sed faucibus. Felis eget velit aliquet sagittis id consectetur purus. Ullamcorper malesuada proin libero nunc consequat. Integer malesuada nunc vel risus commodo viverra maecenas. Aliquam ut porttitor leo a diam sollicitudin. Congue quisque egestas diam in. Blandit massa enim nec dui nunc mattis enim ut. Id neque aliquam vestibulum morbi blandit cursus risus at. Nisi scelerisque eu ultrices vitae auctor eu augue ut lectus. Enim nulla aliquet porttitor lacus luctus accumsan tortor. Praesent elementum facilisis leo vel. Arcu dui vivamus arcu felis bibendum ut tristique. Ut tristique et egestas quis ipsum suspendisse ultrices gravida dictum.\nId leo in vitae turpis massa sed. Pretium nibh ipsum consequat nisl vel. Ante in nibh mauris cursus. Viverra justo nec ultrices dui sapien eget mi. Amet massa vitae tortor condimentum lacinia quis vel. Quis imperdiet massa tincidunt nunc. Auctor neque vitae tempus quam pellentesque nec. Convallis posuere morbi leo urna. Ullamcorper morbi tincidunt ornare massa eget egestas. Neque aliquam vestibulum morbi blandit cursus risus at ultrices. Est placerat in egestas erat imperdiet sed euismod nisi porta. Blandit volutpat maecenas volutpat blandit aliquam etiam erat velit. Libero id faucibus nisl tincidunt eget nullam non nisi est. Amet risus nullam eget felis eget. Tristique senectus et netus et malesuada fames ac turpis. Ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt. Turpis nunc eget lorem dolor sed.\nSenectus et netus et malesuada. Sit amet massa vitae tortor condimentum lacinia quis vel eros. Sed egestas egestas fringilla phasellus faucibus scelerisque. Pulvinar neque laoreet suspendisse interdum consectetur. Egestas sed sed risus pretium quam vulputate dignissim suspendisse in. Sed nisi lacus sed viverra tellus in hac habitasse platea. Risus nec feugiat in fermentum posuere. Nisl nisi scelerisque eu ultrices vitae auctor eu augue. Morbi leo urna molestie at elementum eu facilisis sed. Eu consequat ac felis donec et odio. Aliquet bibendum enim facilisis gravida neque. Tristique sollicitudin nibh sit amet.", "model": "embedding"}

################################################################
#
# Image Generation

POST {{aoai_endpoint}}/openai/deployments/{{aoai_image_deployment}}/images/generations?api-version=2024-06-01
Content-Type: application/json
api-key: {{aoai_key}}

{
"prompt": "An image of a developer writing code on a laptop at a hackathon."
}


################################################################
#
Expand Down

0 comments on commit 3b6e3c9

Please sign in to comment.