Einführung
Hier erstellen wir einen anspruchsvollen Finanzforschungsassistenten, indem wir LlamaIndex-gestützte Tools in ein CrewAI-gestütztes Multi-Agenten-Framework integrieren.
Innerhalb eines Teams kann ein Agent als ein einzelnes Teammitglied mit spezifischer Expertise und Verantwortlichkeiten betrachtet werden. Diese Agenten übernehmen unterschiedliche Rollen, wie zum Beispiel ‚Forscher‘, ‚Schreiber‘ oder ‚Kundensupport‘, und tragen jeweils entscheidend zur Erreichung der gemeinsamen Ziele des Teams bei.
Erforderliche Technologiekomponenten
CrewAI
Bildquelle:
CrewAI ist ein innovatives Open-Source-Framework, das es Nutzern ermöglicht, die Kraft intelligenter, kollaborierender Agenten zu nutzen. Im Gegensatz zu herkömmlichen Chatbots können diese Agenten zusammenarbeiten, Informationen austauschen und komplexe Aufgaben als kohäsives Team bewältigen.
Stellen Sie sich eine Gruppe von Experten vor, die harmonisch zusammenarbeiten. Jedes Mitglied besitzt einzigartige Fachkenntnisse und Wissen, doch ihre Fähigkeit zur Kommunikation und Aufgabenverteilung führt zu Ergebnissen, die die individuellen Fähigkeiten übertreffen. CrewAI wendet dieses kollaborative Prinzip auf den Bereich der KI an. Innerhalb dieses Frameworks interagieren individuelle Agenten mit jeweils unterschiedlichen Stärken und Schwächen unter der Orchestrierung von CrewAI und erreichen letztlich gemeinsame Ziele.
LlamaIndex
Bildquelle:
LlamaIndex ist ein benutzerfreundliches Framework, das Entwicklern ermöglicht, mühelos LLM-gestützte Anwendungen unter Nutzung ihrer eigenen Daten zu erstellen. Dieses umfassende Framework besteht aus wesentlichen Modulen für effizientes Indexieren, Abrufen, Erstellen von Aufforderungen und Agentenorchestrierung. Eine Hauptanwendung von LlamaIndex ist die Entwicklung einer vielseitigen QA-Schnittstelle, die Wissen synthetisieren und umfassende Antworten auf komplexe Fragen liefern kann.
GROQ
Bildquelle:
Groq ist eine hochmoderne Plattform, die sowohl Hardware- als auch Softwarekomponenten umfasst und für ihre herausragende Rechengeschwindigkeit, außergewöhnliche Qualität und bemerkenswerte Energieeffizienz bekannt ist. Sie wird von der LPU™ Inference Engine begleitet.
Die LPU Inference Engine, auch bekannt als Language Processing Unit™, ist eine hochmoderne Plattform, die aus Hardware- und Softwareelementen besteht und darauf ausgelegt ist, unübertroffene Rechengeschwindigkeit, überragende Qualität und außergewöhnliche Energieeffizienz zu bieten. Dieses revolutionäre End-to-End-Verarbeitungssystem ist besonders für rechenintensive Anwendungen geeignet, insbesondere für sequentielle Komponenten wie AI-Sprachanwendungen, einschließlich der beeindruckenden Large Language Models (LLMs).
Implementierung eines Finanzforschungsanalysten-Agenten
Beteiligte Schritte:
- Aufbau eines RAG-Systems mit LlamaIndex
- Verpacken der RAG-Abfrage-Engine als LlamaindexTool, da ordnungsgemäße Toolabstraktionen im Kern des Aufbaus von Datenagenten stehen.
- Forscheragenten decken Erkenntnisse aus den Börsendaten auf.
- Schreibern agenten schreiben aufschlussreiche und ansprechende Artikel basierend auf den bereitgestellten Erkenntnissen.
- Definieren Sie die Aufgaben und erwarteten Layouts für den Forscher- und Schreibagenten.
- Llama-3–70B als Large Language Model
Code-Implementierung:
Implementiert in Google Colab mit High-RAM-CPU.
Installieren Sie die erforderlichen Abhängigkeiten:
!pip install llama-index
!pip install llama-index-llms-groq
!pip install llama-index-core
!pip install llama-index-readers-file
!pip install llama-index-tools-wolfram-alpha
!pip install llama-index-embeddings-huggingface
!pip install 'crewai[tools]'
Einrichten des LLM:
from google.colab import userdata
from llama_index.llms.groq import Groq
groq_api_key = userdata.get('GROQ_API_KEY')
llm = Groq(model="llama3-70b-8192", api_key=groq_api_key)
response = llm.complete("Explain the importance of low latency LLMs")
print(response)
Antwort:
Low-latency Large Language Models (LLMs) sind in verschiedenen Anwendungen wichtig, bei denen Echtzeit- oder nahezu Echtzeit-Verarbeitung unerlässlich ist. Hier sind einige Gründe, warum low-latency LLMs wichtig sind:
1. **Interaktive Systeme**: In interaktiven Systemen wie Chatbots, virtuellen Assistenten und Konversations-KI ermöglichen low-latency LLMs schnelle Antwortzeiten, wodurch die Interaktion natürlicher und menschenähnlicher wirkt.
2. **Echtzeit-Entscheidungen**: In Anwendungen wie autonomen Fahrzeugen, Robotik oder medizinischen Diagnosen können low-latency LLMs große Datenmengen in Echtzeit verarbeiten und analysieren, wodurch schnelle Entscheidungen und Reaktionen auf sich ändernde Umstände ermöglicht werden.
3. **Live-Streaming und Broadcasting**: Low-latency LLMs können Echtzeit-Sprachübersetzungen, Stimmungsanalysen oder Inhaltsmoderationen in Live-Streaming- und Broadcasting-Anwendungen erleichtern und somit das Zuschauererlebnis verbessern und eine rechtzeitige Inhaltsbereitstellung sicherstellen.
4. **Gaming und Esports**: In Online-Gaming und Esports können low-latency LLMs das Spielerlebnis durch schnellere Sprachverarbeitung, Stimmungsanalysen und Chat-Moderation verbessern, die Verzögerung verringern und die Gesamtleistung steigern.
5. **Gesundheitswesen und Notdienste**: In Gesundheitswesen und Notdiensten können low-latency LLMs schnell medizinische Aufzeichnungen verarbeiten, Diagnosen stellen und wichtige Informationen an Gesundheitsexperten weitergeben, Leben retten und Patientenergebnisse verbessern.
6. **Finanzhandel und -analysen**: Low-latency LLMs können große Datensätze schnell analysieren und so den Hochfrequenzhandel, Stimmungsanalysen und Risikobewertungen in den Finanzmärkten ermöglichen, um Händlern und Analysten bei der fundierten Entscheidungsfindung zu helfen.
7. **Cybersicherheit**: In der Cybersicherheit können low-latency LLMs schnell Bedrohungen wie Malware, Phishing-Angriffe oder DDoS-Angriffe erkennen und darauf reagieren, die Angriffsfläche verringern und Schäden minimieren.
8. **Edge Computing und IoT**: Da IoT-Geräte sich vermehren, können low-latency LLMs Daten näher an der Quelle verarbeiten, die Latenz verringern und die Echtzeit-Entscheidungsfindung in Anwendungen wie Smart Homes, Städten oder industrieller Automatisierung verbessern.
9. **Zugänglichkeit und Inklusion**: Low-latency LLMs können Echtzeit-Sprachübersetzungen, Untertitelungen und Transkriptionen ermöglichen und so die Zugänglichkeit und Inklusion für Menschen mit Behinderungen, Sprachbarrieren oder Hörschwierigkeiten verbessern.
10. **Wettbewerbsvorteil**: In vielen Branchen können low-latency LLMs einen Wettbewerbsvorteil bieten, indem sie schnellere Entscheidungsfindung, verbesserte Kundenerfahrungen und gesteigerte betriebliche Effizienz ermöglichen, was letztendlich den Geschäftserfolg fördert.
Um niedrige Latenzzeiten bei LLMs zu erreichen, erforschen Forscher und Entwickler verschiedene Techniken, darunter:
1. Modellpruning und Wissensdistillation
2. Quantisierung und Präzisionsreduzierung
3. Parallelverarbeitung und verteiltes Rechnen
4. Edge Computing und dezentralisierte Architekturen
5. Optimierte Hardware- und Software-Designs
6. Caching und Memoisierung
7. Lazy Loading und Just-in-Time-Kompilierung
Durch die Reduzierung der Latenzzeiten bei LLMs können wir neue Möglichkeiten in verschiedenen Anwendungen erschließen, die zu verbesserten Benutzererfahrungen, gesteigerter Effizienz und erweiterten Entscheidungsfähigkeiten führen.
CrewAI erfordert ein chatbasiertes Modell für die Bindung:
from langchain_openai import ChatOpenAI
chat_llm = ChatOpenAI(
openai_api_base="https://api.groq.com/openai/v1",
openai_api_key=groq_api_key,
model="llama3-70b-8192",
temperature=0,
max_tokens=1000,
)
Daten herunterladen:
!wget "https://s23.q4cdn.com/407969754/files/doc_financials/2019/ar/Uber-Technologies-Inc-2019-Annual-Report.pdf" -O uber_10k.pdf
Inhalte der Daten parsen:
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex
from llama_index.llms.openai import OpenAI
import os
from langchain_openai import ChatOpenAI
reader = SimpleDirectoryReader(input_files=["uber_10k.pdf"])
docs = reader.load_data()
docs[1]
Beispiel für die Ausgabe:
Document(id_='dd161725-2512-4b03-a689-accc69dc46d4', embedding=None, metadata={'page_label': '2', 'file_name': 'uber_10k.pdf', 'file_path': 'uber_10k.pdf', 'file_type': 'application/pdf', 'file_size': 2829436, 'creation_date': '2024-06-30', 'last_modified_date': '2020-03-31'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date'], relationships={}, text='69 \nCountries\n10K+ \nCities\n$65B \nGross Bookings\n111M \nMAPCs\n7B \nTripsA global tech \nplatform at \nmassive scale\nServing multiple multi-trillion \ndollar markets with products \nleveraging our core technology \nand infrastructure\nWe believe deeply in our bold mission. Every minute \nof every day, consumers and Drivers on our platform \ncan tap a button and get a ride or tap a button and \nget work. We revolutionized personal mobility with \nridesharing, and we are leveraging our platform to \nredefine the massive meal delivery and logistics \nindustries. The foundation of our platform is our \nmassive network, leading technology, operational \nexcellence, and product expertise. Together, these \nelements power movement from point A to point B.', mimetype='text/plain', start_char_idx=None, end_char_idx=None, text_template='{metadata_str}\n\n{content}', metadata_template='{key}: {value}', metadata_seperator='\n')
Einrichten des Einbettungsmodells:
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
# lädt BAAI/bge-small-en-v1.5
embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")
Index aufbauen:
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
Abfrage-Engine erstellen:
query_engine = index.as_query_engine(similarity_top_k=5, llm=llm)
Die Abfrage-Engine als Tool instanziieren:
from crewai_tools import LlamaIndexTool
query_tool = LlamaIndexTool.from_query_engine(
query_engine,
name="Uber 2019 10K Query Tool",
description="Verwenden Sie dieses Tool, um den 10K-Jahresbericht von Uber 2019 nachzuschlagen",
)
query_tool.args_schema.schema()
Beispiel für die Ausgabe:
{'title': 'QueryToolSchema',
'description': 'Schema für das Abfragetool.',
'type': 'object',
'properties': {'query': {'title': 'Abfrage',
'description': 'Suchabfrage für das Abfragetool.',
'type': 'string'}},
'required': ['query']}
Forscher- und Schreiberagenten instanziieren:
import os
from crewai import Agent, Task, Crew, Process
# Definieren Sie Ihre Agenten mit Rollen und Zielen
researcher = Agent(
role="Senior Financial Analyst",
goal="Erkenntnisse über verschiedene Technologieunternehmen gewinnen",
backstory="""Sie arbeiten bei einer Vermögensverwaltungsgesellschaft.
Ihr Ziel ist es, Technologiewerte wie Uber zu verstehen.""",
verbose=True,
allow_delegation=False,
tools=[query_tool],
llm=chat_llm,
)
writer = Agent(
role="Tech Content Strategist",
goal="Fesselnde Inhalte über technologische Fortschritte erstellen",
backstory="""Sie sind ein renommierter Content-Stratege, bekannt für Ihre aufschlussreichen und ansprechenden Artikel.
Sie verwandeln komplexe Konzepte in fesselnde Erzählungen.""",
llm=chat_llm,
verbose=True,
allow_delegation=False,
)
Entsprechende Aufgaben definieren:
# Aufgaben für Ihre Agenten erstellen
task1 = Task(
description="""Führen Sie eine umfassende Analyse der Risikofaktoren von Uber im Jahr 2019 durch.""",
expected_output="Vollständiger Analysebericht in Aufzählungspunkten",
agent=researcher,
)
task2 = Task(
description="""Entwickeln Sie auf der Grundlage der bereitgestellten Erkenntnisse einen ansprechenden Blogbeitrag, der die Gegenwinde beleuchtet, denen Uber gegenübersteht.
Ihr Beitrag sollte informativ, aber zugänglich sein und sich an ein lockeres Publikum richten.
Machen Sie es cool, vermeiden Sie komplexe Worte.""",
expected_output="Vollständiger Blogbeitrag mit mindestens 4 Absätzen",
agent=writer,
)
Die Crew mit einem sequenziellen Prozess instanziieren. Fügen Sie hier Ihre Mitglieder zusammen:
crew = Crew(
agents=[researcher, writer],
tasks=[task1, task2],
verbose=2, # Sie können es auf 1 oder 2 für unterschiedliche Protokollierungsstufen setzen
)
Den Agenten-Workflow initiieren:
# Lassen Sie Ihre Crew arbeiten!
result = crew.kickoff()
print("######################")
print(result)
Beispiel für die Ausgabe:
[2024-06-30 16:41:45][DEBUG]: == Working Agent: Senior Financial Analyst
[2024-06-30 16:41:45][INFO]: == Starting Task: Conduct a comprehensive analysis of Uber's risk factors in 2019.
> Entering new CrewAgentExecutor chain...
I need to understand the risk factors associated with Uber in 2019.
Action: Uber 2019 10K Query Tool
Action Input: {"query": "Item 1A. Risk Factors"}
Our business, financial condition, operating results, and prospects are exposed to various risks and uncertainties, including those related to our expansion into new markets, development of new technologies, and growth of our network of vertical take-off and landing vehicles. These risks may have a material adverse effect on our business, financial condition, and results of operations.
Thought:
I need to understand the specific risks associated with Uber's expansion into new markets.
Action: Uber 2019 10K Query Tool
Action Input: {"query": "expansion into new markets"}
The company believes that European shippers and carriers experience many of the same pain points in their current operations as U.S. shippers and carriers, and therefore, they announced the expansion of their Freight offering into Europe in March 2019.
Thought:
I need to understand the specific risks associated with Uber's expansion into new markets.
Action: Uber 2019 10K Query Tool
Action Input: {"query": "expansion into new markets risks"}
Our business is substantially dependent on operations outside the United States, including those in markets in which we have limited experience, and if we are unable to manage the risks presented by our business model internationally, our financial results and future prospects will be adversely impacted.
Thought:
I need to understand the risk factors associated with Uber's development of new technologies.
Action: Uber 2019 10K Query Tool
Action Input: {"query": "development of new technologies risks"}
The development of new technologies is inherently risky, and we may never realize any expected benefits from them. In addition, the safety risks associated with these new technologies, such as dockless e-bikes and e-scooters, may not be fully mitigated, even with our efforts to advise users of local safety regulations and offer promotional codes for helmets. If we do not spend our development budget efficiently or effectively on commercially successful and innovative technologies, we may not realize the expected benefits of our strategy, and users may be exposed to increased risks of injuries or death.
Thought:
I need to understand the risk factors associated with Uber's growth of network of vertical take-off and landing vehicles.
Action: Uber 2019 10K Query Tool
Action Input: {"query": "vertical take-off and landing vehicles risks"}
There is no mention of "vertical take-off and landing vehicles" or "VTOL" in the provided context information. The context discusses Uber's business, including its autonomous vehicle technologies, dockless e-bikes and e-scooters, Freight, and Uber Elevate, as well as risks related to these services, such as competition, regulatory issues, and safety concerns. However, it does not mention VTOL vehicles or any related risks.
Thought: I now know the final answer
Final Answer:
Comprehensive Analysis of Uber's Risk Factors in 2019:
• Our business, financial condition, operating results, and prospects are exposed to various risks and uncertainties, including those related to our expansion into new markets, development of new technologies, and growth of our network of vertical take-off and landing vehicles. These risks may have a material adverse effect on our business, financial condition, and results of operations.
• Risks associated with expansion into new markets:
• The company believes that European shippers and carriers experience many of the same pain points in their current operations as U.S. shippers and carriers, and therefore, they announced the expansion of
their Freight offering into Europe in March 2019.
• Our business is substantially dependent on operations outside the United States, including those in markets in which we have limited experience, and if we are unable to manage the risks presented by our business model internationally, our financial results and future prospects will be adversely impacted.
• Risks associated with development of new technologies:
• The development of new technologies is inherently risky, and we may never realize any expected benefits from them.
• In addition, the safety risks associated with these new technologies, such as dockless e-bikes and e-scooters, may not be fully mitigated, even with our efforts to advise users of local safety regulations and offer promotional codes for helmets.
• If we do not spend our development budget efficiently or effectively on commercially successful and innovative technologies, we may not realize the expected benefits of our strategy, and users may be exposed to increased risks of injuries or death.
• Risks associated with growth of network of vertical take-off and landing vehicles:
• There is no mention of "vertical take-off and landing vehicles" or "VTOL" in the provided context information. The context discusses Uber's business, including its autonomous vehicle technologies, dockless e-bikes and e-scooters, Freight, and Uber Elevate, as well as risks related to these services, such as competition, regulatory issues, and safety concerns. However, it does not mention VTOL vehicles or any related risks.
> Finished chain.
[2024-06-30 16:45:39][DEBUG]: == [Senior Financial Analyst] Task output: Comprehensive Analysis of Uber's Risk Factors in 2019:
• Our business, financial condition, operating results, and prospects are exposed to various risks and uncertainties, including those related to our expansion into new markets, development of new technologies, and growth of our network of vertical take-off and landing vehicles. These risks may have a material adverse effect on our business, financial condition, and results of operations.
• Risks associated with expansion into new markets:
• The company believes that European shippers and carriers experience many of the same pain points in their current operations as U.S. shippers and carriers, and therefore, they announced the expansion of their Freight offering into Europe in March 2019.
• Our business is substantially dependent on operations outside the United States, including those in markets in which we have limited experience, and if we are unable to manage the risks presented by our business model internationally, our financial results and future prospects will be adversely impacted.
• Risks associated with development of new technologies:
• The development of new technologies is inherently risky, and we may never realize any expected benefits from them.
• In addition, the safety risks associated with these new technologies, such as dockless e-bikes and e-scooters, may not be fully mitigated, even with our efforts to advise users of local safety regulations and offer promotional codes for helmets.
• If we do not spend our development budget efficiently or effectively on commercially successful and innovative technologies, we may not realize the expected benefits of our strategy, and users may be exposed to increased risks of injuries or death.
• Risks associated with growth of network of vertical take-off and landing vehicles:
• There is no mention of "vertical take-off and landing vehicles" or "VTOL" in the provided context information. The context discusses Uber's business, including its autonomous vehicle technologies, dockless e-bikes and e-scooters, Freight, and Uber Elevate, as well as risks related to these services, such as competition, regulatory issues, and safety concerns. However, it does not mention VTOL vehicles or any related risks.
[2024-06-30 16:45:39][DEBUG]: == Working Agent: Tech Content Strategist
[2024-06-30 16:45:39][INFO]: == Starting Task: Using the insights provided, develop an engaging blog
post that highlights the headwinds that Uber faces.
Your post should be informative yet accessible, catering to a casual audience.
Make it sound cool, avoid complex words.
> Entering new CrewAgentExecutor chain...
Formatting errors incremented
Thought: I now can give a great answer
Final Answer:
**Uber's Turbulent Ride: Navigating the Headwinds Ahead**
As the pioneer of ride-hailing, Uber has revolutionized the way we move around cities. But beneath its sleek interface and convenient services, the company faces a multitude of challenges that threaten to disrupt its growth and profitability. In this post, we'll delve into the key headwinds that Uber must navigate to stay ahead of the curve.
**Expansion into New Markets: A Double-Edged Sword**
Uber's aggressive expansion into new markets, including Europe, may seem like a bold move, but it comes with its fair share of risks. The company's business model is heavily dependent on operations outside the United States, where it has limited experience. This lack of familiarity can lead to cultural and regulatory missteps, ultimately impacting its financial results and future prospects. Moreover, Uber must contend with local competitors who are better acquainted with the nuances of their respective markets. As the company ventures into uncharted territories, it must be prepared to adapt and innovate to stay competitive.
**The Risks of Innovation: Developing New Technologies**
Uber's foray into new technologies, such as dockless e-bikes and e-scooters, is a high-stakes game. While these innovations have the potential to disrupt traditional transportation models, they also come with inherent safety risks. The company must balance the need to advise users of local safety regulations with the need to promote its services and encourage adoption. Furthermore, the development of new technologies is inherently risky, and there's no guarantee that Uber will realize the expected benefits from its investments. If the company fails to spend its development budget efficiently, it may not only miss out on potential revenue streams but also expose users to increased risks of injuries or death.
**The Road Ahead: Navigating Regulatory Hurdles and Safety Concerns**
As Uber continues to grow and evolve, it must contend with a complex web of regulatory hurdles and safety concerns. From competition and regulatory issues to safety concerns and user trust, the company faces a multitude of challenges that can impact its bottom line. To stay ahead of the curve, Uber must prioritize user safety, invest in innovative technologies, and foster collaborative relationships with regulators and local authorities. By doing so, the company can mitigate the risks associated with its business model and continue to thrive in an increasingly competitive landscape.
In conclusion, Uber's journey to the top has been marked by innovation and disruption, but it's not without its challenges. As the company navigates the headwinds ahead, it must be prepared to adapt, innovate, and prioritize user safety above all else. By doing so, Uber can continue to revolutionize the transportation industry and stay ahead of the competition.
> Finished chain.
[2024-06-30 16:45:59][DEBUG]: == [Tech Content Strategist] Task output: **Uber's Turbulent Ride: Navigating the Headwinds Ahead**
As the pioneer of ride-hailing, Uber has revolutionized the way we move around cities. But beneath its sleek interface and convenient services, the company faces a multitude of challenges that threaten to disrupt its growth and profitability. In this post, we'll delve into the key headwinds that Uber must navigate to stay ahead of the curve.
**Expansion into New Markets: A Double-Edged Sword**
Uber's aggressive expansion into new markets, including Europe, may seem like a bold move, but it comes with its fair share of risks. The company's business model is heavily dependent on operations outside the United States, where it has limited experience. This lack of familiarity can lead to cultural and regulatory missteps, ultimately impacting its financial results and future prospects. Moreover, Uber must contend with local competitors who are better acquainted with the nuances of their respective markets. As the company ventures into uncharted territories, it must be prepared to adapt and innovate to stay competitive.
**The Risks of Innovation: Developing New Technologies**
Uber's foray into new technologies, such as dockless e-bikes and e-scooters, is a high-stakes game. While these innovations have the potential to disrupt traditional transportation models, they also come with inherent safety risks. The company must balance the need to advise users of local safety regulations with the need to promote its services and encourage adoption. Furthermore, the development of new technologies is inherently risky, and there's no guarantee that Uber will realize the expected benefits from its investments. If the company fails to spend its development budget efficiently, it may not only miss out on potential revenue streams but also expose users to increased risks of injuries or death.
**The Road Ahead: Navigating Regulatory Hurdles and Safety Concerns**
As Uber continues to grow and evolve, it must contend with a complex web of regulatory hurdles and safety concerns. From competition and regulatory issues to safety concerns and user trust, the company faces a multitude of challenges that can impact its bottom line. To stay ahead of the curve, Uber must prioritize user safety, invest in innovative technologies, and foster collaborative relationships with regulators and local authorities. By doing so, the company can mitigate the risks associated with its business model and continue to thrive in an increasingly competitive landscape.
In conclusion, Uber's journey to the top has been marked by innovation and disruption, but it's not without its challenges. As the company navigates the headwinds ahead, it must be prepared to adapt, innovate, and prioritize user safety above all else. By doing so, Uber can continue to revolutionize the transportation industry and stay ahead of the competition.
Schlussfolgerung
Hier haben wir einen Finanzforschungsanalysten-Agenten vollständig unter Verwendung von Open Source LLMs aufgebaut. Diese Lösung basiert auf dem Beispiel, das von Llamaindex unter Verwendung von CrewAI geteilt wurde.