mirror of
https://github.com/vxcontrol/langchaingo.git
synced 2026-07-21 08:55:25 -04:00
c150dc39fe
- Upgraded `github.com/ollama/ollama` from v0.14.3 to v0.16.3 across multiple modules to ensure compatibility with the latest features and fixes. - Updated `github.com/klauspost/compress` from v1.18.0 to v1.18.3 in various modules to incorporate performance improvements and bug fixes. - Adjusted go.mod and go.sum files in relevant examples to reflect these changes, ensuring all examples are using the latest dependency versions.
PostgreSQL Database Chain Example
This example demonstrates how to use the LangChain Go library to interact with a PostgreSQL database using natural language queries. It showcases the power of combining language models with database operations.
What This Example Does
-
Database Setup:
- Creates two tables:
fooandfoo1. - Populates
foowith 100 rows andfoo1with 200 rows of sample data.
- Creates two tables:
-
LangChain Integration:
- Initializes an OpenAI language model.
- Sets up a SQL database chain using the PostgreSQL database.
-
Natural Language Queries:
- Executes three different queries using natural language:
a. Retrieves rows from the
footable where the ID is less than 23. b. Repeats the first query but specifies the table name explicitly. c. Compares the data volume infooandfoo1tables.
- Executes three different queries using natural language:
a. Retrieves rows from the
Key Features
- Natural Language to SQL: Converts human-readable questions into SQL queries.
- Database Interaction: Executes SQL queries and returns results.
- Flexible Querying: Demonstrates querying with and without specifying table names.
- Data Comparison: Shows the ability to analyze and compare data across tables.
How to Run
- Ensure you have a PostgreSQL database set up and accessible.
- Set the
LANGCHAINGO_POSTGRESQLenvironment variable with your database connection string. - Make sure you have an OpenAI API key set up (the example uses default configuration).
- Run the example using
go run postgresql_database_chain.go.
This example is perfect for developers looking to integrate natural language processing with database operations, enabling more intuitive data querying and analysis.