In der heutigen schnelllebigen Welt kann es eine Herausforderung sein, die neuesten Nachrichten in einem bestimmten Bereich zu verfolgen. Wie wäre es, wenn wir die Leistung von generativer KI und Agenten nutzen könnten, um einen personalisierten Nachrichtenaggregator zu erstellen, der vollständig auf lokalen Maschinen läuft? In diesem Artikel werden wir untersuchen, wie manOllamades Modells Llama 3.2,SchwarmProxy-Planung durchführen, undDuckDuckGoFühren Sie eine Websuche zum Aufbau eines solchen Systems durch.
Die Macht der lokalen KI
Mit dem Aufkommen groß angelegter Sprachmodelle sind wir nun in der Lage, komplexe KI-Systeme auf unseren PCs auszuführen. Dies eröffnet unendliche Möglichkeiten für die Entwicklung von Tools, die auf unsere spezifischen Bedürfnisse zugeschnitten sind. Unser Nachrichtenaggregator ist ein perfektes Beispiel für dieses Potenzial.
Bestandteile unseres Systems
- Ollama mit Llama 3.2 Dies ist das Herzstück unseres Systems, das unsere KI-Agenten antreibt.
- Schwarm Ein Agenten-Orchestrierungs-Framework, mit dem wir mehrere KI-Agenten erstellen und verwalten können.
- DuckDuckGo Suche :: Bereitstellung aktueller Websuchergebnisse ohne Nachverfolgung von Nutzerdaten.
Arbeitsprinzip
Unser Nachrichtenaggregator besteht aus zwei Haupt-KI-Agenten:
- Presse-Assistentin DuckDuckGo-Suche: Nutzen Sie die DuckDuckGo-Suche, um die neuesten Nachrichtenartikel zu bestimmten Themen zu finden.
- Redaktionsassistentin Überprüfung und Verfeinerung der gesammelten Nachrichten für die endgültige Präsentation.
Lassen Sie uns den Arbeitsablauf aufschlüsseln:
1. die Einrichtung der Umgebung
ollama llama3.2 ziehen
export OPENAI_MODEL_NAME=llama3.2
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_API_KEY=beliebig
pip install git+https://github.com/openai/swarm.git duckduckgo-search
Zunächst importieren wir die erforderlichen Bibliotheken und initialisieren unseren Swarm-Client:
from duckduckgo_search import DDGS
from Schwarm importieren Schwarm, Agent
from datetime import datetime
aktuelles_datum = datetime.now().strftime("%Y-%m")
client = Schwarm()
2. die Einrichtung einer Suchfunktion für Nachrichten
Wir definieren eine Funktion für die Suche nach Nachrichten mit DuckDuckGo:
pythondef get_news_articles(topic).
ddg_api = DDGS()
results = ddg_api.text(f"{topic} {current_date}", max_results=5)
if results.
news_results = "\n\n".join([f "Titel: {result['title']}\nURL: {result['href']}\nDescription: {result['body']}" for result in results])
return news_results
else: return f "Konnten keine News-Ergebnisse gefunden werden?
return f "Konnte keine News-Ergebnisse für {topic} finden."
3. Definition unserer KI-Agenten
Wir erstellen zwei Agenten unter Verwendung des Llama 3.2-Modells von Ollama:
news_agent = Agent(
model="llama3.2",
name="Nachrichten-Assistent",
instructions="Sie liefern die neuesten Nachrichtenartikel zu einem bestimmten Thema über die DuckDuckGo-Suche.", functions=[get_news_articles], news_agent = Agent(
functions=[get_news_articles], )
)
editor_agent = Agent(
model="llama3.2", name="Redaktionsassistent", functions=[get_news_articles], )
name="Redaktionsassistent", instructions="Sie überprüfen und finalisieren", ) editor_agent = Agent(
instructions="Sie überprüfen und finalisieren den News-Artikel für die Veröffentlichung.",)
)
4. die Koordinierung der Arbeitsabläufe
Wir definieren eine Funktion, die unseren Workflow zur Nachrichtenaggregation ausführt:
def run_news_workflow(topic).
# Abrufen von Nachrichten
news_response = client.run(
agent=news_agent,
messages=[{"role": "user", "content": f "Holen Sie mir die Nachrichten über {topic} am {current_date}"}], )
)
raw_news = news_response.messages[-1]["content"]
# Übergabe der Nachrichten an den Redakteur zur endgültigen Überprüfung
edited_news_response = client.run(
agent=editor_agent,
messages=[{"role": "system", "content": raw_news}],]
)
print(f"{edited_news_response.messages[-1]['content']}")
5. betriebliche Systeme
Schließlich können wir unseren Nachrichtenaggregator für jedes beliebige Thema einsetzen:
run_news_workflow("KI in der Wirkstoffforschung")
Vollständiger Code: app.py
from duckduckgo_search import DDGS
from Schwarm importieren Schwarm, Agent
from datetime import datetime
current_date = datetime.now().strftime("%Y-%m")
# Swarm-Client initialisieren
client = Schwarm()
# 1. ein Internet-Suchwerkzeug erstellen
def get_news_articles(topic).
print(f "Suche mit DuckDuckGo nach Nachrichten für {Thema}...")
# DuckDuckGo-Suche
ddg_api = DDGS()
results = ddg_api.text(f"{topic} {current_date}", max_results=5)
if results.
news_results = "\n\n".join([f "Titel: {result['title']}\nURL: {result['href']}\nDescription: {result['body']}" for result in results])
return news_results
else.
return f "Es konnten keine News-Ergebnisse zu {topic} gefunden werden."
# 2. den KI-Agenten erstellen
def transfer_to_editor_assistant(raw_news):
print("Übergabe des Artikels an den Redaktionsassistenten...")
return editor_agent.run({"Rolle": "System", "Inhalt": raw_news})
# News-Agent zum Abrufen von Nachrichten
news_agent = Agent(
model="llama3.2",
name="NewsAssistant",
instructions="Sie liefern die neuesten Nachrichtenartikel zu dem angegebenen Thema, indem Sie die DuckDuckGo-Suche verwenden." ,
functions=[get_news_articles], )
)
# Editier-Agent zum Bearbeiten von Nachrichten
editor_agent = Agent(
model="llama3.2",
name="editor_agent",
instructions="Sie überprüfen und finalisieren Nachrichtenartikel für die Veröffentlichung." ,
)
# 3. Workflow erstellen
def run_news_workflow(topic).
print("Ausführen des News-Agent-Workflows...")
# Der erste Schritt: Abrufen der Nachrichten
news_response = client.run(
news_response = client.run( agent=news_agent,
messages=[{"role": "user", "content": f "Holen Sie sich Nachrichten über {topic} am {current_date}"}],]
)
raw_news = news_response.messages[-1]["content"]
print(f "Abgerufene Nachrichten: {raw_news}")
# Schritt 2: Übergabe der Nachricht an den Redakteur zur endgültigen Überprüfung
edited_news_response = client.run(
agent=editor_agent,
messages=[{"role": "system", "content": raw_news}],]
)
print(f"{edited_news_response.messages[-1]['content']}")
# Beispiel für die Ausführung eines Nachrichten-Workflows für ein bestimmtes Thema
run_news_workflow("KI in der Arzneimittelentdeckung")
Musterausgabe (Berechnung)
Laufender News-Agent-Workflow...
DuckDuckGo Nachrichtensuche für AI in Drug Discovery...
Abgerufene Nachrichten: Hier ist eine formatierte Antwort basierend auf den Nachrichtenartikeln.
**Künstliche Intelligenz in der Wirkstoffforschung: Eine revolutionäre Veränderung
Die Rolle der Künstlichen Intelligenz (KI) in der Arzneimittelforschung stellt einen revolutionären Wandel in der Pharmazie dar. KI nutzt komplexe Algorithmen, um autonome Entscheidungen zu treffen, und ergänzt die menschlichen Fähigkeiten bei der Datenanalyse, anstatt sie zu ersetzen....
**Herausforderungen und Beschränkungen**
Trotz vielversprechender Fortschritte gibt es auf diesem Gebiet noch Herausforderungen und Grenzen. Das Papier "The Role of AI in Drug Discovery" (Die Rolle der KI bei der Entdeckung von Arzneimitteln) befasst sich mit diesen Fragen und hebt den Bedarf an qualitativ hochwertigen Daten, die Lösung ethischer Fragen und das Bewusstsein für die Grenzen von KI-basierten Ansätzen hervor.
**KI in der Arzneimittelforschung**
KI hat das Potenzial, eine Schlüsselrolle bei der Entdeckung und Entwicklung von Arzneimitteln sowie bei der Untersuchung von Wechselwirkungen zwischen Arzneimitteln zu spielen:
* Multi-Target-Pharmakologie: KI kann die Wirksamkeit von Wirkstoffen bei mehreren Krankheiten vorhersagen.
* Chemische Synthese: KI kann chemische Syntheseprozesse für eine schnellere und effizientere Produktion optimieren.
* Neupositionierung von Arzneimitteln: KI kann neue Verwendungszwecke für bestehende Arzneimittel ermitteln.
* Vorhersage von Arzneimitteleigenschaften: KI kann die Wirksamkeit, Toxizität und physikochemischen Eigenschaften von Wirkstoffen vorhersagen.
** Die Zukunft der KI in der Arzneimittelentdeckung
Die erfolgreiche Anwendung der KI wird von der Verfügbarkeit hochwertiger Daten, der Klärung ethischer Fragen und dem Bewusstsein für die Grenzen von KI-basierten Ansätzen abhängen.
Vorteile der Syndizierung lokaler AI-Nachrichten
- Privatwirtschaft Die gesamte Verarbeitung findet auf Ihrem lokalen Rechner statt, so dass Ihre Daten in Ihren eigenen Händen bleiben.
- Personalisierung Sie können die Anweisungen eines Beauftragten leicht ändern oder einen neuen Beauftragten hinzufügen, um Ihre speziellen Anforderungen zu erfüllen.
- Neueste Informationen : Durch die Suche mit DuckDuckGo erhalten Sie immer die neuesten Nachrichten zu dem Thema Ihrer Wahl.
- KI-gesteuerte Kuration Der Redaktionsassistent hilft dabei, die gesammelten Nachrichten zu verfeinern und zu organisieren, um ein besseres Endergebnis zu erzielen.
ein Urteil fällen
Dieser lokale KI-gestützte Nachrichtenaggregator zeigt das Potenzial der Kombination von groß angelegten Sprachmodellen mit Websuchfunktionen. Durch die Nutzung des Llama 3.2-Modells von Ollama, Swarm für die Orchestrierung von Agenten und DuckDuckGo für die Suche haben wir ein leistungsstarkes Tool geschaffen, das es uns ermöglicht, über jedes Thema von Interesse informiert zu bleiben, während unsere Privatsphäre gewahrt bleibt und es vollständig auf lokalen Computern läuft.
Mit der Weiterentwicklung der KI werden die Möglichkeiten für die Erstellung personalisierter, KI-gestützter Tools immer größer. Dieser Nachrichten-Aggregator ist nur der Anfang - stellen Sie sich vor, welche anderen innovativen Anwendungen Sie mit diesen Technologien entwickeln könnten!