3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft AzureAdvent Calendar 2023

Day 2

Azure OpenAI で Function Calling を使うときの endpoint の指定の仕方は二種類ある?

Last updated at Posted at 2023-12-22

背景

LangChain を触ったので、似たようなものと思われる Function Calling を試そうとした

が、まぁ、当然の事ながら敵は手強いもので、サンプルそのままでは動かない

ということで、今現在分かったことを記録

概要

現状? endpoint は二種類の指定方法がある様子。

たまたま動いているだけな気もしてしまいますけどね・・

方法 endpoint model 補足
正確なURL https://{yours}.openai.azure.com/openai/deployments/{deployment_id}/chat/completions?api-version=2023-12-01-preview model name deployment_id, api_version を指定する。
単純なURL https://{yours}.openai.azure.com deployment_id base 指定なので、model=deployment_id として、api_version も指定する

MS-Learn としては以下

これを見る限りは、単純なURLの方が正しいようにも見える

正確なURL の例

endpoint で、deployment_id も api_version も指定

サンプル
os.environ["AZURE_OPENAI_ENDPOINT"] = https://{yours}.openai.azure.com/openai/deployments/{deployment_id}/chat/completions?api-version=2023-12-01-preview

api_key = os.environ["AZURE_OPENAI_API_KEY"]
endpoint = os.environ["AZURE_OPENAI_ENDPOINT"]

aoai_model = 'gpt-35-turbo'             # model: chat completion

client = AzureOpenAI(
    azure_endpoint = endpoint,
    api_key=api_key,
)
response = client.chat.completions.create(
    model=aoai_model,
    messages=messages,
    tools=tools,
    tool_choice="auto",  # auto is default, but we'll be explicit
)

Rest API の 構成については以下を参照

単純なURL

endpoint で、deployment_id は、それぞれ引数として指定

他との共通性を考えるとこっちかな、と

ただ、どっちが本流(deprecated されない)のかは未調査

サンプル
os.environ["AZURE_OPENAI_ENDPOINT"] = https://{yours}.openai.azure.com

api_key = os.environ["AZURE_OPENAI_API_KEY"]
endpoint = os.environ["AZURE_OPENAI_ENDPOINT"]

deployment = 'gpt-35-turbo-0613'        # deployment_id

client = AzureOpenAI(
    azure_endpoint = endpoint,
    api_key=api_key,
    api_version = "2023-12-01-preview",
)
response = client.chat.completions.create(
    model=deployment,
    messages=messages,
    tools=tools,
    tool_choice="auto",  # auto is default, but we'll be explicit
)

あとがき

  • deployment_id を見ると分かるが、east_us の region でやっていた為、gpt3.5 1106 が使えず、並列呼び出しはまだ動かせてない・・ :sweat:

ということで、以下モデル一覧をみて、現在 westus のクォータ申請中。
来週出来るといいなぁ・・

image.png

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?