Azure openai
Azure OpenAI 是微软 Azure 平台上的一项服务,它提供了强大的人工智能和机器学习功能。通过 Azure OpenAI,用户可以访问 OpenAI 的先进技术,包括自然语言处理、语言生成、图像识别和其他人工智能领域的功能。这使得开发人员和数据科学家能够利用这些先进的人工智能功能来构建创新的应用程序和解决方案。Azure OpenAI 为开发人员提供了丰富的 API 和工具,以便他们能够轻松地集成人工智能功能到他们的应用程序中。
如果您在colab上打开这个笔记本,您可能需要安装LlamaIndex 🦙。
In [ ]:
Copied!
%pip install llama-index-llms-azure-openai
%pip install llama-index-llms-azure-openai
In [ ]:
Copied!
!pip install llama-index
!pip install llama-index
先决条件¶
环境设置¶
查找您的设置信息 - API基础,API密钥,部署名称(即引擎)等¶
要找到必要的设置信息,请进行以下设置:
- 转到Azure OpenAI Studio 此处
- 转到聊天或完成游乐场(取决于您要设置哪种LLM)
- 点击“查看代码”(如下图所示)
In [ ]:
Copied!
from IPython.display import Image
Image(filename="./azure_playground.png")
from IPython.display import Image
Image(filename="./azure_playground.png")
Out[ ]:
- 记下
api_type
、api_base
、api_version
、engine
(应与之前的“部署名称”相同),以及key
。
In [ ]:
Copied!
from IPython.display import Image
Image(filename="./azure_env.png")
from IPython.display import Image
Image(filename="./azure_env.png")
Out[ ]:
配置环境变量¶
在Azure部署OpenAI模型与普通的OpenAI非常相似。 您只需要配置几个额外的环境变量。
OPENAI_API_VERSION
:将其设置为2023-07-01-preview
这可能会在将来发生变化。AZURE_OPENAI_ENDPOINT
:您的终结点应该如下所示 https://YOUR_RESOURCE_NAME.openai.azure.com/OPENAI_API_KEY
:您的API密钥
In [ ]:
Copied!
import os
os.environ["OPENAI_API_KEY"] = "<your-api-key>"
os.environ[
"AZURE_OPENAI_ENDPOINT"
] = "https://<your-resource-name>.openai.azure.com/"
os.environ["OPENAI_API_VERSION"] = "2023-07-01-preview"
import os
os.environ["OPENAI_API_KEY"] = ""
os.environ[
"AZURE_OPENAI_ENDPOINT"
] = "https://.openai.azure.com/"
os.environ["OPENAI_API_VERSION"] = "2023-07-01-preview"
使用您的LLM¶
In [ ]:
Copied!
from llama_index.llms.azure_openai import AzureOpenAI
from llama_index.llms.azure_openai import AzureOpenAI
与普通的OpenAI
不同,您需要除了model
之外还需要传递一个engine
参数。engine
是您在Azure OpenAI Studio中选择的模型部署名称。有关更多详细信息,请参阅前一节中的“查找设置信息”部分。
In [ ]:
Copied!
llm = AzureOpenAI(
engine="simon-llm", model="gpt-35-turbo-16k", temperature=0.0
)
llm = AzureOpenAI(
engine="simon-llm", model="gpt-35-turbo-16k", temperature=0.0
)
另外,您也可以跳过设置环境变量,直接通过构造函数直接传递参数。
In [ ]:
Copied!
llm = AzureOpenAI(
engine="my-custom-llm",
model="gpt-35-turbo-16k",
temperature=0.0,
azure_endpoint="https://<your-resource-name>.openai.azure.com/",
api_key="<your-api-key>",
api_version="2023-07-01-preview",
)
llm = AzureOpenAI(
engine="my-custom-llm",
model="gpt-35-turbo-16k",
temperature=0.0,
azure_endpoint="https://.openai.azure.com/",
api_key="",
api_version="2023-07-01-preview",
)
使用complete
端点进行文本完成。
In [ ]:
Copied!
response = llm.complete("The sky is a beautiful blue and")
print(response)
response = llm.complete("The sky is a beautiful blue and")
print(response)
the sun is shining brightly. Fluffy white clouds float lazily across the sky, creating a picturesque scene. The vibrant blue color of the sky brings a sense of calm and tranquility. It is a perfect day to be outside, enjoying the warmth of the sun and the gentle breeze. The sky seems to stretch endlessly, reminding us of the vastness and beauty of the world around us. It is a reminder to appreciate the simple pleasures in life and to take a moment to admire the natural wonders that surround us.
In [ ]:
Copied!
response = llm.stream_complete("The sky is a beautiful blue and")
for r in response:
print(r.delta, end="")
response = llm.stream_complete("The sky is a beautiful blue and")
for r in response:
print(r.delta, end="")
the sun is shining brightly. Fluffy white clouds float lazily across the sky, creating a picturesque scene. The vibrant blue color of the sky brings a sense of calm and tranquility. It is a perfect day to be outside, enjoying the warmth of the sun and the gentle breeze. The sky seems to stretch endlessly, reminding us of the vastness and beauty of the world around us. It is a reminder to appreciate the simple pleasures in life and to take a moment to pause and admire the natural wonders that surround us.
使用chat
端点进行对话
In [ ]:
Copied!
from llama_index.core.llms import ChatMessage
messages = [
ChatMessage(
role="system", content="You are a pirate with colorful personality."
),
ChatMessage(role="user", content="Hello"),
]
response = llm.chat(messages)
print(response)
from llama_index.core.llms import ChatMessage
messages = [
ChatMessage(
role="system", content="You are a pirate with colorful personality."
),
ChatMessage(role="user", content="Hello"),
]
response = llm.chat(messages)
print(response)
assistant: Ahoy there, matey! How be ye on this fine day? I be Captain Jolly Roger, the most colorful pirate ye ever did lay eyes on! What brings ye to me ship?
In [ ]:
Copied!
response = llm.stream_chat(messages)
for r in response:
print(r.delta, end="")
response = llm.stream_chat(messages)
for r in response:
print(r.delta, end="")
Ahoy there, matey! How be ye on this fine day? I be Captain Jolly Roger, the most colorful pirate ye ever did lay eyes on! What brings ye to me ship?