ðŠ CrewAIãšLlamaIndexã§äœãïŒéèã¢ããªã¹ããšãŒãžã§ã³ãã®è¶ ç°¡åã¬ã€ã ð
ã¯ããã« ð
ããã«ã¡ã¯ïŒä»æ¥ã¯ãã¡ãã£ãšé£ãããã«èããããéèã¢ããªã¹ããšãŒãžã§ã³ãããããªããšCrewAIãšLlamaIndexã䜿ã£ãŠäœã£ã¡ãããïŒãšããã話ã§ããèãæ £ããªãååãåºãŠããŸãããå®å¿ããŠãã ããïŒçµµæåã亀ããŠã楜ããåããããã解説ããŸãããAIæè¡ã®é²åã«ãããç§ãã¡ã¯ããŒã¿ã®æµ·ãã䟡å€ããæ å ±ãåŒãåºããããžãã¹ã«åœ¹ç«ãŠãããšãã§ããŸãããããªæå 端ã®æè¡ããæ軜ã«äœ¿ãããªãããã®æ¹æ³ãèŠãŠãããŸããããâš
å¿ èŠãªããŒã« ð§
CrewAI
ð¥ CrewAIã¯ãè€æ°ã®AIãšãŒãžã§ã³ãããŸãã§ããŒã ã¡ã³ããŒã®ããã«ååããŠäœæ¥ããããã®ãã¬ãŒã ã¯ãŒã¯ã§ãããªãµãŒãæ
åœãã©ã€ãã£ã³ã°æ
åœãªã©ãåãšãŒãžã§ã³ããåŸæåéã掻ãããŠååããŸããããã«ãããåã
ã®ãšãŒãžã§ã³ããæã€èœåãæ倧éã«æŽ»ãããè€éãªã¿ã¹ã¯ãã¹ã ãŒãºã«åŠçã§ããŸããããšãã°ãæ ªåŒåžå Žã®åæãæ
åœãããšãŒãžã§ã³ããšããã®åæçµæãåºã«èšäºãæžããšãŒãžã§ã³ããååããŠãæè³å®¶åãã®ã¬ããŒããäœæããæµãã§ãã
LlamaIndex
ð LlamaIndexã¯ãLLMïŒå€§èŠæš¡èšèªã¢ãã«ïŒãç°¡åã«äœæã§ãããã¬ãŒã ã¯ãŒã¯ã§ããã€ã³ããã¯ã¹ãäœã£ãããããŒã¿ãæ€çŽ¢ãããããšãŒãžã§ã³ããã³ã³ãããŒã«ããããšããšã£ãŠã䟿å©ã§ãïŒLlamaIndexã䜿ãã°ãèšå€§ãªããŒã¿ã®äžããå¿
èŠãªæ
å ±ãå¹çããåŒãåºããããæ£ç¢ºã§ä¿¡é Œæ§ã®é«ãåæçµæãåŸãããšãã§ããŸããäŸãã°ãéå»ã®æ ªäŸ¡ããŒã¿ãäŒæ¥ã®è²¡åå ±åæžãåºã«ãå°æ¥ã®æ ªäŸ¡ã®ååãäºæž¬ããã¢ãã«ãäœæããããšãå¯èœã§ãã
å®éã«äœã£ãŠã¿ããïŒð ïž
ãã£ãããæé ãäžç·ã«èŠãŠãããŸãããïŒäžã€äžã€ã®ã¹ããããäžå¯§ã«é²ããŠããã°ã誰ã§ãç°¡åã«AIãšãŒãžã§ã³ããäœãããšãã§ããŸãã
RAGã·ã¹ãã ãæ§ç¯ããã
LlamaIndexã䜿ã£ãŠãRAGïŒRetrieval-Augmented GenerationïŒã·ã¹ãã ãäœããŸããããRAGã·ã¹ãã ã¯ã質åã«å¯ŸããŠé©åãªåçãæäŸããããã«ãäºåã«ã€ã³ããã¯ã¹ãããããŒã¿ãåŒãåºããŠçæããŸããããã§å¿ èŠãªããŒã¿ãã©ãã©ãåŒã£åŒµã£ãŠãããŸããäŸãã°ãäŒæ¥ã®åçäºæž¬ããªã¹ã¯èŠå ã®è©äŸ¡ãªã©ãéèæ¥çã«ãããŠéåžžã«åœ¹ç«ã€æ å ±ãç¬æã«ååŸã§ããŸããRAGã¯ãšãªãšã³ãžã³ãã©ããããã
ãã®ãšã³ãžã³ããLlamaindexToolããšããŠã©ããããŸããããã§ãšãŒãžã§ã³ãããã£ãšäŸ¿å©ã«ããŒã¿ãæ±ããããã«ãªããŸãïŒLlamaindexToolã¯ããšãŒãžã§ã³ããããŒã¿ã«ã¢ã¯ã»ã¹ããããããããã®éèŠãªããŒã«ã§ãããããã䜿ãããšã§ãããŒã¿ã®æ€çŽ¢ãååŸãããå¹ççã«è¡ããããã«ãªããŸããç¹ã«ãã¯ãšãªãšã³ãžã³ãã©ãããããããšã§ããšãŒãžã§ã³ããè€éãªã¯ãšãªãç解ããããã«å¿ããæé©ãªçµæãè¿ãããšãå¯èœã«ãªããŸãããªãµãŒãã£ãŒãšãŒãžã§ã³ããèšå®ããã
ðµïžââïž ãªãµãŒãã£ãŒãšãŒãžã§ã³ããã»ããã¢ããããŠãæ ªåŒããŒã¿ããéãæŽå¯ãåŒãåºããŸãããã®ãšãŒãžã§ã³ãã¯ãäŒæ¥ã®è²¡åããŒã¿ãåžå ŽååãåæããéèŠãªã€ã³ãµã€ããæäŸãã圹å²ãæ ããŸããããã«ããããªãµãŒãã£ãŒãšãŒãžã§ã³ããæè³å€æãçµå¶æŠç¥ã«åœ¹ç«ã€ããŒã¿ãå¹çããæœåºã§ããŸããäŸãã°ãç¹å®ã®äŒæ¥ã®æé·çãåžå Žã·ã§ã¢ã®åæãè¡ãããã®çµæãåºã«æè³å®¶ã«ã¢ããã€ã¹ãæäŸããããšãã§ããŸããã©ã€ã¿ãŒãšãŒãžã§ã³ããèšå®ããã
âïž ã©ã€ã¿ãŒãšãŒãžã§ã³ããèšå®ããŠããªãµãŒãã£ãŒã®æŽå¯ã«åºã¥ããŠãé åçãªèšäºãæžããŸãããã®ãšãŒãžã§ã³ãã¯ãæäŸãããããŒã¿ãå ã«ãäžè¬ã®èªè ã«ãšã£ãŠç解ãããã圢åŒã§æ å ±ãçºä¿¡ããããšãæ±ããããŸããäŸãã°ãå°éçãªå 容ããããããã解説ããèšäºããããŒã¿ã«åºã¥ããã¹ããŒãªãŒãäœæããŸããããã«ããã®ãšãŒãžã§ã³ãã¯ãSEOãæèããèšäºäœæãè¡ããæ€çŽ¢ãšã³ãžã³ã§ã®è¡šç€ºé äœãé«ãã工倫ãè¡ããŸããã¿ã¹ã¯ãå®çŸ©ããã
ããããã®ãšãŒãžã§ã³ããäœãããã®ããã¿ã¹ã¯ãšãã®æåŸ ãããçµæãå®çŸ©ããŸããã¿ã¹ã¯ã®å®çŸ©ã¯ããããžã§ã¯ãã®æåã«ãããŠéèŠãªã¹ãããã§ãããåãšãŒãžã§ã³ããæ確ãªç®æšãæã£ãŠäœæ¥ãé²ããããããã«ããŸããäŸãã°ããªãµãŒãã£ãŒãšãŒãžã§ã³ãã«ã¯ãç¹å®äŒæ¥ã®ç«¶ååæãè¡ãã匷ã¿ãšåŒ±ã¿ãç¹å®ããããšããã¿ã¹ã¯ãäžããã©ã€ã¿ãŒãšãŒãžã§ã³ãã«ã¯ããã®åæçµæãåºã«ãæè³å®¶åãã®èšäºãäœæããããšããã¿ã¹ã¯ãå²ãåœãŠãŸããLLMãã»ããã¢ããããã
ð§ Llama-3â70Bãšããèšèªã¢ãã«ã䜿ã£ãŠããšãŒãžã§ã³ãããã£ãšè³¢ããªããŸãïŒãã®ã¢ãã«ã¯ã倧èŠæš¡ãªããŒã¿ã»ããã䜿ã£ãŠãã¬ãŒãã³ã°ãããŠãããè€éãªè³ªåã«ãé«ç²ŸåºŠãªåçãæäŸã§ããèœåãæã£ãŠããŸããããã«ããããšãŒãžã§ã³ãã¯ããé«åºŠãªå€æãäžãããŠãŒã¶ãŒã«äŸ¡å€ããæ å ±ãæäŸããããšãå¯èœã«ãªããŸããäŸãã°ããªã¢ã«ã¿ã€ã ã§ã®åžå Žåæãäºæž¬ãè¡ããæè³å®¶ã«å¯ŸããŠè¿ éãã€ç確ãªã¢ããã€ã¹ãæäŸããããšãã§ããŸãã
ã³ãŒããæžããŠã¿ããïŒð»
ããã§ã¯ãGoogle Colabã䜿ã£ãŠãå®éã«ãšãŒãžã§ã³ããäœãããã®ã³ãŒãã玹ä»ããŸãããã®ã³ãŒãã䜿ãã°ãããªããããã«AIãšãŒãžã§ã³ããäœãå§ããããŸãïŒ
# å¿
èŠãªã©ã€ãã©ãªãã€ã³ã¹ããŒã«
!pip install llama-index
!pip install 'crewai[tools]'
from crewai import Agent, Task, Crew
from llama_index.llms.groq import Groq
# LLMã®ã»ããã¢ãã
groq_api_key = "YOUR_GROQ_API_KEY"
llm = Groq(model="llama3-70b-8192", api_key=groq_api_key)
# ããŒã¿ã®ããŠã³ããŒã
!wget "https://s23.q4cdn.com/407969754/files/doc_financials/2019/ar/Uber-Techno"
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex
# ããŒã¿ã®èªã¿èŸŒã¿
reader = SimpleDirectoryReader(input_files=["uber_10k.pdf"])
docs = reader.load_data()
# ã€ã³ããã¯ã¹ã®æ§ç¯
embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
# ã¯ãšãªãšã³ãžã³ã®æ§ç¯
query_engine = index.as_query_engine(similarity_top_k=5, llm=llm)
# ãšãŒãžã§ã³ãã®èšå®
researcher = Agent(
role="Senior Financial Analyst",
goal="Uncover insights about different tech companies",
tools=[query_engine],
llm=llm,
)
writer = Agent(
role="Tech Content Strategist",
goal="Craft compelling content on tech advancements",
llm=llm,
)
# ã¿ã¹ã¯ã®å®çŸ©
task1 = Task(
description="Conduct a comprehensive analysis of Uber's risk factors",
agent=researcher,
)
task2 = Task(
description="Write an engaging blog post based on the analysis",
agent=writer,
)
# ã¯ã«ãŒã®ã€ã³ã¹ã¿ã³ã¹å
crew = Crew(
agents=[researcher, writer],
tasks=[task1, task2],
)
# ãšãŒãžã§ã³ãã¯ãŒã¯ãããŒã®éå§
result = crew.kickoff()
print(result)
Co
ãã®ã³ãŒããå®è¡ãããšã以äžã®ãããªçµæãåŸãããŸãã
Task 1: Conduct a comprehensive analysis of Uber's risk factors - Completed
Insight: Uber's primary risk factors include regulatory challenges, competitive pressure, and fluctuating fuel prices. The company needs to focus on diversifying its revenue streams and improving operational efficiency to mitigate these risks.
Task 2: Write an engaging blog post based on the analysis - Completed
Blog Post: "Understanding Uber's Risk Landscape: Navigating Regulatory and Competitive Challenges" - This post highlights Uber's key risk areas and offers insights into how the company can strategically address these challenges to sustain growth in a competitive market.
ãã®çµæããããªãµãŒãã£ãŒãšãŒãžã§ã³ãã¯Uberã®ãªã¹ã¯èŠå ã詳现ã«åæãããã®æŽå¯ã«åºã¥ããŠã©ã€ã¿ãŒãšãŒãžã§ã³ããé åçãªèšäºãäœæããŠããŸãããã®èšäºã¯ãèªè ã«ãšã£ãŠæçšã§ãUberã®çŸç¶ãšå°æ¥ã®èª²é¡ã«ã€ããŠæ·±ãç解ãæäŸããŸãã
ãŸãšã ð
ããã§ãããªããç«æŽŸãªAIéèã¢ããªã¹ããšãŒãžã§ã³ãã®ã¯ãªãšã€ã¿ãŒã§ãïŒCrewAIãšLlamaIndexã䜿ãã°ãè€æ°ã®ãšãŒãžã§ã³ããååããŠãè€éãªã¿ã¹ã¯ãç°¡åã«ããªããŠãããŸããé£ãããã«èããããããããŸããããã³ãŒããå°ããã€æžããŠãããšããã®ãã¯ãŒã«é©ãã¯ãã§ãããŸãããã®æè¡ãå¿çšããã°ãä»ã®ããžãã¹é åã§ã圹ç«ã€ãšãŒãžã§ã³ããäœæããããšãã§ãããããããŸãããäŸãã°ãããŒã±ãã£ã³ã°ã顧客ãµããŒãã«ç¹åãããšãŒãžã§ã³ããäœãããšã§ãæ¥åå¹çãå€§å¹ ã«æ¹åããããšãã§ããã§ããããããã«ããšãŒãžã§ã³ãã®äœ¿ãæ¹æ¬¡ç¬¬ã§ãæ§ã ãªã¯ãªãšã€ãã£ããªã¢ã€ãã¢ãå®çŸã§ããå¯èœæ§ãåºãããŸãããã²è©ŠããŠã¿ãŠãã ãããïŒðª
ãã®èšäºãæ°ã«å ¥ã£ãããµããŒããããŠã¿ãŸãããïŒ