背景
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 が使えず、並列呼び出しはまだ動かせてない・・
ということで、以下モデル一覧をみて、現在 westus のクォータ申請中。
来週出来るといいなぁ・・