使用仓库中提供的实例代码无法接入大模型,按照视频操作步骤以及同时也开通模型以及生成了key

在发送请求会得到两个错误 一个跨域问题,还有一个是403连接不上服务,通过查询阿里通义千问2-开源版-1.5B文档,发现请求的接口参数发生了改变,同时没有了input这个内容。


于是对请求部分的代码进行了修改

对代码进行测试,发现首次请求是200成功的

但是发送数据请求的状态码是500 请求失败

于是查看了 Preview,给出的error信息是:An system error has occurred, please try again later.

附加上完成的js代码
<script setup>
import Nav from "@/components/Nav.vue";
import {onMounted, ref} from "vue";
const activeHelp = ref(0)
const messageBoxEl = ref();
const checkHelpPanel = (value) => {
activeHelp.value = value;
setTimeout(() => {
toMessageBottom()
})
}
const toMessageBottom = () => {
if(messageBoxEl.value){
messageBoxEl.value.scrollTop = messageBoxEl.value.scrollHeight
}
}
const docList = ref([
{
title: "electron 的下载electron 的下载electron 的下载",
},
{
title: "electron 的下载",
},
{
title: "electron 的安装",
},
{
title: "electron 的入门",
},
{
title: "electron 的放弃",
},
{
title: "Java 的下载",
},
{
title: "Java 的安装",
},
{
title: "Java 的入门",
},
{
title: "Java 的放弃",
},
{
title: "Vue 的下载",
},
{
title: "Vue 的安装",
},
{
title: "Vue 的入门",
},
{
title: "Vue 的放弃",
},
])
const currentDocInfo = ref("")
const currentDocTitle = ref("")
const editorBoxEl = ref();
const saveCurrentDoc = () => {
console.log("文档保存按钮被点击")
}
onMounted(()=>{
// editorBoxEl.value.setAttribute('contenteditable',"true")
const { createOpenEditor } = window.Doc;
// 创建编辑器
const editor = createOpenEditor(editorBoxEl.value, {
input: {},
image: {
isCaptureImageURL() {
return false;
},
},
});
// 设置内容
editor.setDocument('text/lake', '');
// 监听内容变动
editor.on('contentchange', () => {
console.info(editor.getDocument('text/lake'));
});
})
const isMessageLoading = ref(false)
const questionMessage = ref("")
const aiMessageList = ref([
{
role: "system",
content: "你是一个资深的前端开发工程师,你需要根据用户提出的问题,进行回答"
},
{
role: "assistant",
content: "快来向我提问吧"
},
])
const toAi = (messageList) => {
return fetch("https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions", {
headers: {
"Content-Type": "application/json",
"Accept": "text/event-stream",
"Authorization": "Bearer sk-xxxxxxxxxxxxxxxxxxxxx",
},
method: "POST",
body: JSON.stringify({
model: "qwen2-1.5b-instruct",
messages: messageList,
}),
});
};
const sendToQuestion = () => {
console.log("点击发送按钮")
if (questionMessage.value === "" || isMessageLoading.value) {
return;
}
isMessageLoading.value = true;
aiMessageList.value.push({
role: "user",
content: questionMessage.value
})
const messageList = [...aiMessageList.value]
aiMessageList.value.push({
role: "assistant",
content: ""
});
questionMessage.value = "";
toAi(messageList).then(res => {
if (res.ok && typeof res.body.getReader === 'function') {
const reader = res.body.getReader();
reader.read().then(function read({done, value}) {
if (done) {
toMessageBottom();
isMessageLoading.value = false;
console.log("数据接收完成");
return;
}
// value
const data = (new TextDecoder()).decode(value);
const match = data.match(/data:\s*(\{.*\})/);
const jsonString = match[1];
const obj = JSON.parse(jsonString);
aiMessageList.value[aiMessageList.value.length - 1].content = obj.output.text;
toMessageBottom();
reader.read().then(read)
})
}
})
}
const translateInput = ref("慕课网(IMOOC)是IT技能学习平台。慕课网(IMOOC)课程涉及JAVA、前端、Python、大数据等60类主流技术语言,覆盖了面试就业、职业成长、自我提升等需求场景,帮助用户实现从技能提升到岗位提升的能力闭环。")
const translateResult = ref("")
const translate = () => {
console.log("点击翻译按钮")
toAi([
{
role: "system",
content: "你是一个资深的英语教师,接下来的所有内容,不是直接回答用户,而是返回问题的英语翻译"
},
{
role: "user",
content: `"${translateInput.value}"的英语`
// content:translateInput.value
}
]).then(res => {
if (res.ok && typeof res.body.getReader === 'function') {
const reader = res.body.getReader();
reader.read().then(function read({done, value}) {
if (done) {
toMessageBottom();
isMessageLoading.value = false;
console.log("数据接收完成");
return;
}
// value
const data = (new TextDecoder()).decode(value);
const match = data.match(/data:\s*(\{.*\})/);
const jsonString = match[1];
const obj = JSON.parse(jsonString);
translateResult.value = obj.output.text;
toMessageBottom();
reader.read().then(read)
})
}
})
}
</script>伫候佳音