Spaces:
Runtime error
Runtime error
| from langchain_google_genai import ChatGoogleGenerativeAI | |
| from langchain.agents import Tool | |
| import gradio as gr | |
| from langchain.agents import initialize_agent, AgentType | |
| # === LLM === | |
| llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash") | |
| # === RAG Агент === | |
| def run_mm_rag_agent(query: str) -> str: | |
| from Multimodal_agent_RAG import agent_mm_rag | |
| return agent_mm_rag.run(query) | |
| def run_web_agent(query: str) -> str: | |
| from real_time_market_agent import agent_executor | |
| return agent_executor.invoke(query) | |
| def run_analyse_agent(query: str) -> str:# List[Document]: | |
| from DS_agent import dc_agent | |
| return dc_agent.run(query) | |
| mm_rag_tool = Tool( | |
| name="MultimodalRAG", | |
| func=run_mm_rag_agent, | |
| description=( | |
| "Useful when the user is asking for numerical, tabular, or visual document-related queries. " | |
| "This tool uses a multimodal retriever over structured documents including tables and charts." | |
| ), | |
| ) | |
| web_rag_tool = Tool( | |
| name="WebsearchRAG", | |
| func=run_web_agent, | |
| description=( | |
| "Useful when the user requests data related to finding the most relevant information or information that is not contained in the financial statements of companies. " | |
| "This tool uses real-time search of information in network resources" | |
| ), | |
| ) | |
| analyse_agent_tool= Tool( | |
| name="Analyse", | |
| func=run_analyse_agent, | |
| description=( | |
| "Useful when the user requests analysis and forecasting of time-varying data (monthly, quarterly, yearly, etc.) " | |
| "This tool forecasts the change in the analyzed value and visualizes this forecast" | |
| ), | |
| ) | |
| supervisor_tools = [ | |
| mm_rag_tool, | |
| web_rag_tool, | |
| analyse_agent_tool | |
| ] | |
| research_agent = initialize_agent( | |
| tools=supervisor_tools, | |
| llm=llm, # Или другой LLM | |
| agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, | |
| verbose=True, | |
| memory=None, | |
| #handle_parsing_errors=True # | |
| ) | |
| def chat_with_agent(user_input): | |
| try: | |
| response = research_agent.run(user_input) | |
| return response | |
| except Exception as e: | |
| return f"⚠️ Error: {str(e)}" | |
| iface = gr.Interface( | |
| fn=chat_with_agent, | |
| inputs=gr.Textbox(lines=4, placeholder="Enter your financial question..."), | |
| outputs="text", | |
| title="🧠 Financial RAG Super-Agent", | |
| description="Ask about financial metrics, forecasts, or recent market information." | |
| ) | |
| if __name__ == "__main__": | |
| iface.launch() | |
| # response = research_agent.run("What are Apple's net sales and long-term assets for the past 3 years?") | |
| # print(response) | |