LlamaIndex的使用
·
安装 LlamaIndex
pip install llama-index
准备文档
texts = [
"《三体》是刘慈欣创作的科幻小说,讲述了地球文明与三体文明的接触和冲突。",
"《红楼梦》是中国古典四大名著之一,作者一般认为是曹雪芹,描写了贾宝玉与林黛玉的爱情悲剧。",
"Python 是一种高级编程语言,语法简洁,广泛用于数据分析、人工智能和 Web 开发。"
]
创建索引
from llama_index import VectorStoreIndex, SimpleDirectoryReader
from llama_index.schema import Document
# 将文本转换为 Document 对象
documents = [Document(text=text) for text in texts]
# 创建向量索引(默认使用 OpenAI 的 embedding 模型)
index = VectorStoreIndex.from_documents(documents)
VectorStoreIndex 是 LlamaIndex 中最常用的索引类型,它会将文档切片并生成向量嵌入(embeddings),便于语义搜索。
进行问答查询
# 创建查询引擎
query_engine = index.as_query_engine()
# 提出问题(中文)
response = query_engine.query("《三体》是谁写的?")
# 打印回答
print(response.response)
完整代码示例
import os
from llama_index import VectorStoreIndex
from llama_index.schema import Document
# 设置 OpenAI API 密钥(可选,如果已设环境变量则无需此行)
os.environ["OPENAI_API_KEY"] = "你的API密钥"
# 准备中文文档
texts = [
"《三体》是刘慈欣创作的科幻小说,讲述了地球文明与三体文明的接触和冲突。",
"《红楼梦》是中国古典四大名著之一,作者一般认为是曹雪芹,描写了贾宝玉与林黛玉的爱情悲剧。",
"Python 是一种高级编程语言,语法简洁,广泛用于数据分析、人工智能和 Web 开发。"
]
# 转为 Document 列表
documents = [Document(text=t) for t in texts]
# 构建索引
index = VectorStoreIndex.from_documents(documents)
# 查询
query_engine = index.as_query_engine()
response = query_engine.query("《红楼梦》的作者是谁?")
print("回答:", response.response)
更多推荐


所有评论(0)