在Python中,使用Azure OpenAI和LangChain完成一次对话

介绍

这篇文章将介绍如何配置Azure OpenAI,以及如何在Python中如何使用LangChain完成一次对话。

使用ipynb notebook
虚拟环境python版本 3.11.3

演示

1、安装依赖包

安装并更新langchainlangchain-openai

%pip install -qU langchain
%pip install -qU langchain-openai

2、配置环境变量

你应该配置至少配置下面四个参数到环境变量中:

3、对话代码

实例化一个AzureChatOpenAI的对象,指定 openai_api_versionazure_deployment 两个参数。定义消息列表 messages,包含系统信息和用户信息。调用 invoke 方法,访问LLM获得回应。

import os
from langchain_core.messages import HumanMessage,SystemMessage
from langchain_openai import AzureChatOpenAI  

# create a llm
model = AzureChatOpenAI(
  openai_api_version = os.environ["AZURE_OPENAI_API_VERSION"],
  azure_deployment = os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"]
)  

# define the messages
messages = [
  SystemMessage(content="translate the following from english into chinese"),
  HumanMessage(content="hello!")
]  

# call llm
result = model.invoke(messages)

4、提取回应内容

result 一个AIMessage结构的数据,通常,我们需要把 content 的内容解析出来,展示给用户。
现在,让我们从 AIMessage 数据结构中提取content内容。

from langchain_core.output_parsers import StrOutputParser
parser = StrOutputParser()
parser.invoke(result)

总结

在这篇文章里,介绍了 Azure OpenAI 的配置,以及在Python中使用LangChain完成一次简单的对话,希望对你有帮助。

### 使用 Langchain GPT API 开发 AI 交互项目 Langchain 是一个用于构建语言模型驱动应用程序的框架,而 GPT API(如 OpenAI 提供的 API)是实现自然语言处理任务的核心工具。以下内容将详细介绍如何结合 Langchain GPT API 来开发 AI 交互项目。 #### 1. 环境准备 在开始之前,确保安装了必要的 Python 库。可以通过以下命令安装 Langchain OpenAI SDK: ```bash pip install langchain openai ``` 此外,需要获取 OpenAI API 的密钥,并将其设置为环境变量或直接在代码中引用[^1]。 #### 2. 配置 OpenAI API 密钥 以下是配置 OpenAI API 密钥的示例代码: ```python import os import openai os.environ["OPENAI_API_KEY"] = "your-api-key" openai.api_key = os.getenv("OPENAI_API_KEY") ``` #### 3. 创建基本的 Langchain 应用程序 Langchain 提供了多种模块来简化与语言模型的交互。例如,可以使用 `LLMChain` 来定义一个简单的问答链: ```python from langchain.llms import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain # 初始化 OpenAI 模型 llm = OpenAI(temperature=0.7) # 定义提示模板 prompt_template = PromptTemplate( input_variables=["question"], template="Answer the following question: {question}" ) # 创建链 chain = LLMChain(llm=llm, prompt=prompt_template) # 执行链 response = chain.run("What is the capital of France?") print(response) ``` 上述代码展示了如何通过 Langchain 调用 OpenAI 的 GPT 模型来回答问题[^2]。 #### 4. 构建复杂的交互式应用 对于更复杂的交互式应用,可以结合 Langchain 的其他组件,例如记忆模块(Memory)、代理(Agent)工具(Tool)。以下是一个带有记忆功能的对话系统的示例: ```python from langchain.memory import ConversationBufferMemory from langchain.chains import ConversationChain # 初始化记忆模块 memory = ConversationBufferMemory() # 创建对话链 conversation = ConversationChain( llm=OpenAI(temperature=0.5), memory=memory ) # 进行多轮对话 response_1 = conversation.predict(input="Hello!") response_2 = conversation.predict(input="What is your name?") print(response_1) print(response_2) ``` 此代码片段展示了如何利用记忆功能保持对话上下文,从而实现更加连贯的对话体验[^3]。 #### 5. 部署到生产环境 在开发完成后,可以将应用程序部署到云平台(如 AWS、Azure 或 Heroku)。此外,还可以通过 FastAPI 或 Flask 创建 RESTful API 接口,以便其他系统调用。 以下是一个基于 FastAPI 的简单接口示例: ```python from fastapi import FastAPI from pydantic import BaseModel from langchain.llms import OpenAI app = FastAPI() llm = OpenAI(temperature=0.7) class Query(BaseModel): question: str @app.post("/ask/") def ask(query: Query): response = llm(query.question) return {"answer": response} ``` #### 注意事项 - 确保妥善管理 API 密钥,避免泄露。 - 在生产环境中,考虑使用缓存机制以减少对 API 的频繁调用,从而降低成本[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SiliconMeow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值