Composer 安装chat-gpt类库进行调用。需要小火箭~

主要是进行对话

安装说明

composer require code-lives/chat-gpt

Laravel 操作方式 使用 Redis 存储聊天记录


$uid = "1"; //要求是字符串

$redis_key = "chat_record"  .  $uid;

$content = "还有哪些优点"; //提问内容

$chat = Redis::get($redis_key);

if (!$chat) {

$chatArray = [['role' => 'user', 'content' => $content]];

} else {

$chatArray = unserialize($chat);

$chatArray[] = ['role' => 'user', 'content' => $content];

}

$chat = new \ChatGpt\Chat\ChatGpt('key值');

$data = $chat->QuestionAndAnswer($uid, $chatArray);

if (isset($data['choices'])) {

$chatArray[] = ['role' => 'assistant', 'content' => $data['choices'][0]['message']['content']];

}

Redis::setex($redis_key, 3600, serialize($chatArray));

echo  $data['choices'][0]['message']['content'];

在 Laravel 视图层展示可能标签丢失 {{$data}} 转换 {!!$data!!}

代码块如何实现在 html 和 README 文件类似效果

代码块 就是下面颜色部分包围的,突出显示。在html 需要特殊处理


$chat = new \ChatGpt\Chat\ChatGpt('key值');

$data = $chat->QuestionAndAnswer($uid, $chatArray);

$content = $chat->WebFormat($data['choices'][0]['message']['content']);

html 代码 进行处理代码块,加上以下这些就行


<link  rel="stylesheet"  href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/default.min.css"  />

<script  src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/highlight.min.js"></script>

<script>

hljs.initHighlightingOnLoad();

</script>

聊天记录存入 mysql 格式如下

问答数据存取顺序注意。用户提问 存入,chatgpt 返回答案存入。看你怎么操作了。


    id 自增

    uid 用户uid

    role 角色 用户=user chatgpt = assistant

    content 内容

    create_time int

    读取出来的数据如下

$chatArray=[
    [
    'role'=>'user',
    'content'=>'Laravel 有什么优点',
    ],
    [
    'role'=>'assistant',
    'content'=>'有****优点',
    ],
    [
    'role'=>'user',
    'content'=>'还有吗?'
    ],
    [
    'role'=>'assistant',
    'content'=>'还有****',
    ]
];

chatArray 格式说明

第一次用户提问


$chatArray=[
    [
    'role'=>'user',
    'content'=>'Laravel 有什么优点',
    ]
];

第二次用户提问,包含了 第一次 chatgpt 回复的内容.如果没有可能上下文丢失,匹配不到最佳内容


$chatArray=[
    [
    'role'=>'user',
    'content'=>'Laravel 有什么优点',
    ],
    [
    'role'=>'assistant',
    'content'=>'有****优点',
    ],
    [
    'role'=>'user',
    'content'=>'还有吗?'
    ]
];
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!