当前位置: 首页 > news >正文

vue3项目中使用星火API

在node环境epxress中使用讯飞ai接口进行二次封装,通过ai对话回复提取,获得ai提取的文章摘要

本文章只是简单使用,更复杂功能比如调用星火API制作对话机器人可以查看文档,对于初次使用星火AI接口或许有帮助

讯飞星火大模型API-大模型API-大模型接口-科大讯飞

首先需要创建一个应用

然后点击应用进入之后,可以查看使用,我使用的是spark lite免费便宜,对于个人项目来说是足够的

在点击应用选择要使用的ai接口(这里我选取的是spark Lite )右下角可以看到web的接口文档

文档给出的示例是基于python环境,而本项目后端是基于node,采用express框架

文档采用流式返回,这里我进行了简化并未采取流式返回

通过阅读文档可知我们需要返回给api接口的数据需要authorization,然后对话内容需要设置message设置role为user则content的内容是使用者的提问

下面是我的示例

router/ai.js

const express = require('express');
const axios = require('axios');
const router = express.Router();
const bodyParser = require('body-parser');// 定义一个路由来处理 POST 请求
router.post('/api/summary', async (req, res) => {const { question } = req.body;console.log('Received request body:', req.body); // 打印接收到的请求体console.log('Received question:', question); // 打印接收到的 questionif (!question) {return res.status(400).json({ error: '没有question' });}const url = "https://spark-api-open.xf-yun.com/v1/chat/completions";const data = {max_tokens: 4096,top_k: 4,temperature: 0.5,messages: [{role: "user",content: question}],model: "lite",stream: false // 不需要流式响应};const header = {Authorization: "your_authoriztion"};try {const response = await axios.post(url, data, { headers: header });// 返回 API 的响应res.json(response.data);} catch (error) {console.error(error);res.status(500).json({ error: 'Internal Server Error' });}
});module.exports = router;

app.js

const express = require('express')
const app = express()
const port = 3000// 使用 Express 内置的中间件来解析 JSON 请求体
app.use(express.json());
app.use(express.urlencoded({ extended: true }));// 导入ai模块并注册
const aiRouter = require('./router/ai.js')
app.use('/', aiRouter)app.listen(port, () => console.log(`http://127.0.0.1:${port}!`))

以下是vue3前端调用

import request from '@/utils/request.js';// 调用ai传输接口
export const aiPostService = (question) => request.post('http://127.0.0.1:3000/api/summary', {question: question
})
http://www.lryc.cn/news/495767.html

相关文章:

  • digit_eye开发记录(3): C语言读取MNIST数据集
  • 【linux】(23)对象存储服务-MinIo
  • 如何使用Python解析从淘宝API接口获取到的JSON数据?
  • C# 2024年Visual Studio实用插件集合
  • Matlab Simulink HDL Coder开发流程(一)— 创建HDL兼容的Simulink模型
  • 详解Qt pdf 之QPdfSelection 选择文本类
  • docker中redis查看key、删除key
  • 【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍
  • ehr系统建设方案,人力资源功能模块主要分为哪些,hrm平台实际案例源码,springboot人力资源系统,vue,JAVA语言hr系统(源码)
  • 【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
  • flink学习(12)——checkPoint
  • 【iOS】《Effective Objective-C 2.0》阅读笔记(一)
  • LVS 负载均衡面试题及参考答案
  • 北京科博会 天云数据CEO雷涛谈人工智能技术服务数字资产建设
  • 【Python运维】容器管理新手入门:使用Python的docker-py库实现Docker容器管理与监控
  • 小程序解决大问题-物流系统磁盘爆满问题处理
  • 计算机网络基础篇
  • 32 从前序与中序遍历序列构造二叉树
  • D82【python 接口自动化学习】- pytest基础用法
  • 在开发环境中,前端(手机端),后端(电脑端),那么应该如何设置iisExpress
  • 磁盘/系统空间占满导致黑屏死机无法开机的解决办法
  • 使用zabbix监控k8s
  • MacOS安装MySQL数据库和Java环境以及Navicat
  • 算法的复杂度
  • Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题
  • 若依项目源码阅读
  • JVM知识点学习-1
  • TypeScript和JavaScript区别详解
  • RVO动态避障技术方案介绍
  • Vue进阶之单组件开发与组件通信