Atualização principal da API ChatGPT - deve saber saberá

fundo

A OpenAI lançou oficialmente uma grande atualização no nível da API em 2023.06.13. As principais mudanças são as seguintes:

  • A API de conclusões de bate-papo oferece suporte a chamadas de função definidas pelo desenvolvedor.
  • Atualizado gpt-4e gpt-3.5-turbomodelos.
  • gpt-3.5-turboO comprimento do contexto suportado é expandido para 16K, e apenas tokens de 4K eram suportados antes.
  • O custo de usar o modelo de incorporação é reduzido em 75%.
  • gpt-3.5-turboO custo do token de entrada do modelo é reduzido em 25%, do token original de US$ 0,002/1K para o token de US$ 0,0015/1K.
  • 2023.09.13 estará offline gpt-3.5-turbo-0301, gpt-4-0314e gpt-4-32k-0314os modelos, após esse ponto no tempo, chamar esses modelos falhará na solicitação.

Os modelos mencionados acima seguem rigorosamente as normas de privacidade e segurança divulgadas em 1º de março de 2023. Os dados enviados pelos usuários por meio da API e os dados retornados pela API não serão utilizados para o treinamento de modelos grandes da OpenAI.

exemplo de chamada de função

Cenário: Queremos que o ChatGPT informe as condições climáticas atuais em Boston.

Esta função não pode ser realizada contando apenas com o ChatGPT, porque os dados de treinamento do ChatGPT são apenas até setembro de 2021 e o clima atual não pode ser conhecido. Este é também o maior problema do GPT no momento, e não pode suportar bem a atualização oportuna de informações.

Então, como o ChatGPT deve ser usado para atingir essa função?

Podemos definir uma função por nós mesmos para obter as condições meteorológicas de uma determinada cidade naquele dia. O ChatGPT só precisa gerar o valor do parâmetro (também chamado de parâmetro real) de nossa função personalizada de acordo com a pergunta do usuário, então podemos chamar o função personalizada para obter o resultado desejado e, em seguida, enviar o resultado gerado pela função personalizada e o registro de diálogo como um prompt para o ChatGPT, e o ChatGPT fará um resumo e, finalmente, retornará a conclusão do resumo ao usuário.

O usuário faz uma pergunta -> ChatGPT gera os parâmetros reais da função -> o desenvolvedor chama a função personalizada -> envia o resultado da execução da função + registro de diálogo de contexto para ChatGPT para resumo -> retorna a conclusão do resumo para o usuário

Vejamos um caso específico de implementação:

  • Primeiro Passo: Faça PerguntasWhat’s the weather like in Boston right now?
curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "What is the weather like in Boston?"}
  ],
  "functions": [
    {
      "name": "get_current_weather",
      "description": "Get the current weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}'

Obtenha o resultado retornado por ChatGPT. No resultado retornado, o conteúdo é nulo e function_call tem um valor, o que significa que a função personalizada precisa ser chamada get_current_weathere o valor do parâmetro da função personalizada é retornado.

{
    
    
  "id": "chatcmpl-123",
  ...
  "choices": [{
    
    
    "index": 0,
    "message": {
    
    
      "role": "assistant",
      "content": null,
      "function_call": {
    
    
        "name": "get_current_weather",
        "arguments": "{ \"location\": \"Boston, MA\"}"
      }
    },
    "finish_reason": "function_call"
  }]
}
  • Etapa 2: chame a função personalizada.
curl https://weatherapi.com/...

Obtenha a função personalizada para retornar o resultado

{
    
     "temperature": 22, "unit": "celsius", "description": "Sunny" }
  • Etapa 3: envie os resultados da execução da função personalizada e os registros de diálogo de contexto para o ChatGPT para resumo.
curl https://api.openai.com/v1/chat/completions -u :$OPENAI_API_KEY -H 'Content-Type: application/json' -d '{
  "model": "gpt-3.5-turbo-0613",
  "messages": [
    {"role": "user", "content": "What is the weather like in Boston?"},
    {"role": "assistant", "content": null, "function_call": {"name": "get_current_weather", "arguments": "{ \"location\": \"Boston, MA\"}"}},
    {"role": "function", "name": "get_current_weather", "content": "{\"temperature\": "22", \"unit\": \"celsius\", \"description\": \"Sunny\"}"}
  ],
  "functions": [
    {
      "name": "get_current_weather",
      "description": "Get the current weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}'

Por fim, o ChatGPT retorna os seguintes resultados:

{
    
    
  "id": "chatcmpl-123",
  ...
  "choices": [{
    
    
    "index": 0,
    "message": {
    
    
      "role": "assistant",
      "content": "The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.",
    },
    "finish_reason": "stop"
  }]
}

Exigimos o resultado:

The weather in Boston is currently sunny with a temperature of 22 degrees Celsius.

O elemento central da realização das funções acima é que o ChatGPT pode julgar de forma inteligente quando chamar a função personalizada do desenvolvedor de acordo com a entrada do usuário e retornar o valor do parâmetro da função personalizada. O desenvolvedor pode chamar diretamente a função personalizada para obter o resultado desejado e, finalmente, enviar o registro de diálogo e o resultado da execução da função personalizada para o modelo grande para resumo.

Atualmente esta função pode ser utilizada nestes gpt-4-0613dois gpt-3.5-turbo-0613modelos.

Depois que o OpenAI concluir a atualização do modelo em 2023.06.27, os modelos gpt-4, gpt-4-32ke gpt-3.5-turbotambém poderão usar esta função.

Para obter detalhes sobre o uso da nova API, consulte: documentação do desenvolvedor .

novo modelo

modelo GPT-4

gpt-4-0613Em contraste gpt-4, o suporte para chamadas de função foi adicionado.

gpt-4-32k-0613Em contraste gpt-4-32k, o suporte para chamadas de função também é adicionado.

Nas próximas semanas, a OpenAI fará o possível para aprovar os aplicativos na lista de espera da API GPT-4, para que os desenvolvedores possam aproveitar os poderosos recursos do GPT-4. Se ainda não aplicou, candidate-se agora.

Modelo GPT-3.5 Turbo

gpt-3.5-turbo-0613Em contraste gpt-3.5-turbo, o suporte para chamadas de função foi adicionado.

gpt-3.5-turbo-16kO comprimento do contexto suportado foi expandido para 16K, que é gpt-3.5-turbo4 vezes o custo e gpt-3.5-turbo2 vezes o custo. A taxa específica é de US$ 0,003 por token de entrada de 1K e US$ 0,004 por token de saída de 1K.

Tempo off-line do modelo antigo

A partir de 13.06.2023, a OpenAI começará a atualizar o ambiente de produção gpt-4e os modelos para a versão mais recente. Espera-se que o modelo atualizado esteja disponível a partir de 27.06.2023.gpt-4-32kgpt-3.5-turbo

Se o desenvolvedor não quiser atualizar, ele pode continuar usando a versão antiga do modelo, mas precisa ser especificado no parâmetro do modelo
gpt-3.5-turbo-0301ou .gpt-4-0314gpt-4-32k-0314

Essas versões antigas dos modelos estarão offline em 13/09/2023 e as chamadas subsequentes falharão.

Menor preço

Modelo de incorporação

text-embedding-ada-002Atualmente, é o mais popular de todos os modelos de incorporação no OpenAI.

Agora, o custo de usar esse modelo de incorporação foi reduzido para $ 0,0001/1K de token e o custo foi reduzido em 75%.

Modelo GPT-3.5 Turbo

gpt-3.5-turboQuando o modelo cobra, ele não cobra apenas pelas perguntas enviadas pelo usuário (token de entrada), mas também pelos resultados retornados pela API (token de saída).

Agora, o custo do token de entrada do modelo foi reduzido em 25% e o custo por token de entrada de 1K é de US$ 0,0015.

A taxa para o token de saída permanece inalterada em $ 0,002/1K token.

gpt-3.5-turbo-16kA taxa do token de entrada do modelo é de 0,003 USD/1K de token e a taxa do token de saída é de 0,004 USD/1K de token.

Resumir

Artigos e códigos de amostra são de código aberto no GitHub: GPT Practical Tutorial , onde você pode ver todos os LLMs de código aberto convencionais.

Conta oficial: codificação avançada. Siga a conta oficial para obter o conteúdo de combate GPT mais recente.

Site pessoal: Blog de Jincheng .

Zhihu: Wuji .

Referências

  • https://openai.com/blog/function-calling-and-other-api-updates

Acho que você gosta

Origin blog.csdn.net/perfumekristy/article/details/131445027
Recomendado
Clasificación