Skip to main content

OpenAI

本笔记本介绍如何开始使用OpenAI聊天模型。

from langchain.chat_models import ChatOpenAI
from langchain.prompts.chat import (
ChatPromptTemplate,
SystemMessagePromptTemplate,
AIMessagePromptTemplate,
HumanMessagePromptTemplate,
)
from langchain.schema import AIMessage, HumanMessage, SystemMessage
chat = ChatOpenAI(temperature=0)

上述代码块假设您的OpenAI API密钥已设置在环境变量中。如果您更愿意手动指定API密钥和/或组织ID,请使用以下代码:

chat = ChatOpenAI(temperature=0, openai_api_key="YOUR_API_KEY", openai_organization="YOUR_ORGANIZATION_ID")

如果不适用于您,请删除openai_organization参数。

messages = [
SystemMessage(
content="You are a helpful assistant that translates English to French."
),
HumanMessage(
content="Translate this sentence from English to French. I love programming."
),
]
chat(messages)
    AIMessage(content="J'adore la programmation.", additional_kwargs={}, example=False)

您可以使用MessagePromptTemplate进行模板化。您可以从一个或多个MessagePromptTemplates构建一个ChatPromptTemplate。您可以使用ChatPromptTemplateformat_prompt方法,它返回一个PromptValue,您可以将其转换为字符串或消息对象,具体取决于您是否希望将格式化的值用作llm或chat模型的输入。

为了方便起见,模板上公开了一个from_template方法。如果您要使用此模板,它将如下所示:

template = (
"You are a helpful assistant that translates {input_language} to {output_language}."
)
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template = "{text}"
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
chat_prompt = ChatPromptTemplate.from_messages(
[system_message_prompt, human_message_prompt]
)

# get a chat completion from the formatted messages
chat(
chat_prompt.format_prompt(
input_language="English", output_language="French", text="I love programming."
).to_messages()
)
    AIMessage(content="J'adore la programmation.", additional_kwargs={}, example=False)