admin管理员组文章数量:1033928
用DeepSeek在小程序开发中的别样用法
文章说明
文章通过对我这段时间通过DeepSeek开发的汉字查询等知识工具类小程序的过程进行整理总结,希望能给大家带来一些收获和启发
主要包括三部分:
- 首先是对小程序功能进行简单说明
- 然后是使用DeepSeek实现功能的案例,主要包括两个案例:拼音查询汉字功能开发、语音输入查询汉字功能开发
- 最后是作为这么多年开发来说,自从有了DeepSeek对我开发方式改变和启发
功能概述
随着AI的越来越成熟,以前很多需要大量时间、大量人力做的事情现在都变得很简单;而我们的学习过程总是从0开始,比如:汉字的学习、常识的学习;虽然AI已经拥有了所有汉字写法、读音、含义的所有知识,但是对于现在的小孩子来说,他们还是需要一个字、一个拼音的学习,这个过程并不能省略,所以就想到能不能用AI做一些小工具来帮助其学习,然后就有了利用闲暇开发一款知识工具小程序的想法。
工具的功能主要包括这样几部分:
- 常识卡片,这部分包括大量的常识数据,主要用于小孩子启蒙学习、认识我们周围的食物
- 学习工具,现在主要是汉字工具,目前包括:通过拼音查询汉字、通过手写查询汉字、通过语音查询汉字、还有一个小黑板 可以让宝爸宝妈用手机进行演示和讲解
- 趣味挑战,这部分是一些汉字和数字游戏,目前包括:成语接龙、数独、四则运算练习
效果如下图所示:
在开发的时候都或多或少的用到了AI工具,汉字工具使用了大量的腾讯云提供的DeepSeek大模型,当然还有很多腾讯云的其他工具,比如:手写识别、语音识别等。
接下来会主要说说在开发汉字查询功能过程中,对大模型的多样化使用,会发现对大模型的使用不限于对话的方式
使用案例1
拼音查询汉字功能开发
界面如上所示,通过点击拼音首字母+对应首字母下的拼音来查询汉字,并找到要查询的汉字来获得汉字的读音、含义、组词、造句等信息
这部分的难点主要还是在汉字库的构建,以及可选拼音列表的生成;搜索了现有的汉字库,发现都不太适合该功能,因为组词、造句这些数据在大部分字典上并没有那么完整,而是在字含义的解释上,所以需要自己构建这部分内容,而如果人工对整个汉字进行组词、造句的构建恐怕还是需要不少时间和工作量;于是就想到了通过ai帮忙。
最先想到是用市面上的对话式AI程序进行构建,再尝试了几个app之后放弃,主要存在这几个问题
- 对话式AI对输入和输出的token有一定限制,并不能一次性生成
- 对于1万+的汉字来说,多次输入也不太可能
最后想到就是能不能使用腾讯云提供的AI接口进行批量处理,于是就进来找了下云产品,开通之后居然还赠送了10w的token,同时可以并发5个请求,于是用js脚本进行并发请求获取字典数据,单挑数据请求差不多10秒左右,总共1.6w的汉字数据差不多用了 10个小时全部完成,整体体验下来还是挺不错的
代码如下所示
这里使用的openai的兼容接口,还可以使用腾讯云的sdk进行使用
代码语言:javascript代码运行次数:0运行复制const getWordExplanation = async (word) => {
try {
const completion = await openai.chatpletions.create({
model: CONFIG.openai.model,
messages: [
{
role: "system",
content: `你是一个中文语言专家,请用JSON格式解释汉字,包含以下字段:
character: 汉字
pinyin: 拼音(不带声调)
symbol: 拼音(带声调)
meaning: 含义数组,每个元素包含:
- property: 词性
- definition: 该词性下的含义
group: 包含该字的常用词组(数组)
sentence: 包含该字的例句(数组)
请确保返回的是合法的JSON格式。`
},
{
role: "user",
content: `请解释汉字:"${word.character}"(拼音:${word.pinyin})`
}
],
temperature: CONFIG.openai.temperature,
max_tokens: CONFIG.openai.maxTokens
});
const response = completion.choices[0].message.content;
try {
const cleanResponse = response.replace(/^```json\n?/, '').replace(/\n?```$/, '').trim();
const parsedResponse = JSON.parse(cleanResponse);
// 确保meaning是数组格式
if (typeof parsedResponse.meaning === 'string') {
parsedResponse.meaning = [{
property: parsedResponse.property || '未知',
definition: parsedResponse.meaning
}];
}
return parsedResponse;
} catch (e) {
console.error(`Error parsing JSON for word ${word.character}:`, e);
// 如果解析失败,创建默认数据
const defaultWordData = createDefaultWordData(word.character, word.pinyin);
defaultWordData.error = true;
return defaultWordData;
}
} catch (error) {
console.error(`Error getting explanation for word ${word.character}:`, error);
// 如果API调用失败,创建默认数据
const defaultWordData = createDefaultWordData(word.character, word.pinyin);
defaultWordData.error = true;
return defaultWordData;
}
};
使用案例2
语音输入查询汉字功能开发
界面如上所示,通过点击下面的语音输入按钮进行语音输入,输入的内容其实有很多种,比如:
- 中国的国字怎么写?
- 西瓜
- 三个木是个什么字?
看上去还是挺智能的,不过实际都是调用的腾讯云提供的接口
- 腾讯云提供的语音识别的接口
- 腾讯云提供的deepseek v3的对话接口
- 根据返回的汉字查询获得对应汉字数据
- 然后显示在小程序上 功能实现非常简单,基本上也满足了小孩子对汉字查询的功能,确实比翻字典来的快了很多
这是微信云函数中的脚本,这里使用的是腾讯云的sdk,反正都非常方便
代码语言:javascript代码运行次数:0运行复制// 云函数入口函数
exports.main = async (event, context) => {
const { audioData } = event
// console.log("audioData", audioData);
try {
// 创建语音识别客户端
const client = new AsrClient(clientAsrConfig)
// 调用语音识别接口
const params = {
EngSerViceType: "16k_zh", // 16k采样率中文语音识别
SourceType: 1,
VoiceFormat: "mp3",
Data: audioData,
DataLen: audioData.length
}
const result = await client.SentenceRecognition(params)
console.log("result", result);
if (!result || !result.Result) {
return {
success: false,
error: '语音识别失败'
}
}
// 调用腾讯云 DeepSeek 接口获取汉字
const recognizedText = result.Result
const LkeapClient = tencentcloud.lkeap.v20240522.Client;
const deepseekClient = new LkeapClient(clientDeepseekConfig)
const deepseekParams = {
Messages: [
{
Role: "system",
Content: "你是一个汉字识别专家,请分析以下语音识别结果,如果是在询问某个汉字的写法,请直接返回该汉字。如果不是,请将结果转换为汉字。最多返回4个汉字。"
},
{
Role: "user",
Content: recognizedText
}
],
Model: "deepseek-v3-0324"
}
const deepseekResult = await deepseekClient.ChatCompletions(deepseekParams)
console.log("deepseekResult", deepseekResult);
if (!deepseekResult || !deepseekResult.Choices) {
return {
success: false,
error: '汉字转换失败'
}
}
const characters = deepseekResult.Choices[0].Message.Content.split('')
console.log("characters", characters);
// 查询数据库获取汉字详情
const wordPromises = characters.map(char =>
charactersCollection.where({
character: char
}).get()
)
const wordResults = await Promise.all(wordPromises)
const matchedCharacters = wordResults
.filter(result => result.data && result.data.length > 0)
.map(result => result.data[0])
console.log("matchedCharacters", matchedCharacters);
return {
success: true,
data: {
recognizedText,
characters: matchedCharacters
}
}
} catch (err) {
console.error('Error:', err)
return {
success: false,
error: err.message || '处理失败'
}
}
}
沉淀总结
本次小程序开发过程加入了AI接口的接入之后,对于以前看上去很智能的无法实现的功能可以轻松简单的实现了,搭配通讯云的其他模型和api能够实现很多非常常用的功能;再搭配上微信小程序的轻量前端,个人觉得对于个人开发者是友好的,同时对于想做产品人来说能够更快捷方便的验证自己的想法了。
希望您能喜欢,再上几张其他趣味挑战的截图
用DeepSeek在小程序开发中的别样用法
文章说明
文章通过对我这段时间通过DeepSeek开发的汉字查询等知识工具类小程序的过程进行整理总结,希望能给大家带来一些收获和启发
主要包括三部分:
- 首先是对小程序功能进行简单说明
- 然后是使用DeepSeek实现功能的案例,主要包括两个案例:拼音查询汉字功能开发、语音输入查询汉字功能开发
- 最后是作为这么多年开发来说,自从有了DeepSeek对我开发方式改变和启发
功能概述
随着AI的越来越成熟,以前很多需要大量时间、大量人力做的事情现在都变得很简单;而我们的学习过程总是从0开始,比如:汉字的学习、常识的学习;虽然AI已经拥有了所有汉字写法、读音、含义的所有知识,但是对于现在的小孩子来说,他们还是需要一个字、一个拼音的学习,这个过程并不能省略,所以就想到能不能用AI做一些小工具来帮助其学习,然后就有了利用闲暇开发一款知识工具小程序的想法。
工具的功能主要包括这样几部分:
- 常识卡片,这部分包括大量的常识数据,主要用于小孩子启蒙学习、认识我们周围的食物
- 学习工具,现在主要是汉字工具,目前包括:通过拼音查询汉字、通过手写查询汉字、通过语音查询汉字、还有一个小黑板 可以让宝爸宝妈用手机进行演示和讲解
- 趣味挑战,这部分是一些汉字和数字游戏,目前包括:成语接龙、数独、四则运算练习
效果如下图所示:
在开发的时候都或多或少的用到了AI工具,汉字工具使用了大量的腾讯云提供的DeepSeek大模型,当然还有很多腾讯云的其他工具,比如:手写识别、语音识别等。
接下来会主要说说在开发汉字查询功能过程中,对大模型的多样化使用,会发现对大模型的使用不限于对话的方式
使用案例1
拼音查询汉字功能开发
界面如上所示,通过点击拼音首字母+对应首字母下的拼音来查询汉字,并找到要查询的汉字来获得汉字的读音、含义、组词、造句等信息
这部分的难点主要还是在汉字库的构建,以及可选拼音列表的生成;搜索了现有的汉字库,发现都不太适合该功能,因为组词、造句这些数据在大部分字典上并没有那么完整,而是在字含义的解释上,所以需要自己构建这部分内容,而如果人工对整个汉字进行组词、造句的构建恐怕还是需要不少时间和工作量;于是就想到了通过ai帮忙。
最先想到是用市面上的对话式AI程序进行构建,再尝试了几个app之后放弃,主要存在这几个问题
- 对话式AI对输入和输出的token有一定限制,并不能一次性生成
- 对于1万+的汉字来说,多次输入也不太可能
最后想到就是能不能使用腾讯云提供的AI接口进行批量处理,于是就进来找了下云产品,开通之后居然还赠送了10w的token,同时可以并发5个请求,于是用js脚本进行并发请求获取字典数据,单挑数据请求差不多10秒左右,总共1.6w的汉字数据差不多用了 10个小时全部完成,整体体验下来还是挺不错的
代码如下所示
这里使用的openai的兼容接口,还可以使用腾讯云的sdk进行使用
代码语言:javascript代码运行次数:0运行复制const getWordExplanation = async (word) => {
try {
const completion = await openai.chatpletions.create({
model: CONFIG.openai.model,
messages: [
{
role: "system",
content: `你是一个中文语言专家,请用JSON格式解释汉字,包含以下字段:
character: 汉字
pinyin: 拼音(不带声调)
symbol: 拼音(带声调)
meaning: 含义数组,每个元素包含:
- property: 词性
- definition: 该词性下的含义
group: 包含该字的常用词组(数组)
sentence: 包含该字的例句(数组)
请确保返回的是合法的JSON格式。`
},
{
role: "user",
content: `请解释汉字:"${word.character}"(拼音:${word.pinyin})`
}
],
temperature: CONFIG.openai.temperature,
max_tokens: CONFIG.openai.maxTokens
});
const response = completion.choices[0].message.content;
try {
const cleanResponse = response.replace(/^```json\n?/, '').replace(/\n?```$/, '').trim();
const parsedResponse = JSON.parse(cleanResponse);
// 确保meaning是数组格式
if (typeof parsedResponse.meaning === 'string') {
parsedResponse.meaning = [{
property: parsedResponse.property || '未知',
definition: parsedResponse.meaning
}];
}
return parsedResponse;
} catch (e) {
console.error(`Error parsing JSON for word ${word.character}:`, e);
// 如果解析失败,创建默认数据
const defaultWordData = createDefaultWordData(word.character, word.pinyin);
defaultWordData.error = true;
return defaultWordData;
}
} catch (error) {
console.error(`Error getting explanation for word ${word.character}:`, error);
// 如果API调用失败,创建默认数据
const defaultWordData = createDefaultWordData(word.character, word.pinyin);
defaultWordData.error = true;
return defaultWordData;
}
};
使用案例2
语音输入查询汉字功能开发
界面如上所示,通过点击下面的语音输入按钮进行语音输入,输入的内容其实有很多种,比如:
- 中国的国字怎么写?
- 西瓜
- 三个木是个什么字?
看上去还是挺智能的,不过实际都是调用的腾讯云提供的接口
- 腾讯云提供的语音识别的接口
- 腾讯云提供的deepseek v3的对话接口
- 根据返回的汉字查询获得对应汉字数据
- 然后显示在小程序上 功能实现非常简单,基本上也满足了小孩子对汉字查询的功能,确实比翻字典来的快了很多
这是微信云函数中的脚本,这里使用的是腾讯云的sdk,反正都非常方便
代码语言:javascript代码运行次数:0运行复制// 云函数入口函数
exports.main = async (event, context) => {
const { audioData } = event
// console.log("audioData", audioData);
try {
// 创建语音识别客户端
const client = new AsrClient(clientAsrConfig)
// 调用语音识别接口
const params = {
EngSerViceType: "16k_zh", // 16k采样率中文语音识别
SourceType: 1,
VoiceFormat: "mp3",
Data: audioData,
DataLen: audioData.length
}
const result = await client.SentenceRecognition(params)
console.log("result", result);
if (!result || !result.Result) {
return {
success: false,
error: '语音识别失败'
}
}
// 调用腾讯云 DeepSeek 接口获取汉字
const recognizedText = result.Result
const LkeapClient = tencentcloud.lkeap.v20240522.Client;
const deepseekClient = new LkeapClient(clientDeepseekConfig)
const deepseekParams = {
Messages: [
{
Role: "system",
Content: "你是一个汉字识别专家,请分析以下语音识别结果,如果是在询问某个汉字的写法,请直接返回该汉字。如果不是,请将结果转换为汉字。最多返回4个汉字。"
},
{
Role: "user",
Content: recognizedText
}
],
Model: "deepseek-v3-0324"
}
const deepseekResult = await deepseekClient.ChatCompletions(deepseekParams)
console.log("deepseekResult", deepseekResult);
if (!deepseekResult || !deepseekResult.Choices) {
return {
success: false,
error: '汉字转换失败'
}
}
const characters = deepseekResult.Choices[0].Message.Content.split('')
console.log("characters", characters);
// 查询数据库获取汉字详情
const wordPromises = characters.map(char =>
charactersCollection.where({
character: char
}).get()
)
const wordResults = await Promise.all(wordPromises)
const matchedCharacters = wordResults
.filter(result => result.data && result.data.length > 0)
.map(result => result.data[0])
console.log("matchedCharacters", matchedCharacters);
return {
success: true,
data: {
recognizedText,
characters: matchedCharacters
}
}
} catch (err) {
console.error('Error:', err)
return {
success: false,
error: err.message || '处理失败'
}
}
}
沉淀总结
本次小程序开发过程加入了AI接口的接入之后,对于以前看上去很智能的无法实现的功能可以轻松简单的实现了,搭配通讯云的其他模型和api能够实现很多非常常用的功能;再搭配上微信小程序的轻量前端,个人觉得对于个人开发者是友好的,同时对于想做产品人来说能够更快捷方便的验证自己的想法了。
希望您能喜欢,再上几张其他趣味挑战的截图
本文标签: 用DeepSeek在小程序开发中的别样用法
版权声明:本文标题:用DeepSeek在小程序开发中的别样用法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1748104932a2253565.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论