Stellen Sie sich vor, Sie könnten die mühsame Aufgabe automatisieren, Gewinnberichte zu analysieren, wichtige Erkenntnisse zu gewinnen und fundierte Empfehlungen abzugeben – und das alles, ohne einen Finger zu rühren. In diesem Artikel zeigen wir Ihnen, wie Sie eine erstellen Multiagentensystem unter Verwendung des Swarm-Frameworks von OpenAI, das genau für die Bewältigung dieser Aufgaben entwickelt wurde. Sie erfahren, wie Sie drei spezialisierte Agenten einrichten und orchestrieren: einen zum Zusammenfassen von Gewinnberichten, einen anderen zum Analysieren der Stimmung und einen dritten zum Generieren umsetzbarer Empfehlungen. Am Ende dieses Tutorials verfügen Sie über eine skalierbare, modulare Lösung zur Optimierung der Finanzanalyse mit potenziellen Anwendungen, die über reine Gewinnberichte hinausgehen.

Lernergebnisse

  • Verstehen Sie die Grundlagen des Swarm-Frameworks von OpenAI für Multiagentensysteme.
  • Erfahren Sie, wie Sie Agenten zum Zusammenfassen erstellen, Stimmungsanalyseund Empfehlungen.
  • Entdecken Sie die Verwendung modularer Agenten für die Analyse von Gewinnberichten.
  • Verwalten Sie API-Schlüssel sicher mithilfe einer .env-Datei.
  • Implementieren Sie ein Multi-Agenten-System, um die Verarbeitung von Gewinnberichten zu automatisieren.
  • Gewinnen Sie Einblicke in reale Anwendungen von Multiagentensystemen im Finanzwesen.
  • Richten Sie einen Multi-Agent-Workflow mit dem Swarm-Framework von OpenAI ein und führen Sie ihn aus.

Dieser Artikel wurde im Rahmen der veröffentlicht Information Science-Blogathon.

Erstellen eines Verdienstberichtsagenten mit Swarm Framework

Was ist der Schwarm von OpenAI?

Schwarm ist ein leichtes, experimentelles Framework von OpenAI, das sich auf die Orchestrierung mehrerer Agenten konzentriert. Es ermöglicht uns, mehrere Agenten zu koordinieren, die jeweils bestimmte Aufgaben übernehmen, wie z. B. das Zusammenfassen von Inhalten, das Durchführen von Stimmungsanalysen oder das Empfehlen von Maßnahmen. In unserem Fall entwerfen wir drei Agenten:

  • Zusammenfassung Agent: Bietet eine prägnante Zusammenfassung des Ergebnisberichts.
  • Sentiment-Agent: Analysiert die Stimmung anhand des Berichts.
  • Empfehlungsagent: Empfiehlt Maßnahmen basierend auf einer Stimmungsanalyse.

Anwendungsfälle und Vorteile von Multiagentensystemen

Sie können das hier aufgebaute Multiagentensystem für verschiedene Anwendungsfälle erweitern.

  • Portfoliomanagement: Automatisieren Sie die Überwachung mehrerer Unternehmensberichte und schlagen Sie Portfolioänderungen basierend auf Stimmungstrends vor.
  • Nachrichtenzusammenfassung für Finanzen: Integrieren Sie Echtzeit-Newsfeeds mit diesen Agenten, um potenzielle Marktbewegungen frühzeitig zu erkennen.
  • Stimmungsverfolgung: Nutzen Sie die Stimmungsanalyse, um Aktienbewegungen oder Kryptotrends auf der Grundlage positiver oder negativer Marktnachrichten vorherzusagen.

Durch die Aufteilung von Aufgaben in modulare Agenten können Sie einzelne Komponenten in verschiedenen Projekten wiederverwenden und so Flexibilität und Skalierbarkeit gewährleisten.

Schritt 1: Einrichten Ihrer Projektumgebung

