openAi ChatGPT调用性能优化的一些小妙招

这篇具有很好参考价值的文章主要介绍了openAi ChatGPT调用性能优化的一些小妙招。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考的demo:GitHub - ddiu8081/chatgpt-demo: A demo repo based on OpenAI API.

扭曲调教:

openAi ChatGPT调用性能优化的一些小妙招openai提供的chat接口(https://api.openai.com/v1/chat/completions)由于其模型很大(什么1750亿个参数啥的),单次http请求很难完成处理,一些常用的做法是采取流返回的方式,一个字一个字往外蹦,然后一点一点渲染,例如demo里的代码:

openAi ChatGPT调用性能优化的一些小妙招

export const parseOpenAIStream = (rawResponse: Response) => {
  const encoder = new TextEncoder()
  const decoder = new TextDecoder()
  if (!rawResponse.ok) {
    return new Response(rawResponse.body, {
      status: rawResponse.status,
      statusText: rawResponse.statusText,
    })
  }

  const stream = new ReadableStream({
    async start(controller) {
      const streamParser = (event: ParsedEvent | ReconnectInterval) => {
        if (event.type === 'event') {
          const data = event.data
          if (data === '[DONE]') {
            controller.close()
            return
          }
          try {
            // response = {
            //   id: 'chatcmpl-6pULPSegWhFgi0XQ1DtgA3zTa1WR6',
            //   object: 'chat.completion.chunk',
            //   created: 1677729391,
            //   model: 'gpt-3.5-turbo-0301',
            //   choices: [
            //     { delta: { content: '你' }, index: 0, finish_reason: null }
            //   ],
            // }
            const json = JSON.parse(data)
            const text = json.choices[0].delta?.content || ''
            const queue = encoder.encode(text)
            controller.enqueue(queue)
          } catch (e) {
            controller.error(e)
          }
        }
      }

      const parser = createParser(streamParser)
      for await (const chunk of rawResponse.body as any)
        parser.feed(decoder.decode(chunk))
    },
  })

  return new Response(stream)
}

类似于这样的处理方式。

但流传输不一定适用于所有的业务,若将stream改成false,那么接口响应多半会超时。

因此需要一些优化的策略:

一、降智

选用低能一些的模型,不过我尝试了gpt3的模型,一概不说人话

openAi ChatGPT调用性能优化的一些小妙招

而/v1/completions的接口里只有 text-davinci-003还可以接受

openAi ChatGPT调用性能优化的一些小妙招

 说明一下/v1/completions和v1/chat/completions的区别,/v1/chat/completions是传一个数组messages来完成上下文关联,而/v1/completions传的是一个字符串prompt参数,不过依然可以通过追加的方式,使其回答具有上下文关联性。

不过!! text-davinci-003​​​​​​​费用是turbo的10倍!!!!!!!

​​​​​​​这是决对不能接受的!!!

openAi ChatGPT调用性能优化的一些小妙招

二、降低temperature参数

openAi ChatGPT调用性能优化的一些小妙招

这个会有轻量的影响,如果你并不需要每次相同的问题都要回答不同的答案,那么可以降低此值,甚至可以降为0

三、优化返回长度 

这个会影响最大,亲测最有效,在问题前面追加回答设置,例如,回答不要超过100字,请简洁的回答下列问题等。会最大程度的降低返回时间,因为接口是按调用词数和返回词数计费的(ChatGPT(GPT3.5)官方API模型名称为“gpt-3.5-turbo”和“gpt-3.5-turbo-0301”。API调用价格比GPT text-davinci-003模型便宜10倍。调用费用为0.002美元/1000tokens,折合下来差不多0.1元4000~5000字。这个字数包括问题和返回结果字数。),所以chatgpt保持着能多bb尽量多bb的原则,少让他多bb点还可以省钱。

openAi ChatGPT调用性能优化的一些小妙招

 openAi ChatGPT调用性能优化的一些小妙招

注意,参数里的max_tokens没必要设置,因为他只会无脑切割, 如果设置低了超过原本的输出答案,回答会不完整。文章来源地址https://www.toymoban.com/news/detail-414791.html

到了这里,关于openAi ChatGPT调用性能优化的一些小妙招的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenAI】ChatGPT函数调用(Function Calling)实践

    6月13日OpenAI在Chat Completions API中添加了新的函数调用(Function Calling)能力,帮助开发者通过API方式实现类似于ChatGPT插件的数据交互能力。 本文在作者上一篇文章《私有框架代码生成实践》的基础上,依旧使用自然语言低代码搭建场景作为案例,将嵌入向量搜索(Embedding)获

    2024年02月12日
    浏览(49)
  • OpenAI发布ChatGPT函数调用和API更新

    2023年6月13日,OpenAI针对开发者调用的API做了重大更新,包括更易操控的 API模型、函数调用功能、更长的上下文和更低的价格。 在今年早些时候发布gpt-3.5-turbo,gpt-4在短短几个月内,已经看到开发人员在这些模型之上构建了令人难以置信的应用程序。 今天,我们将跟进一些令

    2024年02月08日
    浏览(44)
  • efcore的一些性能优化

    EF Core 提供了一种称为自动跟踪的功能,它可以将查询到的实体跟踪在内存中,以便对它们进行更改直到提交到数据库。在查询实体时,EF Core 将引用添加到内部跟踪集合中,以便可以在修改时进行检测和持久化到数据库中。 在上述示例中,我们在从数据库中查询到 Blog 实体

    2024年02月06日
    浏览(35)
  • 一些性能优化思路与策略

    今天公司同事做技术分享,题目就是:一些性能优化思路与策略,我学习了一下然后做了如下总结。 响应时间:平均响应时间,TP95、TP99等等。这里需要注意,响应时间有服务端响应时间和客户端响应时间的区别,一般关注服务端的相应时间。 吞吐量:QPS、TPS 系统负载:并发

    2024年02月16日
    浏览(47)
  • openai-chatGPT的API调用异常处理

    因为目前openai对地区限制的原因,即使设置了全局代理使用API调用时,还是会出现科学上网代理的错误问题。 openai库 == 0.26.5 【错误提示】: raise error.APIConnectionError( openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host=\\\' api.openai.com \\\', port=443): Max retries exceede

    2024年01月20日
    浏览(44)
  • Elasticsearch 8.X 性能优化参考 —— 筑梦之路

    Elasticsearch 是实现用户无缝搜索体验的关键工具。它通过提供快速、准确和相关的搜索结果,彻底改变了用户与应用程序的互动方式。然而,要确保 Elasticsearch 部署达到最佳性能,就必须关注关键指标,并对诸如索引、缓存、查询、搜索以及存储等各种组件进行优化。 Elasti

    2024年02月09日
    浏览(38)
  • .net中最简单的http请求调用(比如调用chatgpt的openAI接口)

    支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac。 http请求调用是开发中经常会用到的功能,因为,很多第三方功能接口往往是通过http地址的形式提供的,比如:ChatGpt、OpenAI、短信服务、在线翻译、地图服务、语音智能、等…   .net中调用http请

    2024年02月02日
    浏览(83)
  • Chatgpt API调用报错:openai.error.RateLimitError

    Chatgpt API 调用报错: openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details. 调用OpenAI API接口 代码运行报错: 报错原因:         为了探索和试验API,所有新用户都可以获得价值5美元的免费代币。这些代币将在3个月后到期;或者你使用了所有的

    2024年02月13日
    浏览(38)
  • 【课件】Python调用OpenAI API实现ChatGPT多轮对话

    如何实现多轮对话? gpt-3.5-turbo 模型调用方法 openai.ChatCompletion.create 里传入的 message 是一个列表,列表里每个元素是字典,包含了角色和内容,我们只需将每轮对话都存储起来,然后每次提问都带上之前的问题和回答即可。 代码解析: ChatGPT 类,包含三个函数: __init__ 初始

    2024年02月03日
    浏览(48)
  • ChatGPT 使用 拓展资料: OPENAI 函数调用和其他 API 更新

    ChatGPT 使用 拓展资料: OPENAI 函数调用和其他 API 更新 我们在今年早些时候发布gpt-3.5-turbo,gpt-4在短短几个月内,已经看到开发人员在这些模型之上构建了令人难以置信的应用程序。 今天,我们将跟进一些令人兴奋的更新: Chat Completions API 中的新函数调用功能 gpt-4和的更新和

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包