Cogency ist ein Open-Source-Tool für kognitive Architekturen, das auf GitHub gehostet wird und Entwicklern helfen soll, effiziente KI-Agenten zu erstellen. Es ermöglicht eine mehrstufige Aufgabenverarbeitung durch transparente ReAct-Schleifen (Reason, Act, Observe, Generate) mit Unterstützung für Echtzeit-Streaming-Output und nachvollziehbare Operationen. Cogency bietet eine flexible Integration mit Tools wie Websuche, Wettervorhersage und Routenplanung und eignet sich damit für die Entwicklung intelligenter Automatisierungsanwendungen. Der Benutzer kann die Persönlichkeit, den Tonfall und den Stil des Agenten individuell anpassen und beispielsweise einen KI-Assistenten im Stil eines "freundlichen Piraten" oder eines "geduldigen Lehrers" erstellen. Durch die Unterstützung mehrerer Sprachmodelle und ein eingebettetes Backend ist das Projekt einfach zu installieren und Entwickler können schnell loslegen. Cogency ist modular und erweiterbar aufgebaut und eignet sich für Entwicklungsanforderungen von einfachen Aufgaben bis hin zu komplexen Workflows.
Funktionsliste
- mehrstufige ArgumentationKomplexe Aufgaben durch den ReAct-Zyklus (Reasoning, Acting, Observing, Generating) zerlegen und Schritt für Schritt Ergebnisse erzielen.
- WerkzeugintegrationUnterstützung für Tools wie Websuche, Wettervorhersagen, Reiseinformationen usw. Entwickler können die Tools anpassen, um die Funktionalität zu erweitern.
- Streaming-Ausgabe in EchtzeitJeder Arbeitsschritt wird in Echtzeit angezeigt, um die Fehlersuche und -verfolgung zu erleichtern.
- Personalisierte AgentenUnterstützung bei der Einstellung der Persönlichkeit, des Tons und des Stils des Agenten, z. B. "freundlicher Pirat" oder "ermutigender Lehrer".
- Unterstützung mehrsprachiger ModelleKompatibel mit einer Vielzahl von Mainstream-Sprachmodellen und eingebettetem Back-End, flexible Anpassung an unterschiedliche Entwicklungsanforderungen.
- Modularer AufbauBietet eine leicht erweiterbare Architektur, in der Entwickler schnell neue Tools oder Funktionen hinzufügen können.
- asynchroner BetriebAsynchrone Programmierung: Unterstützt asynchrone Programmierung und eignet sich für die Bearbeitung hochgradig gleichzeitiger Aufgaben.
Hilfe verwenden
Einbauverfahren
Um Cogency zu verwenden, müssen Entwickler zunächst die Python-Umgebung installieren (Python 3.8 oder höher wird empfohlen). Im Folgenden werden die einzelnen Installationsschritte beschrieben:
- Projektcode klonen::
Führen Sie den folgenden Befehl in einem Terminal aus, um das Cogency-Repository lokal zu klonen:git clone https://github.com/iteebz/cogency.git cd cogency
- Installation von Abhängigkeiten::
Verwenden Sie pip, um das Cogency-Kernpaket zu installieren:pip install cogency
Wenn Sie alle Sprachmodelle, eingebetteten Backends und Werkzeuge unterstützen müssen, führen Sie:
pip install cogency[all]
- API-Schlüssel konfigurieren::
Cogency unterstützt mehrere Sprachmodelle (z.B. OpenAI). Sie müssen den API-Schlüssel konfigurieren, die.env
Datei und fügen Sie den Schlüssel hinzu:echo "OPENAI_API_KEY=sk-..." >> .env
Austauschbarkeit
sk-...
für Ihren aktuellen API-Schlüssel. Schlüssel von anderen Anbietern werden unterstützt, siehe die offizielle Dokumentation für Details. - Überprüfen der Installation::
Führen Sie den folgenden Code aus, um zu prüfen, ob die Installation erfolgreich war:import asyncio from cogency import Agent async def main(): agent = Agent("assistant") async for chunk in agent.stream("What is 25 * 43?"): print(chunk, end="", flush=True) asyncio.run(main())
Wenn die Ausgabe
1075
und zeigt damit an, dass die Installation erfolgreich war.
Funktion Betriebsablauf
Das Herzstück von Cogency ist die intelligente Aufgabenbearbeitung durch ReAct-Schleifen. Hier erfahren Sie, wie Sie die wichtigsten Funktionen nutzen können:
Erstellen und Verwenden von AI-Agenten
- Initialisierung eines Proxys::
Erstellen Sie einen Basisagenten:from cogency import Agent agent = Agent("assistant")
Dies kann durch das Setzen des Parameters
personality
undtone
im Gesang antwortenstyle
Parameter, um den Agenten individuell anzupassen. Erstellen Sie zum Beispiel einen "freundlichen Piraten"-Agenten:pirate = Agent("pirate", personality="friendly pirate who loves coding")
- Laufende Aufgaben::
ausnutzenstream
Methode führt die Aufgabe aus und gibt Echtzeit-Streaming-Ergebnisse aus. Beispiel: Abfrage eines mathematischen Problems:async for chunk in agent.stream("What is 25 * 43?"): print(chunk, end="", flush=True)
Ausgänge
1075
. Für komplexe Aufgaben wie die Reiseplanung:async for chunk in agent.stream("Plan a 3-day trip to Tokyo"): print(chunk, end="", flush=True)
Der Agent ruft automatisch Tools auf (z. B. Wettervorhersagen, Reiseinformationen), um eine detaillierte Reiseroute zu erstellen.
Werkzeugintegration
Cogency unterstützt integrierte Tools wie web_search
undweather_forecast
) und benutzerdefinierte Werkzeuge. Im Folgenden werden die Schritte zum Hinzufügen eines benutzerdefinierten Werkzeugs beschrieben:
- Definitionswerkzeuge::
Erstellen Sie ein benutzerdefiniertes Tool, z. B. eines, das die Ortszeit desTimezoneTool
::from cogency import Agent, BaseTool class TimezoneTool(BaseTool): def __init__(self): super().__init__("timezone", "Get time in any city") async def run(self, city: str): return {"time": f"Current time in {city}: 14:30 PST"} def get_schema(self): return "timezone(city='string')"
- Tools für die Registrierung::
Registrieren Sie das Werkzeug beim Agenten:agent = Agent("time_assistant", tools=[TimezoneTool()]) async for chunk in agent.stream("What's the time in London?"): print(chunk, end="", flush=True)
Ausgänge
Current time in London: 14:30 PST
.
Personalisierte Proxy-Einstellungen
Mit Cogency können Sie eine Persönlichkeit für den Agenten festlegen. Erstellen Sie zum Beispiel einen Agenten im Stil eines "geduldigen Lehrers":
teacher = Agent("teacher", personality="patient teacher", tone="encouraging", style="conversational")
async for chunk in teacher.stream("Explain quantum computing"):
print(chunk, end="", flush=True)
Die Ausgabe wird das Quantencomputing in einem ermutigenden Ton und umgangssprachlichen Stil erklären.
Fehlersuche und Verfolgung
Jeder Arbeitsschritt von Cogency ist nachvollziehbar. Wenn eine Aufgabe ausgeführt wird, zeichnet das Protokoll jeden Schritt der Überlegungen, Aktionen und Beobachtungen auf. Wenn Sie beispielsweise eine Aufgabe zur Reiseplanung ausführen, könnte das Protokoll zeigen:
- InferenzWetterinformationen werden für die Planung von Aktivitäten benötigt.
- handeln: Anruf
weather_forecast("Tokyo 3 days")
. - beachten SieWetterdaten abrufen (sonnig, regnerisch, etc.).
- Erzeugung vonGenerierung von Fahrten auf der Grundlage von Wetterdaten.
Entwickler können das Verhalten des Agenten anhand von Protokollen debuggen, um sicherzustellen, dass die Aufgaben bei Bedarf ausgeführt werden.
caveat
- Vergewissern Sie sich, dass Ihre Internetverbindung stabil ist, denn einige Tools (z. B. die Websuche) erfordern einen Internetzugang.
- Sonde
.env
Der API-Schlüssel in der Datei ist korrekt konfiguriert. - Asynchrone Programmierung erfordert Pythons
asyncio
Unterstützung, Vertrautheit mit der asynchronen Syntax wird empfohlen. - Die offizielle Dokumentation (zu finden im GitHub-Repository für die
README.md
) enthält weitere Beispiele und fortgeschrittene Anwendungen.
Anwendungsszenario
- Automatisierte Aufgabenbearbeitung
Cogency eignet sich für die Entwicklung von automatisierten Workflows. Beispielsweise können E-Commerce-Plattformen Cogency-Agenten einsetzen, um Antworten auf Kundenanfragen zu automatisieren, kombiniert mit Web-Suchwerkzeugen, um Produktinformationen zu finden. - Reiseplanung
Der Benutzer kann eingeben: "Planen Sie eine dreitägige Reise nach Tokio", und Cogency zieht automatisch Wettervorhersagen und Reiseinformations-Tools heran, um wetterangepasste Reiserouten zu erstellen. - Pädagogische Hilfsmittel
Agenten im Stil eines Lehrers können zur Erklärung komplexer Konzepte wie Quantencomputing oder Grundlagen der Programmierung eingesetzt werden und eignen sich für Online-Bildungsplattformen oder individuelles Lernen. - Entwicklungswerkzeuge Erweiterung
Entwickler können Cogency um benutzerdefinierte Tools wie Datenbankabfragen oder Dateiverwaltung erweitern, um die Funktionalität von Cogency in Anwendungen der Unternehmensklasse zu verbessern.
QA
- Welche Sprachmodelle werden von Cogency unterstützt?
Cogency unterstützt eine Vielzahl von Mainstream-Sprachmodellen, wie z. B. die GPT-Reihe von OpenAI. Eine Liste der unterstützten Sprachen finden Sie in der offiziellen Dokumentation. Die Benutzer müssen den entsprechenden API-Schlüssel angeben. - Wie kann ich das Verhalten eines Agenten debuggen?
Die ReAct-Schleife von Cogency protokolliert jeden Schritt und ermöglicht es den Entwicklern, Details der Überlegungen, Aktionen und Beobachtungen einzusehen, um Probleme zu lokalisieren. - Ist Programmiererfahrung erforderlich?
Die grundlegende Verwendung erfordert Kenntnisse der Python-Programmierung, insbesondere der asynchronen Programmierung. Nicht-Entwickler können sich am Beispielcode orientieren, um schnell loszulegen. - Kann es offline verwendet werden?
Einige Funktionen (z. B. lokale Berechnungsaufgaben) werden für die Offline-Nutzung unterstützt, aber Werkzeuge wie die Websuche erfordern eine Internetverbindung.