3.6 KiB
Installing and Using PostgreSQL with LightRAG
This guide provides step-by-step instructions on setting up PostgreSQL for use with LightRAG, a tool designed to enhance large language model (LLM) performance using retrieval-augmented generation techniques.
Prerequisites
Before beginning this setup, ensure that you have administrative access to your server or local machine and can install software packages.
1. Install PostgreSQL
First, update your package list and install PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
Start the PostgreSQL service if it isn’t already running:
sudo systemctl start postgresql
Ensure that PostgreSQL starts on boot:
sudo systemctl enable postgresql
2. Set a Password for Your Postgres Role
By default, PostgreSQL creates a user named postgres
. You'll need to set a password for this role or create another role with a password.
To set a password for the postgres
user:
sudo -u postgres psql
Inside the PostgreSQL shell, run:
ALTER USER postgres WITH PASSWORD 'your_secure_password';
\q
Alternatively, to create a new role with a password:
sudo -u postgres createuser --interactive
You'll be prompted for the name of the new role and whether it should have superuser permissions. Then set a password:
ALTER USER your_new_role WITH PASSWORD 'your_secure_password';
\q
3. Install PGVector and Age Extensions
Install PGVector:
sudo apt install postgresql-server-dev-all
cd /tmp
git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git
cd pgvector
make
sudo make install
Install age:
sudo apt-get install build-essential libpq-dev
cd /tmp
git clone https://github.com/apache/age.git
cd age
make
sudo make install
4. Create a Database for LightRAG
Create an empty database to store your data:
sudo -u postgres createdb your_database
5. Activate PGVector Extension in the Database
Switch to the newly created database and enable the pgvector
extension:
sudo -u postgres psql -d your_database
Inside the PostgreSQL shell, run:
CREATE EXTENSION vector;
Verify installation by checking the extension version within this specific database:
SELECT extversion FROM pg_extension WHERE extname = 'vector';
\q
6. Install LightRAG with API Access
Install LightRAG using pip, targeting the API package for server-side use:
pip install "lightrag-hku[api]"
7. Configure config.ini
Create a configuration file to specify PostgreSQL connection details and other settings:
In your project directory, create a config.ini
file with the following content:
[postgres]
host = localhost
port = 5432
user = your_role_name
password = your_password
database = your_database
workspace = default
Replace placeholders like your_role_name
, your_password
, and your_database
with actual values.
8. Run LightRAG Server
Start the LightRAG server using specified options:
lightrag-server --port 9621 --key sk-somepassword --kv-storage PGKVStorage --graph-storage PGGraphStorage --vector-storage PGVectorStorage --doc-status-storage PGDocStatusStorage
Replace the port
number with your desired port number (default is 9621) and your-secret-key
with a secure key.
Conclusion
With PostgreSQL set up to work with LightRAG, you can now leverage vector storage and retrieval-augmented capabilities for enhanced language model operations. Adjust configurations as needed based on your specific environment and use case requirements.