先做个广告:如需代注册ChatGPT或充值 GPT4.0会员(plus),请添加站长微信:gptchongzhi
本参考指南当前包含的内容:
推荐使用GPT中文版,国内可直接访问:https://ai.gpt86.top
1、GPT-4 API 请求/响应模式
2、Python示例:OpenAI Python 库和LangChain
3、为什么使用GPT-4 API
Tips:
LangChain:是一个用于构建基于大型语言模型(LLM)的应用程序的库
Postman 中请求 GPT-4 API
GPT-4 的 API 请求
POST https://api.openai.com/v1/chat/completionsContent-Type: application/jsonAuthorization: Bearer YOUR_OPENAI_API_KEY{ "model": "gpt-4", "messages": [ {"role": "system", "content": "Set the behavior"}, {"role": "assistant", "content": "Provide examples"}, {"role": "user", "content": "Set the instructions"} ], "temperature": 0.05, "max_tokens": 256, "top_p": 1, "frequency_penalty": 0, "presence_penalty": 0}
model: 正在使用哪个版本 (例如:"gpt-4")messages:
- system:系统消息有助于设置助手的行为。在上面的例子中,助手被指示 “你是一个得力的助手”。
- assistant:助手消息有助于存储先前的回复。这是为了持续对话,提供会话的上下文。
- user:用户消息有助于指导助手。就是用户说的话,向助手提的问题。
temperature:采样温度,值介于 0 到 2 之间。值越高,输出就越随机。例如你希望对于同一个问题,模型每次的回复都能有较大的差异,就可以设置为一个较高的值。该参数与 top_p 通常只建议修改其中一个。max_tokens:官方翻译过来是。完成过程中要生成的最大令牌数,提示加上max_tokens的标记计数不能超过模型的上下文长度。大多数型号的上下文长度为2048个令牌(除了支持4096的最新型号)。max_tokens是OpenAI GPT语言模型中的一个参数,用于指定生成文本时最多可以使用的标记(tokens)数。标记是将文本分割为单独的单词或符号的基本单位。因此,max_tokens参数限制了生成的文本长度。在使用OpenAI GPT模型生成文本时,可以设置max_tokens参数以控制生成的文本长度。例如,如果将max_tokens设置为50,则生成的文本将不会超过50个标记,即50个单词或符号。如果生成的文本达到了max_tokens的限制,模型将停止生成更多的文本。总的来说:max_tokens就是AI回复的最大单词数量。top_p:一种替代温度采样的方法,称为核采样。模型只考虑具有 top_p 概率质量的 token 的结果。例如设为 0.1 模型就只考虑构成前 10% 概率质量的 token。该参数与 temperature 通常只建议修改其中一个。frequency_penalty:值介于 -2.0 到 2.0 之间。正值会根据新生成 token 在文本中的频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。presence_penalty:值介于 -2.0 到 2.0 之间。正值会根据是否已经出现在文本中来惩罚新生成的 token,从而鼓励模型生成新的内容,避免出现大段重复的文本。GPT-4 API Response
{ "id": "chatcmpl-6viHI5cWjA8QWbeeRtZFBnYMl1EKV", "object": "chat.completion", "created": 1680192762, "model": "gpt-4-0314", "usage": { "prompt_tokens": 21, "completion_tokens": 5, "total_tokens": 26 }, "choices": [ { "message": { "role": "assistant", "content": "GPT-4 response returned here" }, "finish_reason": "stop", "index": 0 } ]}
model:模型,暂时的通知,OpenAI将支持到6月14日。 prompt_tokens:请求参数里面含有的token数,每 750 个单词定价为0.03 美元的token数量(1000tokens) completion_tokens:返回结果含有的token数,每 750 个单词定价为0.06 美元的token数量(1000tokens) message:角色(即“助理”)和内容(实际响应文本)。 finish_reason:告诉我们为什么助手停止生成响应。在这种情况下,它停止是因为它到达了一个自然停止点(“停止”)。有效值为stop、length、content_filter 或 null。 index:这只是一个用于跟踪响应的数字(0 表示它是第一个响应)。Python 示例
虽然可以使用上面信息向 GPT-4 API 发出 HTTPS 请求,但建议使用官方 OpenAI 库或更进一步使用 LLM 抽象层,如 LangChain。地址:https://colab.research.google.com/gist/IvanCampos/c3f70e58efdf012a6422f2444dc3c261/langchain-gpt-4.ipynb#scrollTo=TjnIGuQfNvzt用于 OpenAI Python 库和 LangChain 的 Jupyter Notebook
1、安装openai的包,它提供了与 OpenAI API 通信的工具。
2、
1)导入openai,使其在项目中可以使用;
2)设置访问OpenAI API 所需的密钥。
将您的实际密钥替换“YOUR_OPENAI_API_KEY”。
3)设定模型,然后发送一个请求,让他用7个词解释为什么人工智能是未来。
4)打印响应结果
import openaiopenai.api_key = "YOUR_OPENAI_API_KEY"completion = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": "in 7 words, explain why artificial intelligence is the future"}] )print(completion.choices[0].message.content)
LangChain 说明
LangChain 是一种旨在抽象化和简化大型语言模型 (LLM) 工作的工具。它可以用于各种目的,例如:创建聊天机器人、回答问题或总结文本。LangChain 背后的主要思想是您可以将不同的部分连接在一起,以使用这些 LLM 制作更复杂和高级的应用程序。
LangChain notebook cells如果独立运行,需要pip安装导入openai
!pip install langchain:安装“langchain”的包,它提供了与 LLM 通信的工具。from ... import ...: 这些行从“langchain”包中导入特定的函数和类(或工具),因此它们可以在脚本中使用。os.environ['OPENAI_API_KEY'] = 'YOUR_OPENAI_API_KEY':此行设置访问OpenAI API 所需的密钥。您将用您的实际密钥替换“YOUR_OPENAI_API_KEY”。chat = ChatOpenAI(...):此行创建具有特定设置(如温度)的 GPT-4 API 实例。chat([...]):这些行显示了如何向 API 发送消息和接收响应。template = "You are a helpful assistant...: 这部分设置一个提示模板来定义请求的行为。在这种情况下,它告诉 GPT-4 它是一个有用的翻译器。system_message_prompt = ...:这行创建一个 SystemMessagePromptTemplate,它将用于使用之前定义的模板设置助手的行为。human_message_prompt = ...这行创建一个 HumanMessagePromptTemplate,它将用于格式化用户发送的消息。chat_prompt = ...:这行将系统和人工消息提示组合到一个 ChatPromptTemplate 中。chat(chat_prompt.format_prompt(...)):这行使用 ChatPromptTemplate 向 API 发送一条消息。chain = LLMChain(llm=chat, prompt=chat_prompt):这行创建了一个 LLMChain 对象,它简化了与 LLM 的交互。chain.run(...):这行使用 LLMChain 对象向 GPT-4 API 发送一条消息。为什么选择 GPT-4?
一个最明显的好处就是 GPT-4 API 接受上下文长度为8,192 个token(12.5 页文本)的请求——这是GPT-3.5 上下文长度的2 倍。另外,与之前的模型相比,GPT-4 在推理和完成响应的简洁性方面表现出色。价钱
在决定是否使用 GPT-4 API 时最困难的选择是定价——因为 GPT-4 定价的工作原理如下:
- prompt:每 750 个单词 0.03 美元(1k tokens)
- completions:每 750 个单词 0.06 美元(1k tokens)
GPT-4 API 比 ChatGPT 的默认模型 gpt-3.5-turbo贵 14-29 倍。
未来的改进
在即将发布的GPT-4API中,它将是多模式的。在这种情况下,“多模型”指的是API不仅接受文本,还接受图像的能力。目前,图像输入仅由Be My Eyes进行测试。还有一个32768上下文长度模型(50页文本)目前是预览版本,与gpt-4–0314相比,上下文长度增加了4倍。然而,这将是8192上下文长度GPT-4模型的两倍成本。虽然在GPT-3 API模型(davinci、curie、babbage和ada)中可以进行微调,但预计在未来的版本中会为GPT-4 API提供微调。目前的培训数据仅截至2021 9月。预计在未来的版本中也会增加这一点。当通过ChatGPT-Plus使用GPT-4时,截至今天:“GPT-4目前的上限为每3小时25条消息。随着我们根据需求进行调整,预计上限会大大降低。”随着上限的降低,预计GPT-4 API的直接使用量会增加。
本文链接:http://xiaogongchang.cn/chatgpt/391.html