Bevor wir uns mit dem Codieren befassen, ist es wichtig, eine solide Grundlage für das Projekt zu schaffen. In diesem Schritt erstellen Sie die erforderlichen Ordner und Dateien und installieren die erforderlichen Abhängigkeiten, damit alles reibungslos funktioniert.

mkdir earnings_report
cd earnings_report
mkdir brokers utils
contact principal.py brokers/__init__.py utils/__init__.py .gitignore

Abhängigkeiten installieren

pip set up git+https://github.com/openai/swarm.git openai python-dotenv

Schritt 2: Speichern Sie Ihren API-Schlüssel sicher

Sicherheit ist der Schlüssel, insbesondere bei der Arbeit mit sensiblen Daten wie API-Schlüsseln. Dieser Schritt führt Sie durch die sichere Speicherung Ihres OpenAI-API-Schlüssels mit einem .env Datei, um sicherzustellen, dass Ihre Anmeldeinformationen sicher und zuverlässig sind.

OPENAI_API_KEY=your-openai-api-key-here

Dadurch wird sichergestellt, dass Ihr API-Schlüssel nicht in Ihrem Code offengelegt wird.

Schritt 3: Implementieren Sie die Agenten

Jetzt ist es an der Zeit, Ihre Agenten zum Leben zu erwecken! In diesem Schritt erstellen Sie drei separate Agenten: einen für die Zusammenfassung des Gewinnberichts, einen für die Stimmungsanalyse und einen dritten für die Generierung umsetzbarer Empfehlungen basierend auf der Stimmung.

Zusammenfassungsagent

Der Zusammenfassungsagent extrahiert die ersten 100 Zeichen des Verdienstberichts als Zusammenfassung.

Erstellen Sie „brokers/summary_agent.py“:

from swarm import Agent

def summarize_report(context_variables):
    report_text = context_variables("report_text")
    return f"Abstract: {report_text(:100)}..."

summary_agent = Agent(
    title="Abstract Agent",
    directions="Summarize the important thing factors of the earnings report.",
    features=(summarize_report)
)

Sentiment-Agent

Dieser Agent prüft, ob das Wort „Gewinn“ im Bericht vorkommt, um festzustellen, ob die Stimmung positiv ist.

Erstellen Sie „brokers/sentiment_agent.py“:

from swarm import Agent

def analyze_sentiment(context_variables):
    report_text = context_variables("report_text")
    sentiment = "constructive" if "revenue" in report_text else "destructive"
    return f"The sentiment of the report is: {sentiment}"

sentiment_agent = Agent(
    title="Sentiment Agent",
    directions="Analyze the sentiment of the report.",
    features=(analyze_sentiment)
)

Empfehlungsagent

Basierend auf der Stimmung schlägt dieser Agent „Kaufen“ oder „Halten“ vor.

Erstellen Sie „brokers/recommendation_agent.py“:

from swarm import Agent

def generate_recommendation(context_variables):
    sentiment = context_variables("sentiment")
    suggestion = "Purchase" if sentiment == "constructive" else "Maintain"
    return f"My suggestion is: {suggestion}"

recommendation_agent = Agent(
    title="Advice Agent",
    directions="Advocate actions based mostly on the sentiment evaluation.",
    features=(generate_recommendation)
)

Schritt 4: Fügen Sie eine Hilfsfunktion zum Laden von Dateien hinzu

Das effiziente Laden von Daten ist ein entscheidender Teil jedes Projekts. Hier erstellen Sie eine Hilfsfunktion, um den Prozess des Lesens und Ladens der Verdienstberichtsdatei zu optimieren und Ihren Agenten den Zugriff auf die Daten zu erleichtern.

def load_earnings_report(filepath):
    with open(filepath, "r") as file:
        return file.learn()

Schritt 5: Binden Sie alles in principal.py zusammen

Wenn Ihre Agenten bereit sind, ist es an der Zeit, alles zusammenzufassen. In diesem Schritt schreiben Sie das Hauptskript, das die Agenten orchestriert und es ihnen ermöglicht, harmonisch zusammenzuarbeiten, um den Verdienstbericht zu analysieren und Erkenntnisse daraus bereitzustellen.

