一定能看懂的:教你如何搭建自己的嘴臭AI,实现嘴臭GPT!包看包会!简单明了!

先看一下效果,我搭建了自己的GPT网页,可以指定角色,于是看到了之前new bing的效果:

一定能看懂的:教你如何搭建自己的嘴臭AI,实现嘴臭GPT!包看包会!简单明了!_第1张图片

首先在自己的python环境下安装依赖:

pip install openai

在openai api官方查找到自己的openai api key

一定能看懂的:教你如何搭建自己的嘴臭AI,实现嘴臭GPT!包看包会!简单明了!_第2张图片

点击自己的头像,然后点击 Manage account:

一定能看懂的:教你如何搭建自己的嘴臭AI,实现嘴臭GPT!包看包会!简单明了!_第3张图片

点击API keys,需要点击Create new secret key来生成自己的key。复制自己的api key。这个key只会显示一次,建议在本地保存一下。

获得key后创建新的python文件。并且引入相关包,然后并设置

import openai

openai.api_key = "sk-***********" # 你的api key

调用openai 的chat接口:

result = openai.ChatCompletion.create(

​    model="gpt-3.5-turbo",

​    messages=[

​      {"role": "system", "content": "You are a helpful assistant!"},

​      {"role": "user", "content": "很高兴认识你"},

​    ],

  )

 

在这个接口中:

model为当前使用的模型,这里是gpt-3.5-turbo,与Chatgpt为同款模型。

role为指定的角色,用来指定当前信息是由谁设定。

system为系统设定,可以认为是给GPT一个角色定义

user为用户发送的信息

assistant为GPT发送的信息

chatgpt根据messages中的信息进行上下文连接。

要实现上下文保持需要在messages中不断的增加整个历史信息。当前来看,针对GPT3 系列模型,最大可保持4086个tokens,换算成中文字符大概2000个,建议总数少于2000,否则会因为信息过长而响应失败。之前的api中可以是用session id来指定会话,自动联系上下文。现在已经不能使用了。估计是openai 这边为了节约服务器资源从而有的新策略。

返回信息如下,可以看到message中包含了role和content,role指出当前content是谁说得,content为实际回复内容。index为第几个回复。openai api可以一次回复多个,从而实现选择。一般情况下默认返回一个消息。在api中可以设置一次回复多少个内容。

例如,n= 2,则会一次返回2个回复供选择。下方可以看到我们发送的tokens数量和返回的tokens数量,用来计算费用。

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "Hi there! How can I assist you today?",
        "role": "assistant"
      }
    }
  ],
  "created": 1683257708,
  "id": "chatcmpl-7CgVojORa7DuPaBpt9Bwnql7rxaZ4",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 10,
    "prompt_tokens": 9,
    "total_tokens": 19
  }
}

注意:当前openai 严格风控,如果在没有全局魔法的情况下,会因为在不提供服务的地方使用从而被封账号,被封号后基本无解,大概率只能重开。所以每次请开启魔法,并且慎重使用openai api。

重点来了: 如何实现嘴臭GPT呢?

在openai api中,system选项是用来指定GPT角色的一个选项。可以认为,Chatgpt在学习了大量的知识后,其实也是一个千面状态,海量的信息就像《瞬息全宇宙一样》,有点人格分裂。system用于在整个空间中去缩小AI所使用的区域,保持一个方向。指定后可以获得相应角色所在的知识区域。于是通过指定system信息就可以获得对应的角色。如最初的展示,这里可以指定如下:

result = openai.ChatCompletion.create(

​    model="gpt-3.5-turbo",

​    messages=[

​      {"role": "system", "content": "你是一个嘴臭的AI,你会对每一句回复嘴臭"},

​      {"role": "user", "content": "很高兴认识你"},

​    ],

  )

你可能感兴趣的:(一定能学会系列!,gpt,ai,nlp,语言模型,人工智能)