标签: chatgpt-api

OpenAI API 错误 429:“您超出了当前配额,请检查您的计划和账单详细信息”

我正在制作一个 Python 脚本以通过其 API 使用 OpenAI。但是,我收到此错误:

openai.error.RateLimitError:您超出了当前配额,请检查您的计划和账单详细信息

我的脚本如下:

#!/usr/bin/env python3.8
# -*- coding: utf-8 -*-

import openai
openai.api_key = "<My PAI Key>"

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": "Tell the world about the ChatGPT API in the style of a pirate."}
  ]
)

print(completion.choices[0].message.content)
Run Code Online (Sandbox Code Playgroud)

我正在声明 shebang python3.8,因为我正在使用pyenv。我认为它应该可以工作,因为我做了 0 个 API 请求,所以我假设我的代码中有错误。

python prompt completion openai-api chatgpt-api

125
推荐指数
3
解决办法
26万
查看次数

OpenAI API:在发送 API 请求之前(!)如何计算令牌?

OpenAI 的文本模型具有上下文长度,例如:Curie 的上下文长度为 2049 个标记。它们提供 max_tokens 和 stop 参数来控制生成序列的长度。因此,当获得停止令牌或达到 max_tokens 时,生成就会停止。

问题是:生成文本时,我不知道提示符包含多少个标记。因为我不知道,所以我无法设置 max_tokens = 2049 - number_tokens_in_prompt。

这使我无法为各种长度的文本动态生成文本。我需要的是继续生成直到停止令牌。

我的问题是:

  • 如何计算Python API中的token数量?这样我就会相应地设置 max_tokens 参数。
  • 有没有办法将 max_tokens 设置为最大上限,这样我就不需要计算提示令牌的数量?

openai-api gpt-3 chatgpt-api gpt-4

62
推荐指数
1
解决办法
6万
查看次数

OpenAI ChatGPT API 错误:“InvalidRequestError:提供了无法识别的请求参数:消息”

我目前正在尝试使用 OpenAI 的最新模型:gpt-3.5-turbo. 我正在遵循一个非常基本的教程

我正在使用 Google Collab 笔记本进行工作。我必须对提示列表中的每个提示发出请求,为了简单起见,该请求如下所示:

prompts = ['What are your functionalities?', 'what is the best name for an ice-cream shop?', 'who won the premier league last year?']
Run Code Online (Sandbox Code Playgroud)

我定义了一个函数来执行此操作:

import openai

# Load your API key from an environment variable or secret management service
openai.api_key = 'my_API'

def get_response(prompts: list, model = "gpt-3.5-turbo"):
  responses = []

  
  restart_sequence = "\n"

  for item in prompts:

      response = openai.Completion.create(
      model=model,
      messages=[{"role": "user", "content": prompt}],
      temperature=0,
      max_tokens=20,
      top_p=1, …
Run Code Online (Sandbox Code Playgroud)

python openai-api chatgpt-api

36
推荐指数
1
解决办法
7万
查看次数

如何将较长的文本输入发送到 ChatGPT API?

我们有一个 ChatGPT 的用例,用于总结长文本(语音到文本的对话可能超过一个小时)。

然而,我们发现 4k 令牌限制往往会导致输入文本由于令牌限制而被截断为一半左右。

零件加工似乎没有保留以前零件的历史。

对于提交超过 4k 代币的较长请求,我们有哪些选项?

openai-api chatgpt-api

26
推荐指数
1
解决办法
4万
查看次数

OpenAI Python 包错误:“ChatCompletion”对象不可订阅

将我的 OpenAI 包更新到版本 1.1.1 后,我在尝试读取 ChatGPT API 响应时收到此错误:

“ChatCompletion”对象不可订阅

这是我的代码:

messages = [
        {"role": "system", "content": '''You answer question about some service'''
        },
        {"role": "user", "content": 'The user question is ...'},
    ]
response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0
    )
response_message = response["choices"][0]["message"]["content"]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

python openai-api chatgpt-api

25
推荐指数
1
解决办法
2万
查看次数

OpenAI API 错误:“这是聊天模型,v1/completions 端点不支持”

import discord
import openai
import os


openai.api_key = os.environ.get("OPENAI_API_KEY")

#Specify the intent
intents = discord.Intents.default()
intents.members = True

#Create Client
client = discord.Client(intents=intents)

async def generate_response(message):
    prompt = f"{message.author.name}: {message.content}\nAI:"
    response = openai.Completion.create(
        engine="gpt-3.5-turbo",
        prompt=prompt,
        max_tokens=1024,
        n=1,
        stop=None,
        temperature=0.5,
    )
    return response.choices[0].text.strip()

@client.event
async def on_ready():
    print(f"We have logged in as {client.user}")
    
@client.event
async def on_message(message):
    if message.author == client.user:
        return

    response = await generate_response(message)
    await message.channel.send(response)

discord_token = 'DiscordToken'


client.start(discord_token)  
Run Code Online (Sandbox Code Playgroud)

我尝试使用不同的方式来访问 API 密钥,包括添加到环境变量。

我还能尝试什么或者哪里出错了,对于编程来说还很陌生。错误信息:

openai.error.AuthenticationError:未提供 API 密钥。您可以使用“openai.api_key =”在代码中设置 API …

python discord openai-api chatgpt-api

21
推荐指数
1
解决办法
6万
查看次数

如何向 RetrievalQA.from_chain_type 添加内存?或者,如何向 ConversationalRetrievalChain 添加自定义提示?

如何向 RetrievalQA.from_chain_type 添加内存?或者,如何向 ConversationalRetrievalChain 添加自定义提示?

在过去的两周里,我一直在尝试制作一个可以通过文档聊天的聊天机器人(因此不仅仅是语义搜索/质量保证,因此需要记忆),而且还可以使用自定义提示。我已经尝试了所有链的每种组合,到目前为止,我得到的最接近的是 ConversationalRetrievalChain,但没有自定义提示,以及 RetrievalQA.from_chain_type 但没有内存

python openai-api chatgpt-api langchain py-langchain

15
推荐指数
3
解决办法
2万
查看次数

如何继续openai API响应不完整

在 OpenAI API 中,如何以编程方式检查响应是否不完整?如果是这样,您可以添加另一个命令,例如“继续”或“扩展”,或者以编程方式完美地继续它。

\n

根据我的经验,\n我知道如果响应不完整,API 将返回:

\n
"finish_reason": "length"\n
Run Code Online (Sandbox Code Playgroud)\n

但如果响应超过 4000 个令牌,它就不起作用,因为您还需要将先前的响应(对话)传递给新的响应(对话)。如果响应是 4500,它将返回 4000 个令牌,但您无法获取剩余的 500 个令牌,因为每个对话的最大令牌是 4000 个令牌。如果我错了请纠正我。

\n

这是我的代码,请注意,提示只是一个示例提示。实际上,我的提示也很长,因为我还无法微调 gpt 3.5,我需要根据我的提示来训练它。

\n
def chat_openai(prompt) -> dict:\n\n    conversation = [{'role': 'user', 'content': prompt}]\n    response, answer = None, ''\n    for idx, api_key in enumerate(openai_api_keys):\n        try:\n            openai.api_key = api_key\n            response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=conversation, temperature=1)\n            answer += response.choices[0].message.content\n            conversation.append({'role': response.choices[0].message.role, 'content': answer})\n            # Move successful API at the start of array\n            if idx: openai_api_keys[0], openai_api_keys[idx] = openai_api_keys[idx], openai_api_keys[0]\n            break\n        except …
Run Code Online (Sandbox Code Playgroud)

python artificial-intelligence machine-learning openai-api chatgpt-api

12
推荐指数
1
解决办法
4247
查看次数

如何在 Langchain 中传输代理的响应?

我在 Python 中使用 Langchain 和 Gradio 接口。我制作了一个对话代理,并尝试将其响应传输到 Gradio 聊天机器人界面。我查看了 Langchain 文档,但找不到使用代理实现流式传输的示例。这是我的代码的一些部分:

# Loading the LLM
def load_llm():
    return AzureChatOpenAI(
        temperature=hparams["temperature"],
        top_p=hparams["top_p"],
        max_tokens=hparams["max_tokens"],
        presence_penalty=hparams["presence_penalty"],
        frequency_penalty=hparams["freq_penaulty"],
        streaming=True, 
        callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]), 
        verbose=True,
        model_name=hparams["model"],
        deployment_name = models_dict[hparams["model"]],
        )

# Loading the agent
def load_chain(memory, sys_msg, llm):
    """Logic for loading the chain you want to use should go here."""
    agent_chain = initialize_agent(tools, 
                                   llm, 
                                   agent="conversational-react-description", 
                                   verbose=True, 
                                   memory=memory, 
                                   agent_kwargs = {"added_prompt": sys_msg},
                                   streaming=True, 
                                   )
    return agent_chain

# Creating the chatbot to be used in Gradio.
class ChatWrapper:

    def __init__(self, …
Run Code Online (Sandbox Code Playgroud)

python gradio chatgpt-api langchain

9
推荐指数
2
解决办法
9988
查看次数

OpenAI API 错误:“您尝试访问 openai.ChatCompletion,但 openai&gt;=1.0.0 不再支持此功能”

我目前正在开发一个聊天机器人,由于我使用的是 Windows 11,它不允许我迁移到较新的 OpenAI 库或降级它。ChatCompletion我可以用其他功能替换该功能以在我的版本上使用吗?

这是代码:

import openai

openai.api_key = "private"

def chat_gpt(prompt):
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message['content'].strip()

if __name__ == "__main__":
    while True:
        user_input = input("You: ")
        if user_input.lower() in ["quit", "exit", "bye"]:
            break
        response = chat_gpt(user_input)
        print("Bot:", response)
Run Code Online (Sandbox Code Playgroud)

这是完整的错误:

...您尝试访问 openai.ChatCompletion,但 openai>=1.0.0 不再支持此功能 - 请参阅https://github.com/openai/openai-python上的API 了解自述文件。

您可以运行openai migrate自动升级您的代码库以使用 1.0.0 界面。

或者,您可以将安装固定到旧版本,例如 <pip install openai==0.28>

此处提供了详细的迁移指南:https ://github.com/openai/openai-python/discussions/742

我尝试通过 pip 进行升级和降级。

python artificial-intelligence pip openai-api chatgpt-api

8
推荐指数
2
解决办法
2万
查看次数