from swarm import Swarm
from brokers.summary_agent import summary_agent
from brokers.sentiment_agent import sentiment_agent
from brokers.recommendation_agent import recommendation_agent
from utils.helpers import load_earnings_report
import os
from dotenv import load_dotenv

# Load surroundings variables from the .env file
load_dotenv()

# Set the OpenAI API key from the surroundings variable
os.environ('OPENAI_API_KEY') = os.getenv('OPENAI_API_KEY')

# Initialize Swarm consumer
consumer = Swarm()

# Load earnings report
report_text = load_earnings_report("sample_earnings.txt")

# Run abstract agent
response = consumer.run(
    agent=summary_agent,
    messages=({"function": "consumer", "content material": "Summarize the report"}),
    context_variables={"report_text": report_text}
)
print(response.messages(-1)("content material"))

# Cross abstract to sentiment agent
response = consumer.run(
    agent=sentiment_agent,
    messages=({"function": "consumer", "content material": "Analyze the sentiment"}),
    context_variables={"report_text": report_text}
)
print(response.messages(-1)("content material"))

# Extract sentiment and run suggestion agent
sentiment = response.messages(-1)("content material").cut up(": ")(-1).strip()
response = consumer.run(
    agent=recommendation_agent,
    messages=({"function": "consumer", "content material": "Give a suggestion"}),
    context_variables={"sentiment": sentiment}
)
print(response.messages(-1)("content material"))

Schritt 6: Erstellen Sie einen Beispiel-Verdienstbericht

Um Ihr System zu testen, benötigen Sie Daten! In diesem Schritt erfahren Sie, wie Sie einen Beispiel-Verdienstbericht erstellen, den Ihre Agenten verarbeiten können, um sicherzustellen, dass alles einsatzbereit ist.

Firm XYZ reported a 20% enhance in income in comparison with the earlier quarter. 
Gross sales grew by 15%, and the corporate expects continued progress within the subsequent fiscal 12 months.

Schritt 7: Führen Sie das Programm aus

Nachdem nun alles eingerichtet ist, ist es an der Zeit, das Programm auszuführen und Ihr Multi-Agenten-System in Aktion zu beobachten, während es den Gewinnbericht analysiert, eine Stimmungsanalyse durchführt und Empfehlungen abgibt.

python principal.py

Erwartete Ausgabe:

Führen Sie das Programm aus

Abschluss

Wir haben mithilfe des Swarm-Frameworks von OpenAI eine Multi-Agenten-Lösung entwickelt, um die Analyse von Ertragsberichten zu automatisieren. Mit nur wenigen Agenten können wir Finanzinformationen verarbeiten und umsetzbare Empfehlungen abgeben. Sie können diese Lösung problemlos erweitern, indem Sie neue Agenten für tiefergehende Analysen hinzufügen oder Echtzeit-Finanz-APIs integrieren.

Probieren Sie es selbst aus und sehen Sie, wie Sie es mit zusätzlichen Datenquellen oder Agenten für eine umfassendere Analyse erweitern können!

Wichtige Erkenntnisse

  • Modulare Architektur: Durch die Aufteilung des Techniques in mehrere Agenten und Dienstprogramme bleibt der Code wartbar und skalierbar.
  • Swarm Framework Energy: Swarm ermöglicht reibungslose Übergaben zwischen Agenten und erleichtert so die Erstellung komplexer Multi-Agent-Workflows.
  • Sicherheit durch .env: Durch die Verwaltung von API-Schlüsseln mit dotenv wird sichergestellt, dass vertrauliche Daten nicht fest im Projekt verankert sind.
  • Dieses Projekt kann durch die Integration von APIs auf die Verarbeitung von Dwell-Finanzdaten ausgeweitet werden, wodurch es Echtzeitempfehlungen für Anleger bereitstellen kann.

Häufig gestellte Fragen

Q1. Was ist das Swarm-Framework von OpenAI?

