Identify relevant tables for answering a natural language query via vector store
(natural_language_query, index_name="text_to_sql")
| 104 | |
| 105 | |
| 106 | def get_relevant_tables_from_pinecone(natural_language_query, index_name="text_to_sql") -> List[str]: |
| 107 | """ |
| 108 | Identify relevant tables for answering a natural language query via vector store |
| 109 | """ |
| 110 | vector = get_embedding(natural_language_query, "text-embedding-ada-002") |
| 111 | |
| 112 | results = pinecone.Index(index_name).query( |
| 113 | vector=vector, |
| 114 | top_k=5, |
| 115 | include_metadata=True, |
| 116 | ) |
| 117 | |
| 118 | table_names = set() |
| 119 | for result in results["matches"]: |
| 120 | for table_name in result.metadata["table_names"]: |
| 121 | table_names.add(table_name) |
| 122 | |
| 123 | print(results["matches"]) |
| 124 | |
| 125 | return list(table_names) |
| 126 | |
| 127 | |
| 128 | def _get_table_selection_message_with_descriptions(natural_language_query): |
no outgoing calls
no test coverage detected