AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LlamaIndex ,10分钟快速构建基于本地 Markdown 文件的 QA 问答知识库工具
发布日期:2024-04-12 23:05:05 浏览次数: 2177 来源:牛爷儿


引言

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

  • 数据集成:支持 160 多种数据源,包括非结构化、半结构化和结构化数据。可以无缝地将各种数据源集成到 LLM 应用中

  • 索引:存储和索引数据,以满足不同的使用场景。LlamaIndex 可以与 40 多种向量存储、文档存储、图形存储和 SQL 数据库进行集成

  • 查询:编排从prompt chain,RAG,agent的工作流

  • 评估:提供全面的模块套件,用于评估 LLM 应用的性能

实现方式

我们基于本地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)

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




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询