链载Ai

标题: LlamaIndex ,10分钟快速构建基于本地 Markdown 文件的 QA 问答知识库工具 [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: LlamaIndex ,10分钟快速构建基于本地 Markdown 文件的 QA 问答知识库工具

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;display: table;border-bottom: 2px solid rgb(15, 76, 129);color: rgb(63, 63, 63);visibility: visible;">引言

LlamaIndex,将企业数据转化为生产级别的 LLM 应用。它具有以下主要特点:

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">实现方式

我们基于本地Obisidian笔记软件,构建一个私有的QA知识库。Obsidian是一款markdown笔记软件,markdown文件完全本地化,完全自主可控。

# 安装依赖pip install llama_index pyvis
#导入包from llama_index import (ObsidianReader,#这个太赞了,可直接读obsidian文件 LLMPredictor, ServiceContext, KnowledgeGraphIndex,)
from llama_index.graph_stores import SimpleGraphStorefrom llama_index.storage.storage_context import StorageContextfrom llama_index.llms import OpenAI
filepath='/path/to/your/obsidian/vault'
#初始化contextuse_context = { "temperature": 0,"model":"选择一个model,huggingface上找一个就行", "chunk_size": 512}
documents = ObsidianReader(filepath).load_data()llm = OpenAI(temperature=use_context['temperature'], model=use_context['model'])service_context = ServiceContext.from_defaults(llm=llm, chunk_size=use_context['chunk_size'])
graph_store = SimpleGraphStore()storage_context = StorageContext.from_defaults(graph_store=graph_store)
#构建知识图谱indexindex = KnowledgeGraphIndex.from_documents( documents=documents, max_triplets_per_chunk=2, storage_context=storage_context, service_context=service_context, include_embeddings=True,)
#搞定,你可以实验一下跑的结果query="写一段提示词,可以跟你本地的markdown文件内容相关的问题"query_engine = index.as_query_engine( include_text=True, response_mode="tree_summarize", embedding_mode="hybrid", similarity_top_k=5,)
response = query_engine.query(query)

以上是一个简单的实现示例,实际应用中,可能需要根据情况进行调整和优化。








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5