微软最新AI:GraphRAG+Chainlit实现跨文档智能检索分析打造私人AI助手

文章目录


前言

本月初,微软发布最强 RAG 知识库开源方案 GraphRAG,项目上线即爆火,现在星标量已经达到 10.9 k。

https://github.com/microsoft/graphrag


一、GraphRAG安装

1.创建一个新项目

建议使用Python3.11环境

2.安装GraphRAG

python 复制代码
pip install graphrag

3.初始化

python 复制代码
mkdir -p ./ragtest/input
curl https://raw.githubusercontent.com/win4r/mytest/main/book.txt > ./ragtest/input/book.txt
python3 -m graphrag.index --init --root ./ragtest

4.配置相关文件

将API_KEY改成chatgpt4的api

5.执行并构建索引

python 复制代码
python3 -m graphrag.index --root ./ragtest

二、Chainlit安装

1.安装Chainlit包

python 复制代码
pip3 install chainlit

2.创建app.py

python 复制代码
import chainlit as cl
import subprocess
import shlex


@cl.on_chat_start
def start():
    cl.user_session.set("history", [])


@cl.on_message
async def main(message: cl.Message):
    history = cl.user_session.get("history")

    # 从 Message 对象中提取文本内容
    query = message.content

    # 构建命令
    cmd = [
        "python3", "-m", "graphrag.query",
        "--root", "./ragtest",
        "--method", "local",
    ]

    # 安全地添加查询到命令中
    cmd.append(shlex.quote(query))

    # 运行命令并捕获输出
    try:
        result = subprocess.run(cmd, capture_output=True, text=True, check=True)
        output = result.stdout

        # 提取 "SUCCESS: Local Search Response:" 之后的内容
        response = output.split("SUCCESS: Local Search Response:", 1)[-1].strip()

        history.append((query, response))
        cl.user_session.set("history", history)

        await cl.Message(content=response).send()
    except subprocess.CalledProcessError as e:
        error_message = f"An error occurred: {e.stderr}"
        await cl.Message(content=error_message).send()


if __name__ == "__main__":
    cl.run()

3.运行

python 复制代码
chainlit run app.py

学习资料

http://t.csdnimg.cn/Wy8UJ

https://www.bilibili.com/video/BV1EE4m1R7wn?vd_source=a19eed2fa1f675b1a40c1824b67c7141

https://blog.stoeng.site/20240704.html

https://docs.dbgpt.site/docs/latest/cookbook/rag/graph_rag_app_develop/?spm=ata.21736010.0.0.635d79f3pT08lx

相关推荐
VIP_CQCRE5 小时前
Claude 接入 Luma MCP:一句话让 AI 生成电影感短视频
ai·claude·mcp·luma·acedatacloud
Ai思想家5 小时前
私有化部署的服务器选型与容量规划
人工智能·安全·ai
aiqianji6 小时前
一键生成AI短篇小说的写作软件有哪些?
ai
阿文和她的Key10 小时前
DeepSeek API 涨价背后的三层供给瓶颈
人工智能·ai
鬼手点金11 小时前
Hermes Agent vs OpenCode 异同
ai·ai agent·vibecoding·codingagent·opencode·hermes
xcLeigh11 小时前
编程语言的 AI 友好度排名:Python、JavaScript、TypeScript 谁更适合 AI 辅助
javascript·人工智能·python·ai·typescript·ai编程
starzy199012 小时前
Soloop 智能视频创作全流程实战指南
数据库·microsoft·音视频
wang_yb13 小时前
用递归消除法优化“特征子集”
ai·databook
维核科技13 小时前
Llama 3.3 vs Qwen2.5 vs DeepSeek-R1
ai·私有化部署·llama·大模型部署·私有化大模型部署
lifallen13 小时前
Emdash 拆解:多 Agent 并行开发桌面端的实现思路,兼谈 ACP 与 A2A
人工智能·学习·ai·ai编程