Docs: Text to sql example - minor naming / dedupe (#376)
* Fix up minor naming oddities Dedupe insert row logic * Improve readability
This commit is contained in:
		
							parent
							
								
									33b38e6cb7
								
							
						
					
					
						commit
						242a6e59c5
					
				|  | @ -56,7 +56,12 @@ from sqlalchemy import ( | |||
| engine = create_engine("sqlite:///:memory:") | ||||
| metadata_obj = MetaData() | ||||
| 
 | ||||
| # create city SQL table | ||||
| def insert_rows_into_table(rows, table, engine=engine): | ||||
|     for row in rows: | ||||
|         stmt = insert(table).values(**row) | ||||
|         with engine.begin() as connection: | ||||
|             connection.execute(stmt) | ||||
| 
 | ||||
| table_name = "receipts" | ||||
| receipts = Table( | ||||
|     table_name, | ||||
|  | @ -74,10 +79,7 @@ rows = [ | |||
|     {"receipt_id": 3, "customer_name": "Woodrow Wilson", "price": 53.43, "tip": 5.43}, | ||||
|     {"receipt_id": 4, "customer_name": "Margaret James", "price": 21.11, "tip": 1.00}, | ||||
| ] | ||||
| for row in rows: | ||||
|     stmt = insert(receipts).values(**row) | ||||
|     with engine.begin() as connection: | ||||
|         cursor = connection.execute(stmt) | ||||
| insert_rows_into_table(rows, receipts) | ||||
| ``` | ||||
| 
 | ||||
| ### Build our agent | ||||
|  | @ -155,7 +157,7 @@ So let’s make a second table recording the names of waiters for each receipt_i | |||
| 
 | ||||
| ```py | ||||
| table_name = "waiters" | ||||
| receipts = Table( | ||||
| waiters = Table( | ||||
|     table_name, | ||||
|     metadata_obj, | ||||
|     Column("receipt_id", Integer, primary_key=True), | ||||
|  | @ -169,10 +171,7 @@ rows = [ | |||
|     {"receipt_id": 3, "waiter_name": "Michael Watts"}, | ||||
|     {"receipt_id": 4, "waiter_name": "Margaret James"}, | ||||
| ] | ||||
| for row in rows: | ||||
|     stmt = insert(receipts).values(**row) | ||||
|     with engine.begin() as connection: | ||||
|         cursor = connection.execute(stmt) | ||||
| insert_rows_into_table(rows, waiters) | ||||
| ``` | ||||
| Since we changed the table, we update the `SQLExecutorTool` with this table’s description to let the LLM properly leverage information from this table. | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue