[快速上手Azure OpenAI Chat模型:从配置到集成详解]

160 阅读3分钟

快速上手Azure OpenAI Chat模型:从配置到集成详解

引言

在现今的人工智能应用中,聊天模型的使用越来越广泛。Azure OpenAI Chat模型提供了一种强大的解决方案,能够实现多种语言的对话和翻译功能。本指南旨在帮助您快速上手Azure OpenAI Chat模型,并详细介绍如何进行配置和集成。

主要内容

Azure OpenAI vs OpenAI

Azure OpenAI指的是托管在Microsoft Azure平台上的OpenAI模型。与直接使用OpenAI提供的API不同,Azure OpenAI在Azure云环境中运行,提供了更高的稳定性和可扩展性。

配置Azure OpenAI

为了访问Azure OpenAI模型,您需要创建一个Azure账户,部署一个Azure OpenAI模型,获取部署的名称和端点,生成Azure OpenAI API密钥,并安装langchain-openai集成包。

生成API密钥和端点

前往Azure文档完成部署并生成API密钥。生成后,设置如下环境变量:

import getpass
import os

os.environ["AZURE_OPENAI_API_KEY"] = getpass.getpass("Enter your Azure OpenAI API key: ")
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://YOUR-ENDPOINT.openai.azure.com/"  # 使用API代理服务提高访问稳定性

安装依赖包

使用pip安装langchain-openai包:

%pip install -qU langchain-openai

实例化模型

实例化Azure Chat OpenAI模型对象并生成聊天结果:

from langchain_openai import AzureChatOpenAI

llm = AzureChatOpenAI(
    azure_deployment="gpt-35-turbo",  # 或者使用您的部署名称
    api_version="2023-06-01-preview",  # 或者使用您的API版本
    temperature=0,
    max_tokens=None,
    timeout=None,
    max_retries=2,
    # 其他参数...
)

调用模型

示例代码展示如何调用模型来生成聊天结果:

messages = [
    (
        "system",
        "你是一个帮助用户将英语翻译成法语的助手。请翻译用户的句子。",
    ),
    ("human", "I love programming."),
]
ai_msg = llm.invoke(messages)
print(ai_msg.content)
# 输出: "J'adore la programmation."

模型链的使用

将模型与提示模板进行链式调用:

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            "你是一个将{input_language}翻译成{output_language}的助手。",
        ),
        ("human", "{input}"),
    ]
)

chain = prompt | llm
result = chain.invoke(
    {
        "input_language": "英语",
        "output_language": "德语",
        "input": "I love programming.",
    }
)
print(result.content)
# 输出: "Ich liebe das Programmieren."

常见问题和解决方案

网络限制

由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问稳定性。可以通过设置代理来实现。

模型版本控制

Azure OpenAI的响应中包含模型名称,但并不指定具体的版本号。可以通过传递 model_version 参数来解决这个问题。如下示例代码展示如何指定模型版本并进行成本计算:

from langchain_community.callbacks import get_openai_callback

llm_0301 = AzureChatOpenAI(
    azure_deployment="gpt-35-turbo",  # 或者使用您的部署名称
    api_version="2023-06-01-preview",  # 或者使用您的API版本
    model_version="0301",
)

with get_openai_callback() as cb:
    llm_0301.invoke(messages)
    print(f"Total Cost (USD): ${format(cb.total_cost, '.6f')}")

总结和进一步学习资源

Azure OpenAI Chat模型提供了强大的多语言对话能力。通过本指南,您可以快速上手并实现实际应用。若需深入了解,可以参考以下资源:

参考资料

  1. Azure OpenAI文档
  2. LangChain GitHub仓库

结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---