本系列文章记录“智能提醒助理”wx公众号 建设历程。
一、需求出发点
想在现有的 “智能提醒助理” 功能中增加 智能提醒,想法是 通过用户设置的定时提醒指令,再提醒的同时,根据指令生成内容,展示给用户。
产品设计入下图所示:


二、实现路径分析
该方案最关键的在于一个大模型的支持,目前市场上比较火热的大模型有:
豆包、月之暗面-kimi、智谱AI等。

可以选择 同一模型 不同版本进行体验,也可以 对比多家模型进行体验。


三、最终方案
主要考虑指标:
1、扩展性:可以平滑升级模型版本,享受最新模型能力。
2、费用:费用平稳,不要波动。
3、接入难度:开发难度。
4、响应速度:避免超时。
5、参数设置:可设置场景、输出字数等。
收费方式为 按照token数量收费,当前每个模型 有50万的免费额度。超过后收费。

综合考虑 选择了 豆包 Doubao-lite-32k
四、调用方式
通过token方式,使用http调用即可。
先上代码:
public class ModelUtil {
public static String chat(String question) throws Exception {
// 申请地址:https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint/create?customModelId=
String apiKey = "";
String modelUrl = "https://ark.cn-beijing.volces.com/api/v3/chat/completions";
String json = "{"model": "ep-20240808195340-g8rct","max_tokens": 2000,"messages": [{"role": "system","content": "%s"},{"role": "user","content": "%s"}]}";
log.info("请求大模型question:{}",question);
String param = String.format(json, "你是AI助理小Z,是一个优秀的助理,知性,优雅,言简意赅。", "请简要的回答:"+question);
HashMap header = new HashMap();
header.put("Content-Type", "application/json");
header.put("Connection", "keep-alive");
header.put("Authorization", "Bearer "+apiKey);
String res = CreditHttpUtil.post(modelUrl,header,param);
// 返回结果示例
// String res = "{"choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"我有很多功能,比如:n- **回答问题**:我可以回答各种问题,包括历史、科学、技术、文化、娱乐等方面的问题。n- **提供信息**:我可以提供各种信息,如新闻、天气预报、地图、航班信息等。n- **语言翻译**:我可以翻译多种语言,包括英语、法语、德语、西班牙语、中文等。n- **文本生成**:我可以生成文本,如文章、故事、诗歌等。n- **对话交流**:我可以与你进行对话,理解你的意图,提供相关的回答和建议。nn你可以通过输入文本与我进行交互,我会尽力理解你的需求并提供帮助。请问你需要我帮你做什么?","role":"assistant"}}],"created":1723127718,"id":"0217231277163423d5a16fe195c821d80bfb0ac15cb4b72f19de4","model":"doubao-lite-32k-240428","object":"chat.completion","usage":{"completion_tokens":159,"prompt_tokens":22,"total_tokens":181}}";
if(StringUtils.isNotEmpty(res)){
// 提取返回结果
res = res.replaceAll(".*{"content":"(.*)","role":"assistant".*$", "$1");
// 替换换行
res = res.replaceAll("\n", "rn");
}
log.info("字节大模型调用 返回结果===>{}", res);
return res;
}
}
单元测试:
@Test
public void testChat() throws Exception {
long start = System.currentTimeMillis();
String content = ModelUtil.chat("你有哪些功能?");
log.debug("字节大模型调用 返回结果,耗时:{},===>{}", System.currentTimeMillis() - start,content);
Thread.sleep(6000);
long start1 = System.currentTimeMillis();
String content1 = ModelUtil.chat("你今年多大?");
log.debug("字节大模型调用 返回结果,耗时:{},===>{}", System.currentTimeMillis() - start1,content1);
Thread.sleep(6000);
long start2 = System.currentTimeMillis();
String content2 = ModelUtil.chat("可以创建一个提醒吗?");
log.debug("字节大模型调用 返回结果,耗时:{},===>{}", System.currentTimeMillis() - start2,content2);
Thread.sleep(8000);
long start3 = System.currentTimeMillis();
String content3 = ModelUtil.chat("推进基本书?");
log.debug("字节大模型调用 返回结果,耗时:{},===>{}", System.currentTimeMillis() - start3,content3);
}

文章来源于互联网:智能提醒助理系列-AIGC模型选型以及如何调用
相关推荐: 新手指南:快速上手 Stable Diffusion x4 Upscaler 模型
新手指南:快速上手 Stable Diffusion x4 Upscaler 模型 stable-diffusion-x4-upscaler 项目地址: https://gitcode.com/hf_mirrors/ai-gitcode/stable-diff…
5bei.cn大模型教程网










