work hard work smart

专注于AI+Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

AgentScope学习笔记 Rag

Posted on 2026-09-26 20:35  work hard work smart  阅读(2)  评论(0)    收藏  举报

AgentScope 1.0 Rag

public class LocalRagDemo {
    public static void main(String[] args) throws IOException {
        String apiKey = "sk-8980de1b287d490eb259d2f70eebeab4";

        // 1. 起 Embedding + 内存向量库
        EmbeddingModel embed = DashScopeTextEmbedding.builder()
                .apiKey(apiKey).modelName("text-embedding-v3").dimensions(1024).build();
        InMemoryStore store = InMemoryStore.builder().dimensions(1024).build();
        SimpleKnowledge knowledge = SimpleKnowledge.builder()
                .embeddingModel(embed).embeddingStore(store).build();

        // 2. 灌数据(PDF)
        PDFReader reader = new PDFReader();
        //File file = new File("/Users/hollis/LLM课程视频/RAG材料/Java八股文介绍.pdf");
        List<Document> docs = reader.read(ReaderInput.fromPath("D:\\ai\\Java八股.pdf")).block();
        knowledge.addDocuments(docs).block();

        // 3. 起 Agent,自动注入
        ReActAgent agent = ReActAgent.builder()
                .name("FAQBot")
                .sysPrompt("基于检索到的知识回答用户问题;若没找到请明确告知。")
                .model(DashScopeChatModel.builder()
                        .apiKey(apiKey)
                        .modelName("qwen-max")
                        .build())
                .knowledge(knowledge)
                .ragMode(RAGMode.GENERIC)     // 关键:自动 Hook
                .build();

        Msg msg = Msg.builder()
                .role(MsgRole.USER)
                .content(TextBlock.builder().text("这份八股文有哪些内容").build())
                .build();
        System.out.println(agent.call(msg).block().getTextContent());
    }
}