Files
Anton_wireframe/app/services/__pycache__/querying.cpython-312.pyc
T

26 lines
3.9 KiB
Plaintext
Raw Normal View History

Ë
·hÇ ãóôddlmZddlZddlmZddlmZddlmZddl m
Z
ddl m Z ddl
mZdd lmZej d
«Zej$d «Zej)d d
¬«dzZGdd«Zy)é)ÚOptionalN)Úhub)ÚSQLDatabaseToolkit)Ú SQLDatabase)Ú
ChatOpenAI)Úcreate_react_agent)Ú InvestorList)Úsettingsz$langchain-ai/sql-agent-system-promptzsqlite:///investors.dbÚSQLiteé)ÚdialectÚtop_kz;
Get answers from the Sql database and the vector databasecójeZdZ d deedeefdZdedeefdZdedeefdZ d edefd
Z
y) ÚQueryProcessorNÚ sql_sessionÚvector_db_clientcó¬ttjddd¬«|_t t
|j¬«|_t|j|j j«|jgztt¬«|_ ||_
tjd¬«|_
|jj!d d
d i¬ «|_y)
Nzhttps://openrouter.ai/api/v1zgoogle/gemini-2.5-flash-liteg333333Ó?)Úapi_keyÚbase_urlÚmodelÚ temperature)ÚdbÚllm)rÚtoolsÚpromptÚresponse_formatz ./chroma_db)ÚpathÚinvestor_descriptionsÚ descriptionz1Investor descriptions and investment thesis focus)ÚnameÚmetadata)rr
ÚOPENROUTER_API_KEYrrrÚtoolkitrÚ get_toolsÚquery_vector_databaseÚsystem_messager ÚagentrÚchromadbÚPersistentClientÚget_or_create_collectionÚ
collection)Úselfrrs úL/home/oluwasanmi/Documents/Work/MKD/anton_wireframe/app/services/querying.pyÚ__init__zQueryProcessor.__init__ô
Ü×ô 
ˆŒô *¬R°T·X±XÔ>ˆŒ Ü—(—,,×*¨d×.HÑ.HÐ-IÑ
ˆŒ
ð !1ˆÔä (× 9Ñ 9¸}Ô MˆÔØ×ÐðIó
ˆóÚqueryÚreturncó¦|jsy|jj|«}|j«j«}t |¬«S)z0Query the SQL database for investor information.N)Ú investors)rÚexecuteÚscalarsÚallr )r,r0Úresultr3s r-Úquery_sql_databasez!QueryProcessor.query_sql_database3sFà×ÒØð×)¨%ÓØ—N‘NÓ*ˆ Ü 0r/cóˆ|jsytd«|jj|gd¬«}t|«|S)z3Query the vector database for investor information.NzVECTOR STORE WAS CALLEDé)Ú query_textsÚ n_results)rÚprintr+r0)r,r0Úresultss r-r%z$QueryProcessor.query_vector_database=sJà×Ü
З//טØð
ˆô ˆgŒðˆr/ÚquestioncóF|jjdd|fgi«}|S)zBProcess a query using the LLM and return structured investor data.ÚmessagesÚuser)r'Úinvoke)r,r?Úresponses r-Ú
process_queryzQueryProcessor.process_queryNs-à—::×