三分钟完成小程序 uni-app、网站接入chatgpt实现聊天效果

部署运行你感兴趣的模型镜像

利用laf云开发实现uni-app调用chatGPT API,实现与openai对话

1.实现后台接口

注册laf云开发账号 https://laf.dev/

在这里插入图片描述
注册一个应用后进入这个页面:
在这里插入图片描述

  • 下载依赖 chatgpt
  • 配置apiKey
  • 写send函数
//send函数源码
import cloud from '@lafjs/cloud'
export async function main(ctx: FunctionContext) {
  const { ChatGPTAPI } = await import('chatgpt')
  const data = ctx.body
  // 这里需要把 api 对象放入 cloud.shared 不然无法追踪上下文
  let api = cloud.shared.get('api')
  if (!api) {
    api = new ChatGPTAPI({ apiKey: cloud.env.CHAT_GPT_API_KEY })
    cloud.shared.set('api', api)
  }
  let res
  // 这里前端如果传过来 parentMessageId 则代表需要追踪上下文
  if (!data.parentMessageId) {
    res = await api.sendMessage(data.message)
  } else {
    res = await api.sendMessage(data.message, { parentMessageId: data.parentMessageId })
  }
  return res
}

配置你的apiKey
在这里插入图片描述

2.uni-app小程序代码中

//封装cloud

import { Cloud } from "laf-client-sdk"
// 创建 cloud 对象 这里需要将 <appid> 替换成自己的 App ID
// const cloud = new Cloud({
//   baseUrl: "https://irrbat.laf.dev",
//   getAccessToken: () => "", // 这里不需要授权,先填空
// })
const cloud = new Cloud({
  // the laf app server base url
  baseUrl: "https://irrbat.laf.dev",
  // the database proxy entry, `app` is the policy name which response for the security of database access
  getAccessToken: () => "",
  environment: "uniapp",
})
export default cloud

发送消息方法

import cloud from './CloudService'
export async function sendToGpt (msg,parentMessageId=null) {
  // 我们提问的内容
  const message = msg
  let res
  // 与云函数逻辑一样,有上下文 id 就传入
  if (!parentMessageId) {
    res = await cloud.invoke("send", { message })
  } else {
    res = await cloud.invoke("send", { message, parentMessageId: parentMessageId })
  }
  return Promise.resolve(res)
}

微信小程序中使用

const cloud = new Cloud({
  // the laf app server base url
  baseUrl: "https://APPID.lafyun.com",
  // the database proxy entry, `app` is the policy name which response for the security of database access
  dbProxyUrl: "/proxy/app",
  getAccessToken: () => localStorage.getItem("access_token"),
  environment: "wxmp",
});

3.实现效果

在这里插入图片描述在这里插入图片描述

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值