Spaces:
Sleeping
Sleeping
| # from google import genai | |
| # from google.genai.types import Tool, GenerateContentConfig, GoogleSearch | |
| import os | |
| from dotenv import load_dotenv | |
| from smolagents import CodeAgent, LiteLLMModel, DuckDuckGoSearchTool, VisitWebpageTool, FinalAnswerTool | |
| from tools import visitWikipedia, visitWikipediaTable | |
| import time | |
| load_dotenv() | |
| google = os.getenv("GOOGLE") | |
| # client = genai.Client(api_key=google) | |
| # google_search_tool = Tool( | |
| # google_search = GoogleSearch() | |
| # ) | |
| # response = client.models.generate_content( | |
| # model="gemini-2.0-flash", | |
| # contents = prompt, | |
| # config=GenerateContentConfig( | |
| # tools=[google_search_tool], | |
| # response_modalities=["TEXT"], | |
| # ) | |
| # ) | |
| # print(response.text) | |
| model = LiteLLMModel( | |
| model_id="gemini/gemini-2.0-flash", | |
| api_key=google, | |
| max_tokens=1000, | |
| temperature=0.0, | |
| ) | |
| tools = [FinalAnswerTool(), DuckDuckGoSearchTool(), VisitWebpageTool(), visitWikipedia, visitWikipediaTable] | |
| agent = CodeAgent( | |
| tools=tools, | |
| model=model, | |
| additional_authorized_imports=["math", "datetime", "re", "json", "pandas", "numpy"], | |
| max_steps=15, | |
| ) | |
| prompt = """ | |
| Do not assume your code is correct. Always check your code and the output of your code. | |
| You are a general AI assistant. I will ask you a question. Report your thoughts, and finish your answer with the FinalAnswerTool(). YOUR FINAL ANSWER should be a number OR as few words as possible OR a comma separated list of numbers and/or strings. If you are asked for a number, don't use comma to write your number neither use units such as $ or percent sign unless specified otherwise. If you are asked for a string, don't use articles, neither abbreviations (e.g. for cities), and write the digits in plain text unless specified otherwise. If you are asked for a comma separated list, apply the above rules depending of whether the element to be put in the list is a number or a string. | |
| Question: | |
| """ | |
| def run(question): | |
| try: | |
| return agent.run(task=prompt+"\n"+question) | |
| except Exception as e: | |
| time.sleep(60) | |
| return agent.run(task=prompt+"\n"+question) | |
| question = "How many studio albums were published by Mercedes Sosa between 2000 and 2009 (included)? You can use the latest 2022 version of english wikipedia." | |
| # answer = run(question) | |
| # print(answer) |