ChatGPT 介绍

发布时间: 更新时间: 总字数:1152 阅读时间:3m 作者: 分享 复制网址

ChatGPT(生成型预训练变换模型)是一个自回归语言模型,目的是为了使用深度学习生成人类可以理解的自然语言

介绍

GPT(Generative Pre-Training,生成式预训练) 是由在旧金山的人工智能公司OpenAI训练与开发,模型设计基于谷歌开发的变换语言模型

  • GPT-1 2018/6 约 5GB 文本,1.17 亿参数量(神经网络)
    • transformer,需要通过微调参数满足不同场景
    • 竞品 Bert,Bert 根据上下文完形填空;GPT 预测未来的事
  • GPT-2 2019/2 约 40GB 文本,15 亿参数量
    • zero-shot 即下游任务不通过参数微调实现
    • 通过暗示(prompt,或提示模型需要完成的任务)完成推断,更加强大
    • 采样策略,自回归模型希望模型有多样性
      • 通过温度(Temperature)对预测结果进行结果的概率分析,温度越高结果多样性越丰富,温度越低结果越准确
      • 结果的 Top k vs Top p
        • Top k 预测结果仅为前 k 个
        • Top p 预测结果累加到 0.9 或 0.95 的值位候选
  • GPT-3 2022/5 约 45TB 文本,1750亿参数量,为有史以来参数最多的神经网络模型,不开源
    • 不做微调,训练数据包罗万象
    • 3 中核心下游任务方式
      • few-shot 根据一些例子推断结果,结果更符合要求,输入多,API token 消耗更多
      • zero-shot 通过输入的自然语音描述,自行推断结果
      • one-shot 根据一个例子推断结果
  • GPT-4
  • 竞品
    • Google Bard
    • LLM
    • ColossalAI 让大型人工智能模型更便宜、更快速、更容易获得

使用

提示词:

api 调用示例

基于 Python 调用接口示例,由于国内IP被封,可以采用 openai API 代理,参考

  • 安装依赖
pip3 install openai
  • 设置 key
export OPENAI_API_KEY="xxx"
import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="I am a highly intelligent question answering bot. If you ask me a question that is rooted in truth, I will give you the answer. If you ask me a question that is nonsense, trickery, or has no clear answer, I will respond with "Unknown".",  # 提示信息
  temperature=0,
  max_tokens=100,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.0,
  stop=["\n"]
)

print(response)
  • ChatGPT 给的脚本示例
import openai

openai.api_key = "<INSERT API KEY HERE>"
# Create the OpenAI API object
openai_api = openai.API()

# Ask the OpenAI API a question
response = openai_api.create_engagement("What is the capital of France?",
                                        engagement_level="chat")

# Print the response from the OpenAI API
print(response.text)

客户端

ChatGPT 微信聊天机器人

git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/

# 创建 venv
python3 -m venv .venv
. .venv/bin/activate

# 安装依赖
pip3 install itchat-uos==1.5.0.dev0 -i http://pypi.douban.com/simple/ -U tox --trusted-host pypi.douban.com
pip3 install --upgrade openai -i http://pypi.douban.com/simple/ -U tox --trusted-host pypi.douban.com

# 配置
cp config-template.json config.json

# config.json文件内容示例
{
  "open_ai_api_key": "YOUR API KEY"                           # 填入上面创建的 OpenAI API KEY
  "single_chat_prefix": ["bot", "@bot"],                      # 私聊时文本需要包含该前缀才能触发机器人回复
  "single_chat_reply_prefix": "[bot] ",                       # 私聊时自动回复的前缀,用于区分真人
  "group_chat_prefix": ["@bot"],                              # 群聊时包含该前缀则会触发机器人回复
  "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表
  "image_create_prefix": ["画", "看", "找"],                   # 开启图片回复的前缀
  "conversation_max_tokens": 1000,                            # 支持上下文记忆的最多字符数
  "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"  # 人格描述
}

# 启动服务
nohup python3 app.py &

# 查看日志
tail -f nohup.out

# 扫描启动的二维码登录&使用

F&Q

OpenAI not available in your country

OpenAI’s services are not available in your country

  • 解决方式
# javascript: 要手动输入
javascript:window.localStorage.removeItem(Object.keys(window.localStorage).find(i=>i.startsWith('@@auth0spajs')))

https://github.com/lencx/ChatGPT/issues/83

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数