VerbaGPT is an application that runs locally in your browser and on your computer. It allows you to connect to data on your local machine, network or the cloud, and ask questions in natural language using GPT.
Note: Large language models (LLMs) are a new technology, and their reliability and accuracy are a dynamic area of research. Please be aware that AI-generated content may be inaccurate or misleading, and carefully review the code before executing it or using the output from it.
VerbaGPT is in beta. This version is free to use for exploratory purposes only. Please complete this form to download it.
Quickstart Guide
The following is a quickstart tutorial that can help you set up your environment and ask the first question from VerbaGPT. Individual steps are also broken down in the sections below.
Step 1: Install Python (recommended way: Anaconda)
See video demonstrating the steps below:
- If you don’t already have python installed, I recommend installing Anaconda. It’s a free download: https://www.anaconda.com/download
- Set up a new environment to use with VerbaGPT (keeps things clean that way!)
Step 2: Firing up VerbaGPT and asking the first question!
See video demonstrating the steps below:
- Unzip the VerbaGPT_Beta.zip file in the location you want the VerbaGPT_Beta folder to be. Copy the folder location.
- Go to Anaconda Navigator, and create a new environment (e.g., “verbagpt” or whatever name you choose). Activate the environment, and then go to the terminal/console by clicking the play button (see below).

- Change directory to the location you have the VerbaGPT_Beta folder using the command: cd <location to folder>
- Install requirements by entering: pip install -r requirements.txt
- Set your API keys
- Navigate to the VerbaGPT_Beta/vg_ folder, and open vg_config.txt file in notepad or similar program.
- Add at least one or more API keys in the relevant spot for the LLM provider you wish to use, for example:

- Once you have entered your API key(s), save and close the vg_config.txt file.
- If you don’t have these already, you can get API keys from the following links:
- OpenAI API: https://platform.openai.com/api-keys
- OpenRouter API: https://openrouter.ai/
- Groq API: https://console.groq.com/keys
- DeepSeek API: https://platform.deepseek.com/
- Fire up VerbaGPT by entering: python VerbaGPT.py
- Choosing your GPT
- Select your data (csv or SQL), then go to the Options tab to select your LLM based on the API keys you added in step 3 and your preference.
- Drag-drop sample .csv file (Abalone.csv). This file is included in the [VerbaGPT_Beta/vg_/sampledata] folder.
- Ask question: “Give me a histogram for rings.”
- You can close VerbaGPT by doing these steps:
- Close browser
- In the terminal window, use ctrl+C to close the server
- Close the terminal window or type exit and press enter

Step 3a: Use with your data without adding context
VerbaGPT is able to work with CSV files and SQL data that you link to it “blind” (i.e., without prep work), however for best results – you or someone on your team would need to provide schemas to help you make the most from your data. The following video shows how you can accomplish this with VerbaGPT.
LLM models are constantly improving at understanding context, however they are not able to understand the nuances of how data gets arranged in the real world. Databases are messy. Naming conventions are adhoc, and humans themselves have a pretty hard time of making sense of how data is organized within organizations. The LLM needs human help to get started.
One of the unique aspects of VerbaGPT is that the large language model has no access to your data, so it needs to be told the context about the data. See below on how you can accomplish this whether you are using CSV or SQL data. But first, we see how you can use VerbaGPT “out of the box” with your own data.
Using Your own csv or sql Data out of the box
VerbaGPT is able to work with your data “out of the box”, however it is not ideal and you may encounter errors. Having said that, you can drag/drop your tabular CSV data, or use your SQL data and start asking questions. Give it a shot!
Important: We have a privacy-first ethos, so in this mode VerbaGPT shares only the column names with the large language model (LLM). If you are OK with providing some frequently used values for the columns in your data to the LLM in order to give you better answers, you can go to the [Options] tab, and use the slider at the bottom to set how many values per non-numeric column can be shared with the LLM. Note: the value you set on the slider takes effect the next time VerbaGPT is launched.

Step 3b: Use with your data and add context for better performance
Using your SQL data with your context
This video demonstrates the steps listed below to use VerbaGPT with your own SQL data.
Steps:
- Update [VerbaGPT folder]/vg_/csvs/create_embeddings.csv with the data dictionary of you SQL data
- You can either edit this file manually, or,
- To make it easy for you, we provide you SQL code that you can use to automatically create the dictionary. This code is available here: [VerbaGPT folder]/vg_/csvs/create_embeddings-SQL.sql
- If you do not know SQL, chances are someone in your organization does. Someone or a team in your organization can create and manage the data dictionary, and you simply point to the create_embeddings.csv file in VerbaGPT (in the Options tab).
- Now, you can launch VerbaGPT, select your SQL data source, and ask your question.
Using Your CSV Data with your context
This video demonstrates the steps listed below to use VerbaGPT with your own comma-separated-value (CSV) data.
In order to use VerbaGPT with your CSV data, use the following steps:
- Update [VerbaGPT folder]/vg_/csvs/create_embeddings.csv with the data dictionary of your CSV file
- You can either edit this file manually, or,
- To make it easy for you, we provide you python code that you can use to automatically create the dictionary. This code is available here: [location of your VerbaGPT folder]/vg_/csvs/create_embeddings-CSV.py
- If you do not know python, chances are someone in your organization does. Someone or a team in your organization can create and manage the data dictionary, and then you simply point to the create_embeddings.csv file in VerbaGPT (in the Options tab).
- Now, you can launch VerbaGPT and ask your question.
Microsoft SQL: Use Local Server
Instructions coming soon…
Microsoft SQL: Use Connection String
Using CLOUD SQL option – AZURE MSSQL
You can now connect VerbaGPT to your Azure SQL server and are able to ask questions using LLMs. Here is how:
Select the SQL option in VerbaGPT. Select the option of Azure SQL. It looks like this:

