安装 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)
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