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

27 lines
3.9 KiB
Plaintext
Raw Normal View History

Ë
E¶hÕ ãóøddlmZddlZddlmZddlmZddlmZddl m
Z
ddl m Z ddl
mZmZdd lmZej"d
«Zej&d «Zej+d d
¬«dzZGdd«Zy)é)ÚOptionalN)Úhub)ÚSQLDatabaseToolkit)Ú SQLDatabase)Ú
ChatOpenAI)Úcreate_react_agent)ÚInvestorÚ 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-liter)Ú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-r1Úresultr4s r.Úquery_sql_databasez!QueryProcessor.query_sql_database3sFà×ÒØð×)¨%ÓØ—N‘NÓ*ˆ Ü 0r0cóˆ|jsytd«|jj|gd¬«}t|«|S)z3Query the vector database for investor information.NzVECTOR STORE WAS CALLEDé)Ú query_textsÚ n_results)rÚprintr,r1)r-r1Úresultss r.r&z$QueryProcessor.query_vector_database=sJà×Ü
З//טØð
ˆô ˆgŒðˆr0Ú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-à—::×