You need to format your connection string like below, and then click on “Test Azure Connection”. Make sure to replace the SERVER with your server name (complete name as in the example below), and include your username, password (within the curly brackets). Don’t forget to also specify the DATABASE that you want to use. Azure SQL requires a connection to a specific database in order to work properly.
global conn
conn = pyodbc.connect(
SERVER = 'vgsql-001.database.windows.net',
UID='user', #username
PWD='{password}', #password
DATABASE='vg_test01', #add your database
DRIVER= '{SQL Server}'
)
Once you are done, click on “Test Azure Connection”. It will tell you if the test is successful, and then you are good to go! It will also save the connection string for future use.
Note: You may need to whitelist your IP with your Azure SQL server in order for it to connect.
MySQL: Use Connection String
Using CLOUD SQL option – MySQL
You can connect VerbaGPT to a MySQL server and are able to ask questions using LLMs. Here is how:
Select the SQL option on the Data tab in VerbaGPT. Select the option of “Connection String to Database”. It looks something like this:

You need to format your connection string like below, and then click on ‘Test Connection‘.
Format:
conn = mysql.connector.connect(
host=host, #your hostname where your MySQL data is hosted
user=user, #your username credential to the database
password=password, #the password
database=database #the database you wish to connect to
)
Real Example (sensitive fields masked**):
conn = mysql.connector.connect(host="predictivemodeler.com",user="****",password="*****",database="capgpbsh_vg_chinook")
Test Succeeded: After entering your connection string, you can click on “Test Connection”, and if everything works, you should see a Test Succeeded message on the button and a sample query that picks up a few database/table names from the online connection.
Below the server, database, and table filters will be populated. You can make your selections then proceed to the Talk tab to ask your question.

Test Failed: If you get an error message like below, one reason could be that your IP address isn’t whitelisted to connect to your cloud database.

PostgreSQL: Use Connection String
Using CLOUD SQL option – PostgreSQL
You can connect VerbaGPT to a PostgreSQL server and are able to ask questions using LLMs. Here is how:
Select the SQL option on the Data tab in VerbaGPT. Select the option of “Connection String to Database”. It looks something like this:

You need to format your connection string like below, and then click on ‘Test Connection‘.
Format:
conn = psycopg2.connect(postgresql://[user[:password]@][host][:port][/database])
Real Example (using neondb, password masked**):
conn = psycopg2.connect("postgresql://username:password**@ep-noisy-firefly-a8hjo93g-pooler.eastus2.azure.neon.tech/database?sslmode=require")
VerbaGPT in offline mode
VerbaGPT works with Ollama in order to enable completely offline processing of data.
Visit here to install Ollama: https://ollama.com/
After installing Ollama, you can select an Ollama model from the Options tab of VerbaGPT, and then ask a question.
Updating VerbaGPT
To update VerbaGPT, simply go to the [Update] tab. Then click on the button to update VerbaGPT.

You will get a message that will tell you if a newer version was available and whether VerbaGPT was update. Note that the update will apply the next time VerbaGPT is launched.
Removing VerbaGPT
Since VerbaGPT isn’t technically “installed”, removing it is super simple. Simply delete the VerbaGPT_Beta folder. There, it is removed!
If you created a special environment in Anaconda for VerbaGPT (like the steps mentioned above), you can delete that too if you like and free up some more room on your computer.
I would love to hear about your experience. If you are inclined to share, please email team@verbagpt.com.
Examples of using VerbaGPT
For examples, please see the “Examples” menu at the top right of the page.
Special Commands
Currently there are two special commands that you can easily use within VerbaGPT, these are:
- report>
- If you perform an analysis that generates a text response (e.g. statistical results metric), inputting the above creates a report on your analysis
- See example: https://theta.verbagpt.com/2023/07/27/report-generation/
- Note that this currently does not work when the output is a plot or a table.
- If you perform an analysis that generates a text response (e.g. statistical results metric), inputting the above creates a report on your analysis
- ?[your question]: Using GPT directly (without context augmentation)
- Say you want to use Bing or ChatGPT (gpt 3.5 or gpt 4) to ask a general question, unrelated to your data. Sure, you can go directly to Bing or OpenAI to do that, but to make things easier for you – you can now also do that from within VerbaGPT. Say you want to ask “which dinosaur was the largest?”. You will input a question mark ? (this is the magic command, and then your question). For example, you will enter: ?which dinosaur was the largest?
FAQs
GPT is a new technology and there will be surprises (the good, bad, confusing – all kinds!) along the way. Here are some of the known issues and limitations.
- Known Issue: On some machines, the Bing option unfortunately doesn’t work. And the results of queries is an empty string. If you have followed all the instructions (as seen in this video) on how to set the bing cookie, and it still doesn’t work, then you will probably need to select OpenAI API key option.
- Make sure Bing Chat is in fact working for you, by asking it a question and getting an answer (and get the bing _U cookie after confirming that it works for you).
- Known Issue: Sometimes, when using Bing GPT, there is an occasional “authenticate” error in response to a user query. Try waiting a couple of seconds and resubmit the query.
- Known Issue: when using the special command “?” and Bing Chat option, the citations do not come through in chat (and show up as ^).