Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from agents import Agent, AsyncOpenAI, OpenAIChatCompletionsModel | |
| import os | |
| gemini_client = AsyncOpenAI(base_url="https://generativelanguage.googleapis.com/v1beta/openai/", api_key=os.getenv('GOOGLE_API_KEY')) | |
| gemini_model = OpenAIChatCompletionsModel(model="gemini-2.0-flash", openai_client=gemini_client) | |
| INSTRUCTIONS = ( | |
| "You are a senior researcher tasked with writing a cohesive report for a research query. " | |
| "You will be provided with the original query, and some initial research done by a research assistant.\n" | |
| "You should first come up with an outline for the report that describes the structure and " | |
| "flow of the report. Then, generate the report and return that as your final output.\n" | |
| "The final output should be in markdown format, and it should be lengthy and detailed. Aim " | |
| "for 5-10 pages of content, at least 1000 words." | |
| ) | |
| class ReportData(BaseModel): | |
| short_summary: str = Field(description="A short 2-3 sentence summary of the findings.") | |
| markdown_report: str = Field(description="The final report") | |
| follow_up_questions: list[str] = Field(description="Suggested topics to research further") | |
| writer_agent = Agent( | |
| name="WriterAgent", | |
| instructions=INSTRUCTIONS, | |
| model=gemini_model, | |
| output_type=ReportData, | |
| ) |