微软最新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

相关推荐
z千鑫4 小时前
【数据分析】利用Python+AI+工作流实现自动化数据分析-全流程讲解
人工智能·python·ai·数据分析·自动化·ai编程·ai工作流
DA树聚10 小时前
大语言模型:AI 时代的文字计算器?
人工智能·程序人生·ai·语言模型·chatgpt·产品经理·easyui
营赢盈英12 小时前
How to handle the response OpenAI Text-To-Speech API in Node.js?
ai·node.js·openai·openai api·response
猿大师办公助手17 小时前
猿大师办公助手在线编辑Office/wps网页组件COM加载项启用说明
vue.js·chrome·microsoft·word
陈敬雷-充电了么-CEO兼CTO1 天前
自然语言处理系列六十九》搜索引擎项目实战》搜索框架技术选型
人工智能·gpt·搜索引擎·ai·自然语言处理·chatgpt·aigc
DisonTangor1 天前
微软面向所有用户推出 Xbox Game Pass Standard
microsoft·xbox
FutureUniant2 天前
GitHub每日最火火火项目(9.11)
人工智能·计算机视觉·ai·github·音视频
爱炸薯条的小朋友2 天前
使用C#自动创建windows任务计划程序,并使用微软API文档教程
windows·microsoft·c#
码农阿豪2 天前
FAT32文件系统详细分析 (格式化SD nandSD卡)
microsoft
健忘的派大星2 天前
报告 | 中国信通院《大模型落地路线图研究报告(2024年)》(附下载)
人工智能·ai·语言模型·pdf·大模型·llm·agi