OpenAI 提供了一系列具有不同能力级别的模型,适用于不同的任务。
本示例介绍如何使用 LangChain 与 OpenAI 模型
概述
集成详情
| 类 | 包 | 本地 | 可序列化 | JS 支持 | 下载量 | 版本 |
|---|---|---|---|---|---|---|
ChatOpenAI | langchain-openai | ❌ | beta | ✅ | !PyPI - 下载量 | !PyPI - 版本 |
设置
要访问 OpenAI 模型,您需要创建一个 OpenAI 账户,获取一个 API 密钥,并安装 langchain-openai 集成包。
凭证
前往 platform.openai.com 注册 OpenAI 并生成 API 密钥。完成此操作后,设置 OPENAI_API_KEY 环境变量:
if "OPENAI_API_KEY" not in os.environ:
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OpenAI API key: ")
如果您通过代理或服务模拟器路由请求,可以通过环境变量设置基础 URL,而不是传递 base_url。解析顺序(优先匹配):
- 显式
base_url(oropenai_api_base) 关键字参数。 OPENAI_API_BASE— 在初始化时由 LangChain 读取。OPENAI_BASE_URL— 由底层openaiSDK 客户端读取。
要启用模型调用的自动追踪,请设置您的 LangSmith API 密钥:
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"
安装
LangChain OpenAI 集成位于 langchain-openai package:
pip install -qU langchain-openai
如果您需要指定组织 ID,可以使用以下单元格。但是,如果您只属于一个组织或打算使用默认组织,则不需要这样做。您可以在以下位置查看默认组织 OpenAI API 密钥页面.
要指定您的组织,可以使用以下内容:
OPENAI_ORGANIZATION = getpass()
os.environ["OPENAI_ORGANIZATION"] = OPENAI_ORGANIZATION
实例化
现在我们可以实例化模型对象并生成聊天补全:
from langchain_openai import OpenAI
llm = OpenAI()
调用
llm.invoke("Hello how are you?")
'\n\nI am an AI and do not have emotions like humans do, so I am always functioning at my optimal level. Thank you for asking! How can I assist you today?'
链式调用
from langchain_core.prompts import PromptTemplate
prompt = PromptTemplate.from_template("How to say {input} in {output_language}:\n")
chain = prompt | llm
chain.invoke(
{
"output_language": "German",
"input": "I love programming.",
}
)
'\nIch liebe Programmieren.'
使用代理
如果您在显式代理后面,可以指定 http_客户端以通过
pip install httpx
openai = OpenAI(
model_name="gpt-3.5-turbo-instruct",
http_client=httpx.Client(proxies="http://proxy.yourcompany.com:8080"),
)
API 参考
有关所有 OpenAI LLM 功能和配置的详细文档,请前往 API 参考: reference.langchain.com/python/langchain-openai/llms/base/OpenAI