Spaces:
Build error
Build error
| import os | |
| import gradio as gr | |
| from crewai import Agent, Task, Crew, Process | |
| from langchain_groq import ChatGroq | |
| from langchain.tools import DuckDuckGoSearchRun | |
| # Initialize the GROQ language model | |
| groq_llm = ChatGroq( | |
| groq_api_key=os.environ["GROQ_API_KEY"], | |
| model_name="mixtral-8x7b-32768" | |
| ) | |
| # Initialize the search tool | |
| search_tool = DuckDuckGoSearchRun() | |
| # Create agents | |
| researcher = Agent( | |
| role='Senior Researcher', | |
| goal='Conduct thorough research on given topics', | |
| backstory='You are an experienced researcher with a keen eye for detail and the ability to find relevant information quickly.', | |
| verbose=True, | |
| allow_delegation=False, | |
| llm=groq_llm, | |
| tools=[search_tool] | |
| ) | |
| writer = Agent( | |
| role='Content Writer', | |
| goal='Create engaging and informative content based on research', | |
| backstory='You are a skilled writer capable of turning complex information into easily understandable and engaging content.', | |
| verbose=True, | |
| allow_delegation=False, | |
| llm=groq_llm | |
| ) | |
| editor = Agent( | |
| role='Editor', | |
| goal='Refine and improve the written content', | |
| backstory='You are a meticulous editor with a strong command of language and an eye for clarity and coherence.', | |
| verbose=True, | |
| allow_delegation=False, | |
| llm=groq_llm | |
| ) | |
| def create_crew(query): | |
| # Create tasks | |
| research_task = Task( | |
| description=f"Research the following topic thoroughly: {query}", | |
| agent=researcher | |
| ) | |
| writing_task = Task( | |
| description="Write an informative article based on the research conducted", | |
| agent=writer | |
| ) | |
| editing_task = Task( | |
| description="Review and refine the written article, ensuring clarity, coherence, and engagement", | |
| agent=editor | |
| ) | |
| # Create the crew | |
| crew = Crew( | |
| agents=[researcher, writer, editor], | |
| tasks=[research_task, writing_task, editing_task], | |
| verbose=2, | |
| process=Process.sequential | |
| ) | |
| return crew | |
| def process_query(query): | |
| crew = create_crew(query) | |
| result = crew.kickoff() | |
| return result | |
| # Create Gradio interface | |
| iface = gr.Interface( | |
| fn=process_query, | |
| inputs=gr.Textbox(lines=2, placeholder="Enter your query here..."), | |
| outputs=gr.Textbox(lines=10, label="AI Agent Response"), | |
| title="AI Agent Chatbot", | |
| description="Ask a question or provide a topic, and our AI agents will research, write, and edit a response for you." | |
| ) | |
| iface.launch() |