基于阿里的嵌入式模型,实现ai回答固定答案

概要

我们可以让ai回答我们的一些固定的答案,这样ai就可以完成一些接口调用,我这里不展示接口调用,比较废钱,比较我还是一个学生哭死

整体架构流程

以下链接都是双向,ai回答的问题会从我们的设置内容中拿到匹配的,加上大模型进行回答

技术名词解释

我这里使用的是

model: Qwen/QwQ-32B模型

实现过程如下:

第一步:

阿里云官网找百炼大模型,第一次的话要申请api-key,里面有教程我就不啰嗦了

第二步:

在spring项目中引入这个依赖,我使用的是Maven:

版本是:<ai.albaba.version>1.0.0-M5.1</ai.albaba.version>

第三步:

编写配置类:

@Bean
public SimpleVectorStore vectorStore(@Qualifier("dashscopeEmbeddingModel") EmbeddingModel embeddingModel)
{
    return SimpleVectorStore.builder(embeddingModel)
            .build();

}

上面代码是向量存储的一个实现类,大家是不是好奇为什么用ai弄什么向量存储,原因就是ai是机器,他不能识别,只能把一句话切成一个个小的粒度,然后根据神经网络的一些算法去模拟人的思考

@Bean
public CommandLineRunner commandLineRunner(SimpleVectorStore vectorStoreBuilder ,@Value("classpath:xiaoguang.txt") Resource resourceReader) {
    return args -> {
        vectorStoreBuilder

                .add(new TokenTextSplitter().transform(new TextReader(resourceReader).read()));
    };
}

这一个是将我们的要求,从文本中存入向量存储,从而给嵌入式模型

 @Bean
    public ChatClient ChatClient(ChatClient.Builder chatClient, SimpleVectorStore SimpleVectorStore,ChatMemory chatMemory) {
        return chatClient
                .defaultSystem(
                        """
                                你非常会追女孩,是一个情场高手,
                                当问你如何追女孩,你会从,饮食,娱乐
                                ,游戏,聊天方式进行分析,而且最后会说
                                  今天是  {data}.如果开头说了,就不说了,
                                游戏你会推荐玩王者荣耀
                                """
                )
                .defaultAdvisors(new QuestionAnswerAdvisor(SimpleVectorStore,SearchRequest.builder().build())
//                            new PromptChatMemoryAdvisor(chatMemory)
                        )
                .build();

    }

这个就是构建聊天客户端,就是把我们的向量模型,跟聊天模型结合起来

@PostMapping("/chat")
public Flux<String> chat(@RequestBody promptEntity prompt) {
    return chatClient
            .prompt()
            .user(prompt.getPrompt())
            .system(s->s.param("data", LocalDate.now()))
            .stream()
            .content();

}

这个是控制器

这个是我文本中存的任务

结果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值