A. Swarm von OpenAI ist ein experimentelles Framework, das für die Koordinierung mehrerer Agenten zur Ausführung bestimmter Aufgaben entwickelt wurde. Es eignet sich very best zum Aufbau modularer Systeme, bei denen jeder Agent eine definierte Rolle hat, z. B. das Zusammenfassen von Inhalten, das Durchführen von Stimmungsanalysen oder das Generieren von Empfehlungen.

Q2. Was sind die Schlüsselkomponenten eines Multiagentensystems?

A. In diesem Tutorial besteht das Multiagentensystem aus drei Schlüsselagenten: dem Zusammenfassungsagenten, dem Stimmungsagenten und dem Empfehlungsagenten. Jeder Agent führt eine bestimmte Funktion aus, z. B. die Zusammenfassung eines Gewinnberichts, die Analyse seiner Stimmung oder die Empfehlung von Maßnahmen basierend auf der Stimmung.

Q3. Wie sichere ich meinen OpenAI-API-Schlüssel in diesem Projekt?

A. Sie können Ihren API-Schlüssel sicher in einem speichern .env Datei. Auf diese Weise wird der API-Schlüssel nicht direkt in Ihrem Code offengelegt, wodurch die Sicherheit gewährleistet bleibt. Der .env Die Datei kann mit geladen werden python-dotenv Paket.

This autumn. Kann ich dieses Projekt erweitern, um Dwell-Finanzdaten zu verarbeiten?

A. Ja, das Projekt kann durch die Integration von Finanz-APIs auf die Verarbeitung von Dwell-Daten erweitert werden. Sie können zusätzliche Agenten erstellen, um Echtzeit-Einkommensberichte abzurufen und Traits zu analysieren, um aktuelle Empfehlungen bereitzustellen.

F5. Kann ich die Agenten in anderen Projekten wiederverwenden?

A. Ja, die Agenten sind modular aufgebaut, sodass Sie sie in anderen Projekten wiederverwenden können. Sie können sie an verschiedene Aufgaben anpassen, z. B. das Zusammenfassen von Nachrichtenartikeln, das Durchführen einer Textstimmungsanalyse oder das Aussprechen von Empfehlungen auf der Grundlage beliebiger strukturierter Daten.

Die in diesem Artikel gezeigten Medien sind nicht Eigentum von Analytics Vidhya und werden nach Ermessen des Autors verwendet.

Hallo,
Ich bin zertifizierter TensorFlow-Entwickler, GCP Affiliate Engineer und GCP Machine Studying Engineer.

Was die GCP-Kenntnisse betrifft, habe ich Erfahrung in der Arbeit mit verschiedenen GCP-Diensten wie Compute Engine, Kubernetes Engine, App Engine, Cloud Storage, BigQuery und Cloud SQL. Ich habe Erfahrung mit cloudnativen Datenverarbeitungstools wie Dataflow und Apache Beam. Außerdem beherrsche ich die Verwendung von Cloud SDK und Cloud Shell für die Bereitstellung und Verwaltung von GCP-Ressourcen. Ich verfüge über praktische Erfahrung in der Einrichtung und Verwaltung von GCP-Projekten, der Erstellung und Verwaltung virtueller Maschinen, der Konfiguration von Load Balancern und der Speicherverwaltung.

Was maschinelles Lernen angeht, habe ich Erfahrung in der Arbeit mit einer Vielzahl von Algorithmen, darunter überwachtes und unüberwachtes Lernen, Deep Studying und Verarbeitung natürlicher Sprache. Ich habe auch an einer Vielzahl von Projekten gearbeitet, darunter Bildklassifizierung, Stimmungsanalyse und Vorhersagemodellierung.

Was Internet Scraping angeht, habe ich Erfahrung mit einer Vielzahl von Instruments und Bibliotheken, darunter Scrapy, BeautifulSoup und Selenium. Ich habe auch mit APIs gearbeitet und kann die Datenbereinigung, Vorverarbeitung und Visualisierung übernehmen.

Vielen Dank für Ihre Zeit.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert