前端 AI 开发实战:基于自定义工具类的大语言模型与语音识别调用指南

在人工智能技术快速发展的今天,将大语言模型(LLM)和语音识别(ASR)功能集成到前端应用中,已经成为提升用户体验、打造智能化应用的重要手段。本文将结合一段实际的 AI 工具类代码,详细讲解如何在前端项目中快速实现大语言模型交互与语音识别功能,帮助开发者快速搭建属于自己的 AI 应用。

一、核心功能概览

本文介绍的 AI 工具类主要实现两大核心功能:

  1. 大语言模型调用:支持通义千问、豆包等多种主流 LLM,通过传入文本 prompt 获取模型生成的内容。
  2. 语音识别:支持简体中文、英语、日语等多语言的音频文件识别,将语音转化为文字。

二、代码结构解析

1. 枚举类型定义

复制代码
export enum SupportLLM {
  TONGYIQIANWEN = "tongyiqianwen",
  VOL_DOUBAO = "voldoubao",
  MINIMAX = "minimax",
  DEEPSEEK = "deepseek",
}

export enum AsrLanguage {
  ZH_CN = "zh", // 简体中文
  YUE_CN = "yue-cn", // 粤语
  EN_US = "en", // 美式英语
  // 其他语言...
}

通过SupportLLMAsrLanguage枚举,将支持的大语言模型名称和语音识别语种进行标准化定义,方便后续代码调用和维护,避免硬编码带来的问题。

2. 常量配置

复制代码
const LLM_API_TOKEN = "大模型API认证信息";
const LLM_API_KEY = "大模型API认证信息";
const LLM_BASE_URL = "https://ai-hub-temp.baicizhan.com/temp_llm";
const DEFAULT_RES_TYPE = "online";
const ASR_BASE_URL = "https://ai-hub-temp.baicizhan.com/temp_asr/short/aliyun";
  • LLM_API_TOKENLLM_API_KEY 是调用大语言模型 API 所需的认证信息。
  • LLM_BASE_URL 是大语言模型 API 的基础 URL(目前已接入,根据实际接入的替换即可)。
  • DEFAULT_RES_TYPE 是默认的结果返回类型。
  • ASR_BASE_URL 是语音识别 API 的基础 URL(同上)。

3. 模型配置与管理

复制代码
export interface LLMModelConfig {
  name: SupportLLM;
  url: string;
}

export const LLM_MODEL_CONFIG: LLMModelConfig[] = [
  // 多种模型配置
];

LLMModelConfig接口定义了每个大语言模型的名称和对应的 API 地址,LLM_MODEL_CONFIG数组则统一管理所有支持的模型配置。通过这种结构化的方式,后续如果需要新增或删除支持的模型,只需修改数组内容即可,代码扩展性强。

  1. 核心功能函数

大语言模型调用函数

复制代码
export function CallLLM(
  input: string,
  model: SupportLLM = SupportLLM.TONGYIQIANWEN
) {
  // 查找模型配置
  const modelConfig = LLM_MODEL_CONFIG.find((config) => config.name === model);
  if (!modelConfig) {
    throw new Error(`Unsupported LLM model: ${model}`);
  }
  return fetch(modelConfig.url, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      token: LLM_API_TOKEN,
      key: LLM_API_KEY,
      // 其他参数
      prompt: input,
    }),
  });
}

CallLLM函数接收用户输入文本和指定模型(默认为通义千问),通过fetch向对应模型的 API 发送 POST 请求,携带认证信息和用户输入,获取模型生成的内容。请求返回的 Promise 对象可通过.then()链式调用进行结果处理。

语音识别调用函数

复制代码
export function CallAsr(file: File, language: AsrLanguage = AsrLanguage.ZH_CN) {
  const formData = new FormData();
  formData.append("audio_file", file);
  // 添加认证和配置参数
  return fetch(ASR_BASE_URL, {
    method: "POST",
    body: formData,
  });
}

CallAsr函数接收音频文件和识别语言(默认为简体中文),通过FormData封装文件和请求参数,使用fetch向语音识别 API 发起请求,将音频转换为文字信息。

四、注意事项与优化方向

  1. 安全防护:实际项目中需将 API 密钥等敏感信息配置在后端或环境变量中,避免浏览器端暴露。
  2. 错误处理:当前代码仅做基础错误抛出,建议增加更细致的错误码解析(如权限问题、内容违规等),提升用户反馈的友好性。
  3. 性能优化:对于大语言模型的流式响应,可扩展代码实现实时数据更新,减少用户等待感。

通过这一 AI 工具类,开发者能够快速将强大的大语言模型和语音识别能力集成到前端应用中,为用户带来智能化的交互体验。随着 AI 技术的不断发展,后续还可以基于此框架扩展更多功能,如多模态交互、个性化模型定制等,开启更多创新可能。

相关推荐
猿小猴子2 分钟前
主流 AI IDE 之一的 OpenCode 介绍
ide·人工智能·ai·opencode
一个处女座的程序猿3 分钟前
AGI之Multi-Agent之Moltbook:《The Anatomy of the Moltbook Social Graph》翻译与解读
人工智能·microsoft·multi-agent·moltbook
hans汉斯3 分钟前
国产生成式人工智能解决物理问题能力研究——以“智谱AI”、“讯飞星火认知大模型”、“天工”、“360智脑”、“文心一言”为例
大数据·人工智能·算法·aigc·文心一言·汉斯出版社·天工
这是个栗子4 分钟前
AI辅助编程(一) - ChatGPT
前端·vue.js·人工智能·chatgpt
发哥来了5 分钟前
主流AI视频生成商用方案选型评测:关键能力与成本效益分析
大数据·人工智能·音视频
机器学习之心8 分钟前
金融时间序列预测全流程框架:从SHAP特征选择到智能算法优化深度学习预测模型,核心三章实验已完成,尚未发表,期待有缘人!
人工智能·深度学习·金融
CoderJia程序员甲10 分钟前
GitHub 热榜项目 - 日榜(2026-02-01)
人工智能·ai·大模型·github·ai教程
渡我白衣13 分钟前
【MySQL基础】(2):数据库基础概念
数据库·人工智能·深度学习·神经网络·mysql·机器学习·自然语言处理
新缸中之脑15 分钟前
将CodeBERTa压缩到10KB以下
人工智能
Faker66363aaa16 分钟前
鲶鱼目标检测与识别:基于fovea_r50_fpn_gn-head-align模型的COCO数据集训练_1
人工智能·目标检测·计算机视觉