I. 在终端中导入OpenAI API密钥
要将OpenAI API密钥导入系统环境中,需要进行以下步骤:
A. 打开终端
首先,打开终端或命令提示符窗口。
B. 运行以下命令:echo “export OPENAI_API_KEY=’yourkey'” >> ~/.zshrc
然后,在终端窗口中运行上述命令。这将把您的API密钥添加到.zshrc文件中。
- 1. 将yourkey替换为您的API密钥
- 2. 将API密钥导入到.zshrc文件中
下面是一个示例命令:
echo "export OPENAI_API_KEY='abcdefg123456789'" >> ~/.zshrc
II. 在系统环境变量中添加OpenAI API密钥
要将OpenAI API密钥添加到系统环境变量中,可以依照以下步骤进行操作:
A. 访问https://platform.openai.com
首先,在您的浏览器中访问https://platform.openai.com。
B. 如果还没有创建账号,请注册一个新账号
如果您还没有注册OpenAI账号,请点击页面上的”Create an account”按钮进行注册。
C. 点击”API keys”选项
注册并成功登录后,点击页面上的”API keys”选项。
D. 将API密钥添加到系统环境变量中
在”API keys”页面上,将您的API密钥添加到系统环境变量中。具体操作方式可能因操作系统而异,请根据页面上的说明进行操作。
III. 使用命令设置OpenAI API密钥
您还可使用命令来设置OpenAI API密钥。请依照以下步骤进行操作:
A. 打开终端或命令提示符窗口
首先,打开终端或命令提示符窗口。
B. 输入以下命令:export OPENAI_API_KEY=<your-api-key>
接下来,在终端或命令提示符窗口中输入上述命令。
- 1. 将<your-api-key>替换为您的API密钥
以下是一个示例命令:
export OPENAI_API_KEY="abcdefg123456789"
IV. 将OpenAI API密钥设置为环境变量
除使用命令设置OpenAI API密钥外,您还可以将其设置为环境变量。请依照以下步骤进行操作:
A. 运行以下命令:export OPENAI_API_KEY=”your-api-key”
在终端或命令提示符窗口中运行上述命令。
- 1. 将your-api-key替换为您的API密钥
以下是一个示例命令:
export OPENAI_API_KEY="abcdefg123456789"
V. 在Python中使用OpenAI API密钥
在Python中使用OpenAI API密钥需要遵守以下步骤:
A. 在终端窗口中输入以下命令:echo $OPENAI_API_KEY
首先,打开终端窗口,并输入上述命令。
- 1. 您可以查看API密钥会不会正确导入
B. 在Python中使用导入的API密钥
在Python代码中,您可使用已导入的API密钥进行OpenAI API调用。
import openai
# 设置API密钥
openai.api_key = "abcdefg123456789"
# 在此处编写API调用代码
VI. 在Windows命令提示符中设置OpenAI API密钥
如果您正在使用Windows操作系统,可以依照以下步骤在Windows命令提示符中设置OpenAI API密钥:
A. 使用以下命令在Windows命令提示符中设置API密钥:openai –api-key <OPENAI_API_KEY> api fine_tunes.create -t “[yourfilelocationhere]” -m
在Windows命令提示符中运行上述命令。
VII. 通过导出命令设置OpenAI API密钥
除直接设置API密钥外,您还可以通过导出命令来设置OpenAI API密钥。请依照以下步骤进行操作:
A. 运行以下命令:export OPENAI_API_KEY=’your-api-key-here’
在终端或命令提示符窗口中运行上述命令。
- 1. 确保将”your-api-key-here”替换为您的实际API密钥
以下是一个示例命令:
export OPENAI_API_KEY='abcdefg123456789'
export openai_api_key的进一步展开说明
快速开始
安装
要安装LangChain,请运行以下命令:
使用pip:
“`shell
pip install langchain
“`
使用conda:
“`shell
conda install langchain -c conda-forge
“`
详细信息请参阅我们的安装指南。
使用LangChain
使用LangChain通常需要与一个或多个模型提供商、数据存储、API等进行集成。在本示例中,我们将使用OpenAI的模型API。
首先,我们需要安装他们的Python软件包:
“`shell
pip install openai
“`
访问API需要一个API密钥,您可以通过创建一个帐户并前往该网址取得。一旦获得到密钥,我们需要将其设置为环境变量,可以通过以下命令运行:
“`shell
export OPENAI_API_KEY=”…”
“`
如果您不想设置环境变量,您可以在初始化OpenAI LLM类时直接通过openai_api_key命名参数传递密钥:
“`python
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key=”…”)
“`
现在,我们可以开始构建我们的语言模型利用程序。LangChain提供了许多可以用于构建语言模型利用程序的模块。模块可以作为独立的组件在简单的利用程序中使用,它们可以组合在一起用于更复杂的用例。
LangChain利用程序的核心构建块是LLMChain。LLMChain由三部份组成:
– LLM(Language Model):这是核心的推理引擎。为了使用LangChain,您需要了解区别类型的语言模型和如何与它们一起使用。
– Prompt Templates(提示模板):这提供了对语言模型的指点。这控制语言模型的输出,因此理解如何构建提示和区别的提示策略相当重要。
– Output Parsers(输出解析器):这些将LLM的原始响应转换为更可操作的格式,使得易于在下游使用输出。
在本入门指南中,我们将独立介绍这三个组件,然后再介绍怎样使用LLMChain组合它们。了解这些概念将为您能够使用和定制LangChain利用程序提供很好的基础。大多数LangChain利用程序允许您配置LLM和/或使用的提示,因此了解如何利用这一点将成为一个重要的辅助工具。
LangChain中有两种类型的语言模型:
– LLMs:这是一种接受字符串作为输入并返回字符串的语言模型。
– ChatModels:这是一种接受消息列表作为输入并返回消息的语言模型。
LLMs的输入/输出是简单易懂的,就是一个字符串。但是ChatModels的输入是一个ChatMessage列表,输出是单个ChatMessage。ChatMessage有两个一定要的组成部份:
– content(内容):消息的内容。
– role(角色):ChatMessage来自的实体的角色。
LangChain提供了几个对象,用于轻松辨别区别角色:
– HumanMessage:来自人类/用户的ChatMessage。
– AIMessage:来自人工智能/助手的ChatMessage。
– SystemMessage:来自系统的ChatMessage。
– FunctionMessage:来自函数调用的ChatMessage。
如果没有合适的角色,也能够在ChatMessage类中手动指定角色。有关如何有效使用这些区别类型的消息的更多信息,请参阅我们的提示指南。
LangChain为二者提供了标准接口,但了解这类区分可以帮助您为给定的语言模型构建提示。LangChain提供的标准接口有两种方法:
– predict:接受字符串,返回字符串。
– predict_messages:接受消息列表,返回消息。
让我们看看怎样使用这些区别类型的模型和输入。首先,让我们导入一个LLM和一个ChatModel。
“`python
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI
llm = OpenAI()
chat_model = ChatOpenAI()
“`
OpenAI和ChatOpenAI对象基本上只是配置对象。您可使用参数进行初始化,如温度等,并将它们传递。
接下来,让我们使用predict方法运行一个字符串输入。
“`python
text = “What would be a good company name for a company that makes colorful socks?”
llm.predict(text)
>>>”Hi”
chat_model.predict(text)
>>>”Hi”
“`
ChatOpenAI和OpenAI对象只是配置对象。您可使用参数进行初始化,如温度等,并将它们传递。
最后,让我们使用predict_messages方法在消息列表上运行。
“`python
from langchain.schema import HumanMessage
text = “What would be a good company name for a company that makes colorful socks?”
messages = [HumanMessage(content=text)]
llm.predict_messages(messages)
chat_model.predict_messages(messages)
“`
对这两种方法,您还可以通过关键字参数传递参数。例如,可以传递temperature=0来调剂运行时所使用的温度,该值会覆盖配置对象中的温度。不管以何种方式传递值,始终会覆盖配置对象中的值。
大多数LLM利用程序不会将用户输入直接传递给LLM。通常,它们会将用户输入添加到一个更大的文本片断中,称为提示模板,用于提供有关特定任务的额外上下文。
在上一个示例中,我们传递给模型的文本包括了生成公司名称的唆使。对我们的利用程序,如果用户只需提供公司/产品的描写而没必要担心给模型提供指令,那将是很好的。PromptTemplates可以帮助实现这个目标!它们将所有将用户输入转换为完全格式化的提示的逻辑进行了整合。这可以非常简单地开始-例如,用于生成上述字符串的提示模板只需是:
“`python
from langchain.prompts import PromptTemplate
prompt = PromptTemplate.from_template(“What is a good name for a company that makes {product}?”)
prompt.format(product=”colorful socks”)
“`
输出: What is a good name for a company that makes colorful socks?
但是,使用这些模板的优势是多方面的。您可以“部份化”变量-例如一次只格式化一些变量。您可以将它们组合在一起,轻松地将区别的模板组合成一个单一的提示。关于这些功能的详细说明,请参阅有关提示的部份。
PromptTemplates还可以用于生成消息列表。在这类情况下,提示不但包括有关内容的信息,还包括每一个消息的信息(其角色、其在列表中的位置等)。这里,最常产生的情况是ChatPromptTemplate是ChatMessageTemplate列表。每一个ChatMessageTemplate都包括了该ChatMessage的格式化指令-其角色和其内容。让我们在下面看一下这个例子:
“`python
from langchain.prompts.chat import (
ChatPromptTemplate,
SystemMessagePromptTemplate,
HumanMessagePromptTemplate,
)
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])
chat_prompt.format_messages(input_language=”English”, output_language=”French”, text=”I love programming.”)
“`
输出:
“`
[
SystemMessage(content=”You are a helpful assistant that translates English to French.”, additional_kwargs={}),
HumanMessage(content=”I love programming.”)
]
“`
ChatPromptTemplates还可以包括除ChatMessageTemplates之外的其他内容-有关更多详细信息,请参阅有关提示的部份。
OutputParsers将LLM的原始输出转换为可在下游使用的格式。其中主要有几种类型的OutputParsers:
– 将LLM的文本转换为结构化信息(例如JSON)。
– 将ChatMessage转换为仅字符串。
– 将调用返回的消息以外的额外信息(如OpenAI函数调用)转换为字符串。
请参阅输出解析器部份以取得完全信息。
在本入门指南中,我们将编写自己的输出解析器-将以逗号分隔的列表转换为列表。
“`python
from langchain.schema import BaseOutputParser
class CommaSeparatedListOutputParser(BaseOutputParser):
“””Parse the output of an LLM call to a comma-separated list.”””
def parse(self, text: str):
“””Parse the output of an LLM call.”””
return text.strip().split(“, “)
CommaSeparatedListOutputParser().parse(“hi, bye”)
“`
我们现在可以将所有这些组合成一个链。这个链将接受输入变量,将其传递给提示模板以创建提示,然后将提示传递给LLM,最后通过(可选的)输出解析器将输出传递。这是一种方便的方式来捆绑一个模块化逻辑块。
让我们看看它是如何运作的!
“`python
from langchain.chat_models import ChatOpenAI
from langchain.prompts.chat import (
ChatPromptTemplate,
SystemMessagePromptTemplate,
HumanMessagePromptTemplate
)
from langchain.chains import LLMChain
from langchain.schema import BaseOutputParser
class CommaSeparatedListOutputParser(BaseOutputParser):
“””Parse the output of an LLM call to a comma-separated list.”””
def parse(self, text: str):
“””Parse the output of an LLM call.”””
return text.strip().split(“, “)
template = “””You are a helpful assistant who generates comma-separated lists.
A user will pass in a category, and you should generate 5 objects in that category in a comma-separated list.
ONLY return a comma-separated list, and nothing more.”””
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])
chain = LLMChain(
llm=ChatOpenAI(),
prompt=chat_prompt,
output_parser=CommaSeparatedListOutputParser()
)
chain.run(“colors”)
“`
这就是了!我们现在已了解了怎样创建LangChain利用程序的核心构建块-LLMChains。在所有这些组件(LLMs、提示、输出解析器)中还有更多的细微差别,还有更多要学习的区别组件。要继续您的旅程,请:
export openai_api_key的常见问答Q&A
问题1:关键词是甚么?
答案:关于关键词,它是为了安全性而使用的一种身份验证方式,用于访问和控制API的使用。API Key通常由系统管理员创建,并提供给其他用户用于确保他们具有对API的访问权限。
- API Key是一个由字母和数字组成的字符串。
- 它可以用作身份验证信息,以便API可以辨认和授权用户。
- API Key的长度可以根据具体需求而定,但通常它足够复杂,以确保安全性。
问题2:怎么将OpenAI API密钥添加到系统环境中?
答案:要将OpenAI API密钥添加到系统环境中,请依照以下步骤操作:
- 在终端中运行以下命令,将”yourkey”替换为您的API密钥:
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
- 更新shell以使更改生效,以便您的利用程序可使用该API密钥。
问题3:怎样在Python中使用OpenAI API?
答案:要在Python中使用OpenAI API,请依照以下步骤操作:
- 首先,确保已将OpenAI API密钥添加到系统环境中。
- 在Python脚本中,导入OpenAI库:
import openai
- 使用
openai.Completion.create()
方法来创建API要求,并传递相应的参数。 - 获得API的响应并进行处理,在其中包括生成的文本或其他所需结果。
问题4:怎样使用Python和OpenAI构建自定义的ChatGPT?
答案:要使用Python和OpenAI构建自定义的ChatGPT,请依照以下步骤操作:
- 首先,确保已将OpenAI API密钥添加到系统环境中。
- 导入所需的Python库和OpenAI库。
- 使用OpenAI的ChatGPT模型来实现对话的生成和交互。
- 根据需要,对生成的文本进行后处理和调剂。
问题5:如何确保API密钥的安全性?
答案:为了确保API密钥的安全性,以下是一些最好实践:
- 不要将API密钥直接暴露在代码中,而是将其存储在环境变量中。
- 仅将API密钥提供给必要的人员,并且定期更改密钥,以减少潜伏的安全风险。
- 使用访问控制列表(ACL)或IP白名单策略,限制对API密钥的访问。
- 监控API密钥的使用情况,并定期审察访问日志,以便及时发现任何异常活动。