Web_Roaster / app.py
BroBro87's picture
Update app.py
a3039c8 verified
raw
history blame
1.73 kB
import gradio as gr
from composio_crewai import ComposioToolSet, App, Action
from crewai import Agent, Task, Crew, Process
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import os
load_dotenv()
llm = ChatOpenAI(model="gpt-4")
toolset = ComposioToolSet()
tools = toolset.get_tools(apps=[App.SERPAPI, App.WEBTOOL])
def find_hackernews_posts(message):
profile = message
hacnews_agent = Agent(
role="Technical Researcher",
goal="Find the best technical posts on Hackernews",
backstory="You are a technical person who loves reading Hackernews and looking for technical posts. You spend all your time looking for interesting posts of the day.",
llm=llm,
tools=tools
)
hacnews_task = Task(
description=f"""
Use the serp tool to search for the user's twitter profile of name {profile} to read his bio,
and then scrape it. Based on his bio, find good technical hackernews posts suited to his bio.
""",
expected_output="A list of technical hackernews posts printed",
agent=hacnews_agent,
tools=tools
)
crew = Crew(
agents=[hacnews_agent],
tasks=[hacnews_task],
process=Process.sequential,
verbose=True
)
result = crew.kickoff()
return result
chat_interface = gr.ChatInterface(
fn=find_hackernews_posts,
title="HackerNews Post Finder",
description="Enter a Twitter username to find relevant technical HackerNews posts.",
examples=[
["elonmusk"],
["naval"],
["paulg"]
],
retry_btn=None,
undo_btn=None,
clear_btn="Clear"
)
if __name__ == "__main__":
chat_interface.launch()