fromllama_index.coreimportVectorStoreIndex,SimpleDirectoryReader,Settingsfromllama_index.embeddings.ollamaimportOllamaEmbeddingdefget_agent(model_name:str):Settings.embed_model=OllamaEmbedding(model_name=model_name,base_url=sdmicl[1])Settings.llm=Ollama(model=sdmicl[0],base_url=sdmicl[1],request_timeout=360.0)# Create a RAG tool using LlamaIndexdocuments=SimpleDirectoryReader("data").load_data()index=VectorStoreIndex.from_documents(documents)query_engine=index.as_query_engine()asyncdefsearch_documents(query:str)->str:"""Useful for answering natural language questions about an personal essay written by Paul Graham."""response=awaitquery_engine.query(query)returnstr(response)agent=FunctionAgent(name="Agent",description="Useful for multiplying two numbers and searching documents",tools=[multiply,search_documents],llm=ollama,system_prompt="You are a helpful assistant that can multiply two numbers and search documents to answer questions",)returnagentasyncdefmain():models=('bge-m3','nomic-embed-text',)formodel_nameinmodels:print(f'model: {model_name}')agent=get_agent(model_name=model_name)response=awaitagent.run("What did the paul graham do in college? Also, what's 7 * 8?")print(str(response))print("Done.")print('-'*100)awaitmain()