当前位置:AIGC资讯 > AIGC > 正文

智能提醒助理系列-AIGC模型选型以及如何调用

        本系列文章记录“智能提醒助理”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<String,String> 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- **对话交流**:我可以与你进行对话,理解你的意图,提供相关的回答和建议。\\n\\n你可以通过输入文本与我进行交互,我会尽力理解你的需求并提供帮助。请问你需要我帮你做什么?\",\"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", "\r\n");
    }
    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);

  }

总结

**“智能提醒助理”wx公众号建设历程总结**
本文详细记录了“智能提醒助理”wx公众号在增加智能提醒功能方面的建设历程。通过以下几个关键阶段,成功实现了用户设置定时提醒指令,并能自动生成内容展示给用户的功能。
**一、需求起点**
- **目标**:在现有“智能提醒助理”功能基础上增加智能提醒功能,允许用户设置定时提醒,并根据指令生成内容展示。
- **产品设计**:构建了一个智能化的提醒系统,旨在提升用户体验,使其更加高效和个性化。
**二、实现路径探索**
- **市场调研**:考察了市场上流行的大模型,如豆包、月之暗面-kimi、智谱AI等,以寻找最适合的技术支持。
- **选择标准**:综合评估不同大模型在**扩展性**、**费用稳定性**、**接入难度**、**响应速度**以及**参数设置灵活性**等方面的表现。
**三、方案选定**
- **入选模型**:最终选定豆包模型(Doubao-lite-32k),基于其出色的综合性能及符合项目需求的特点。
- **费用模式**:采用按token数量收费的模式,每个模型初期提供50万免费额度,超出后需收费,确保成本控制与服务质量。
**四、实现与测试**
- **调用方式**:通过HTTP请求,使用token认证机制与大模型进行交互,实现智能提醒内容的生成。
- **代码实现**:详细展示了通过HTTP请求调用大模型的Java代码示例,包括请求地址设置、请求参数构建、HTTP POST请求的发起,以及返回结果的解析和处理。
- **单元测试**:通过编写单元测试方法,对“智能提醒助理”的生成内容进行多次测试,验证了其在不同指令下的响应速度和输出结果的质量。测试结果表明,系统能够迅速、准确地根据用户指令生成所需的内容,满足项目需求。
**总结**:
本次“智能提醒助理”wx公众号建设围绕用户实际需求展开,通过市场调研和大模型选型,成功实现了智能提醒功能。系统在扩展性、费用稳定、接入难度、响应速度及参数设置灵活性等方面均达到预定目标。未来,将继续优化和完善该系统,为用户提供更加便捷、高效的智能提醒服务。

更新时间 2024-09-16