consolidate run functions (#126)

consolidating logic for when a chain is able to run with single input
text, single output text

open to feedback on naming, logic, usefulness
This commit is contained in:
Harrison Chase
2022-11-13 18:14:35 -08:00
committed by GitHub
parent 1fe3a4f724
commit f23b3ceb49
20 changed files with 39 additions and 143 deletions
+1 -17
View File
@@ -51,7 +51,7 @@ class SQLDatabaseChain(Chain, BaseModel):
"""
return [self.output_key]
def _run(self, inputs: Dict[str, str]) -> Dict[str, str]:
def _call(self, inputs: Dict[str, str]) -> Dict[str, str]:
llm_chain = LLMChain(llm=self.llm, prompt=PROMPT)
chained_input = ChainedInput(
inputs[self.input_key] + "\nSQLQuery:", verbose=self.verbose
@@ -72,19 +72,3 @@ class SQLDatabaseChain(Chain, BaseModel):
final_result = llm_chain.predict(**llm_inputs)
chained_input.add(final_result, color="green")
return {self.output_key: final_result}
def query(self, query: str) -> str:
"""Run natural language query against a SQL database.
Args:
query: natural language query to run against the SQL database
Returns:
The final answer as derived from the SQL database.
Example:
.. code-block:: python
answer = db_chain.query("How many customers are there?")
"""
return self({self.input_key: query})[self.output_key]