diff --git a/installer/client/cli/agents/.python-version b/installer/client/cli/agents/.python-version deleted file mode 100644 index c8cfe39..0000000 --- a/installer/client/cli/agents/.python-version +++ /dev/null @@ -1 +0,0 @@ -3.10 diff --git a/installer/client/cli/agents/example.py b/installer/client/cli/agents/example.py deleted file mode 100644 index e3d0736..0000000 --- a/installer/client/cli/agents/example.py +++ /dev/null @@ -1,81 +0,0 @@ -from langchain_community.tools import DuckDuckGoSearchRun -import os -from crewai import Agent, Task, Crew, Process -from dotenv import load_dotenv -import os - -current_directory = os.path.dirname(os.path.realpath(__file__)) -config_directory = os.path.expanduser("~/.config/fabric") -env_file = os.path.join(config_directory, ".env") -load_dotenv(env_file) -os.environ['OPENAI_MODEL_NAME'] = 'gpt-4-0125-preview' - -# You can choose to use a local model through Ollama for example. See https://docs.crewai.com/how-to/LLM-Connections/ for more information. -# osOPENAI_API_BASE='http://localhost:11434/v1' -# OPENAI_MODEL_NAME='openhermes' # Adjust based on available model -# OPENAI_API_KEY='' - -# Install duckduckgo-search for this example: -# !pip install -U duckduckgo-search - -search_tool = DuckDuckGoSearchRun() - -# Define your agents with roles and goals -researcher = Agent( - role='Senior Research Analyst', - goal='Uncover cutting-edge developments in AI and data science', - backstory="""You work at a leading tech think tank. - Your expertise lies in identifying emerging trends. - You have a knack for dissecting complex data and presenting actionable insights.""", - verbose=True, - allow_delegation=False, - tools=[search_tool] - # You can pass an optional llm attribute specifying what mode you wanna use. - # It can be a local model through Ollama / LM Studio or a remote - # model like OpenAI, Mistral, Antrophic or others (https://docs.crewai.com/how-to/LLM-Connections/) - # - # import os - # - # OR - # - # from langchain_openai import ChatOpenAI - # llm=ChatOpenAI(model_name="gpt-3.5", temperature=0.7) -) -writer = Agent( - role='Tech Content Strategist', - goal='Craft compelling content on tech advancements', - backstory="""You are a renowned Content Strategist, known for your insightful and engaging articles. - You transform complex concepts into compelling narratives.""", - verbose=True, - allow_delegation=True -) - -# Create tasks for your agents -task1 = Task( - description="""Conduct a comprehensive analysis of the latest advancements in AI in 2024. - Identify key trends, breakthrough technologies, and potential industry impacts.""", - expected_output="Full analysis report in bullet points", - agent=researcher -) - -task2 = Task( - description="""Using the insights provided, develop an engaging blog - post that highlights the most significant AI advancements. - Your post should be informative yet accessible, catering to a tech-savvy audience. - Make it sound cool, avoid complex words so it doesn't sound like AI.""", - expected_output="Full blog post of at least 4 paragraphs", - agent=writer -) - -# Instantiate your crew with a sequential process -crew = Crew( - agents=[researcher, writer], - tasks=[task1, task2], - verbose=2, # You can set it to 1 or 2 to different logging levels -) - -# Get your crew to work! -result = crew.kickoff() - -print("######################") -print(result) diff --git a/installer/client/cli/fabric.py b/installer/client/cli/fabric.py index 0ffcaed..7575227 100755 --- a/installer/client/cli/fabric.py +++ b/installer/client/cli/fabric.py @@ -1,4 +1,5 @@ from .utils import Standalone, Update, Setup, Alias, AgentSetup +from .agents.trip_planner.main import planner_cli import argparse import sys import time @@ -16,12 +17,11 @@ def main(): parser.add_argument( "--copy", "-C", help="Copy the response to the clipboard", action="store_true" ) - subparsers = parser.add_subparsers(dest='command', help='Sub-command help') - agents_parser = subparsers.add_parser('agents', help='Crew command help') - agents_parser.add_argument( - "trip_planner", help="The origin city for the trip") - agents_parser.add_argument( - 'ApiKeys', help="enter API keys for tools", action="store_true") + parser.add_argument( + '--agents', '-a', choices=['trip_planner', 'ApiKeys'], + help="Use an AI agent to help you with a task. Acceptable values are 'trip_planner' or 'ApiKeys'. This option cannot be used with any other flag." + ) + parser.add_argument( "--output", "-o", @@ -73,19 +73,13 @@ def main(): Update() Alias() sys.exit() - if args.command == "agents": - from .agents.trip_planner.main import planner_cli - if not args.trip_planner: - print("Please provide an agent") - print(f"Available Agents:") - for agent in tripcrew.agents: - print(agent) - sys.exit - elif args.trip_planner: + if args.agents: + # Handle the agents logic + if args.agents == 'trip_planner': tripcrew = planner_cli() tripcrew.ask() sys.exit() - if args.ApiKeys: + elif args.agents == 'ApiKeys': AgentSetup().run() sys.exit() if args.update: