DeepShape_Space / Promptless_LLM_Agent.py
arvindershinh's picture
edit secret key
5a39c8a verified
Raw
History Blame Contribute Delete
2.08 kB
# Warning control
import warnings
warnings.filterwarnings('ignore')
from typing import List
import json
from pydantic import BaseModel
# from langchain_community.llms import HuggingFaceHub
from langchain_huggingface import HuggingFaceEndpoint
from crewai import Agent, Task, Crew
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file
# hf_api_key = os.environ['HF_API_KEY']
hf_api_key = os.getenv('HF_API_KEY')
llm = HuggingFaceEndpoint(
repo_id="HuggingFaceH4/zephyr-7b-beta",
huggingfacehub_api_token=hf_api_key,
task="text-generation"
)
graphicDesigner = Agent(
role="Graphic Designer",
goal="Provide the list of relevant questions that can be ask to user based on his/her requirement: {requirement}",
backstory="You're working as expert graphic designer "
"A user has shared with you the requirement: {requirement}."
"Use information present in requirement"
"and provide the list of questions that can be asked to user"
"to gather more specific information based on requirement",
llm=llm,
allow_delegation=False,
verbose=False
)
class Questions(BaseModel):
QuestionsList: List[str]
Ask_questions = Task(
description=(
"Provide the list of relevant questions that can be ask to user to gather more specific information based on requirement: {requirement}"
),
expected_output="List of relevant questions based on user requirement. output only questions",
# output_json=Questions,
agent=graphicDesigner,
)
crew = Crew(
agents=[graphicDesigner],
tasks=[Ask_questions],
verbose=False
)
def questions(requirement, userDefinedQuestions=None):
# "I want a logo for my new business."
if not userDefinedQuestions:
result = crew.kickoff(inputs={"requirement": requirement})
result = result.split('\n')
# json_dict = json.loads(result)
questions = [i.split('. ')[1] for i in result]
return questions
else:
return userDefinedQuestions