fix init and store training data of vanna
Browse files- tryvanna.py +24 -10
tryvanna.py
CHANGED
|
@@ -1,13 +1,7 @@
|
|
| 1 |
import os
|
| 2 |
|
| 3 |
from vanna.remote import VannaDefault
|
| 4 |
-
vn = VannaDefault(model='gpt-3.5-turbo', api_key=os.getenv("VANNA_API_KEY"))
|
| 5 |
-
|
| 6 |
-
# # vn.connect_to_postgres(os.getenv("DATABASE_URL"))
|
| 7 |
-
# export DATABASE_NAME=verceldb
|
| 8 |
-
# ashwin@MacBook-Air-6 DDD % export DATABASE_USER=default
|
| 9 |
-
# ashwin@MacBook-Air-6 DDD % export DATABASE_PASSWORD=lyzegA2r0ESO
|
| 10 |
-
# ashwin@MacBook-Air-6 DDD % export DATABASE_HOST="ep-dawn-fire-a1i3ytre-pooler.ap-southeast-1.aws.neon.tech"
|
| 11 |
|
| 12 |
db_host = os.getenv("DATABASE_HOST")
|
| 13 |
db_name = os.getenv("DATABASE_NAME")
|
|
@@ -15,9 +9,29 @@ db_user = os.getenv("DATABASE_USER")
|
|
| 15 |
db_password = os.getenv("DATABASE_PASSWORD")
|
| 16 |
db_port = 5432
|
| 17 |
|
|
|
|
| 18 |
vn.connect_to_postgres(host=db_host, dbname=db_name, user=db_user, password=db_password, port=db_port)
|
| 19 |
|
| 20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
|
| 22 |
-
from vanna.flask import VannaFlaskApp
|
| 23 |
-
VannaFlaskApp(vn).run()
|
|
|
|
| 1 |
import os
|
| 2 |
|
| 3 |
from vanna.remote import VannaDefault
|
| 4 |
+
vn = VannaDefault(model='gpt-3.5-turbo', api_key=os.getenv("VANNA_API_KEY"), openai_api_key=os.getenv("OPENAI_API_KEY"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
db_host = os.getenv("DATABASE_HOST")
|
| 7 |
db_name = os.getenv("DATABASE_NAME")
|
|
|
|
| 9 |
db_password = os.getenv("DATABASE_PASSWORD")
|
| 10 |
db_port = 5432
|
| 11 |
|
| 12 |
+
|
| 13 |
vn.connect_to_postgres(host=db_host, dbname=db_name, user=db_user, password=db_password, port=db_port)
|
| 14 |
|
| 15 |
+
# Fetch information schema
|
| 16 |
+
df_information_schema = vn.run_sql("SELECT * FROM INFORMATION_SCHEMA.COLUMNS")
|
| 17 |
+
|
| 18 |
+
# Generate training plan
|
| 19 |
+
plan = vn.get_training_plan_generic(df_information_schema)
|
| 20 |
+
|
| 21 |
+
# Get training data
|
| 22 |
+
training_data = vn.get_training_data()
|
| 23 |
+
|
| 24 |
+
# Store training data in Vanna Hosted Vector DB
|
| 25 |
+
vn.store_training_data(training_data)
|
| 26 |
+
|
| 27 |
+
# Train Vanna with the information schema
|
| 28 |
+
vn.train(df_information_schema)
|
| 29 |
+
|
| 30 |
+
# Example query generation using OpenAI via Vanna.AI
|
| 31 |
+
generated_query = vn.generate_sql("List all table names in the database")
|
| 32 |
+
print("Generated SQL query:", generated_query)
|
| 33 |
+
|
| 34 |
+
# Example natural language question
|
| 35 |
+
answer = vn.ask('What is the data about?')
|
| 36 |
+
print("Answer:", answer)
|
| 37 |
|
|
|
|
|
|