LightRAG: 轻量级检索增强生成系统

2 天前
 suke119

试了下LightRAG 本地化 rag 中的翘楚,效果非常不错,搭配 ollama 。 如图随便找个文档,示例是从裁判文书下载的文档

快速上手的话直接 pip 安装即可:

pip install lightrag-hku

注意事项

ollama demo

import os
import logging
from lightrag import LightRAG, QueryParam
from lightrag.llm import ollama_model_complete, ollama_embedding
from lightrag.utils import EmbeddingFunc

# 设置日志级别
logging.basicConfig(format="%(levelname)s:%(message)s", level=logging.INFO)

# 创建工作目录
WORKING_DIR = "./my_rag_project"
os.makedirs(WORKING_DIR, exist_ok=True)

# 初始化 LightRAG,使用 Ollama 模型
rag = LightRAG(
    working_dir=WORKING_DIR,
    llm_model_func=ollama_model_complete,
    llm_model_name="qwen2:7b",  # 使用 qwen 模型
    llm_model_max_async=4,  # 最大并发请求数
    llm_model_max_token_size=32768,
    llm_model_kwargs={
        "host": "http://localhost:11434",  # Ollama 服务地址
        "options": {"num_ctx": 32768}  # 上下文窗口大小
    },
    embedding_func=EmbeddingFunc(
        embedding_dim=768,
        max_token_size=8192,
        func=lambda texts: ollama_embedding(
            texts, 
            embed_model="nomic-embed-text",  # 使用 nomic-embed-text 作为嵌入模型
            host="http://localhost:11434"
        ),
    ),
)

# 插入文档并进行查询
documents = [
    "人工智能(AI)是计算机科学的一个分支,致力于开发能模拟人类智能的系统。",
    "机器学习是 AI 的核心技术之一,它使计算机能够从数中学习和改进。",
    "深度学习是机器学习的一个子领域,使用多层神经网络处理复杂问题。"
]

# 插入文档
rag.insert(documents)

# 使用不同的检索模式进行查询
modes = ["naive", "local", "global", "hybrid"]
query = "请解释 AI 、机器学习和深度学习之间的关系"

for mode in modes:
    print(f"\n 使用{mode}模式的查询结果:")
    result = rag.query(query, param=QueryParam(mode=mode))
    print(result)

全文内容

https://stable-learn.com/zh/lightrag-introduction/

1076 次点击
所在节点    Python
4 条回复
mdb
2 天前
问下大佬,LightRAG 对聊天记录之类的数据支持怎么样,比如我想把所有的聊天记录扔给它,然后让它总结这几年的话题,不知道能不能实现
suke119
2 天前
要改下提示词,prompt py 里面 按照聊天记录需要总结提取的修改下
suke119
2 天前
@mdb 要改下提示词,prompt py 里面 按照聊天记录需要总结提取的修改下
mcgill
2 天前
m1 的 macmini 跑个 ollama 的本地真是等死我了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1094149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX