はじめに
Pythonを使って、AzureOpenAIのエンドポイントを使う場合、openai
の0.28.1
では、OpenAIのエンドポイントと同じ書き方だったが、1.x
以降は若干異なるとのこと。
参照:https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/switching-endpoints
LangChain
またはLlamaIndex
のフレームワークを利用する場合も変わってくるため、方法をまとめる。
いずれも関数として定義し、RAGなどで必要なLLMモデルとして利用できる形で示す。
環境
openai
: 1.14.1
※1.x
以降
方法
LangChain
の場合
from langchain_openai import AzureChatOpenAI
def get_llm(temperature=0):
llm = AzureChatOpenAI(
api_version='{API_VERSION}',
azure_endpoint='{API_ENDPOINT}',
api_key='{API_KEYS}',
azure_deployment='{OPENAI_MODEL_NAME}'
temperature=temperature
)
return llm
LlamaIndex
の場合
from llama_index.llms.azure_openai import AzureOpenAI
def get_llm(temperature=0):
llm = AzureOpenAI(
model='{GPT_MODEL}',
deployment_name='{GPT_DEPLOYED_MODEL_NAME}',
api_key='{API_KEYS}',
azure_endpoint='{API_ENDPOINT}',
api_version='{API_VERSION}',
temperature=temperature
)
return llm
引数のdeployment_name
には以下いずれかのモデル名をいれる必要がある。
デプロイしたモデルに合わせて設定すること。
`deployment_name`の候補
gpt-4, gpt-4-32k, gpt-4-1106-preview, gpt-4-0125-preview, gpt-4-turbo-preview, gpt-4-vision-preview, gpt-4-0613, gpt-4-32k-0613, gpt-4-0314, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-3.5-turbo-0125, gpt-3.5-turbo-1106, gpt-3.5-turbo-0613, gpt-3.5-turbo-16k-0613, gpt-3.5-turbo-0301, text-davinci-003, text-davinci-002, gpt-3.5-turbo-instruct, text-ada-001, text-babbage-001, text-curie-001, ada, babbage, curie, davinci, gpt-35-turbo-16k, gpt-35-turbo, gpt-35-turbo-0125, gpt-35-turbo-1106, gpt-35-turbo-0613, gpt-35-turbo-16k-0613いずれもtemperature
は任意。
関連記事