Wichtige Highlights
Was es tut: Function Calling ermöglicht es KI-Modellen, mit externen Tools und APIs zu interagieren, bestimmte Aufgaben auszuführen und Echtzeitdaten für Systemoperationen und automatisierte Workflows abzurufen.
Unterstützte Modelle: DeepSeek V3-Serie, GPT-Serie, Gemma 2 und Mistral Nemo.
Wie implementieren? Sie können die API über Novita AI installieren und in den Docs lernen.
Function Calling verbessert große Sprachmodelle (LLMs), indem es die Interaktion mit der Außenwelt ermöglicht. Über die Textgenerierung hinaus können LLMs Aufgaben ausführen, auf Echtzeitdaten zugreifen und komplexe Operationen durchführen. Als Brücke zwischen KI-Wissen und umsetzbaren Aufgaben befähigt Function Calling KI-Agenten oder Chatbots, mit externen Tools und Diensten zu interagieren. DeepSeek V3, ein leistungsstarkes Open-Source-Modell, zeichnet sich durch seine starke Leistung und Effizienz aus.
Was ist Function Calling
Function Calling verbessert große Sprachmodelle (LLMs), indem es die Interaktion mit der Außenwelt ermöglicht. Über die Textgenerierung hinaus können LLMs Aufgaben ausführen, auf Echtzeitdaten zugreifen und komplexe Operationen durchführen. Als Brücke zwischen KI-Wissen und umsetzbaren Aufgaben befähigt Function Calling KI-Agenten oder Chatbots, mit externen Tools und Diensten zu interagieren. DeepSeek V3, ein leistungsstarkes Open-Source-Modell, zeichnet sich durch seine starke Leistung und Effizienz aus.
Wie funktioniert Function Calling?

von Google Cloud
- Funktionsdeklaration: Definieren Sie wiederverwendbare Codeblöcke (Funktionen) mit klaren Beschreibungen ihrer Fähigkeiten, Eingaben und Ausgaben.
- Prompt-Einreichung: Geben Sie dem LLM einen Prompt und eine Reihe von Funktionsdeklarationen, um es über die verfügbaren Tools zu informieren.
- Modellanalyse: Das LLM wertet den Prompt aus und bestimmt, ob eine der bereitgestellten Funktionen aufgerufen werden muss, um die Anfrage zu erfüllen.
- Strukturierte Ausgabe: Wenn ein Funktionsaufruf erforderlich ist, generiert das LLM eine strukturierte Ausgabe im JSON-Format, die den Funktionsnamen und die Parameterwerte angibt.
- Funktionsaufruf: Die Anwendung oder das System verwendet die strukturierte Ausgabe, um die angegebene Funktion aufzurufen und die erforderlichen Parameter zu übergeben.
- Funktionsausführung: Der externe Dienst oder die API führt die Funktion basierend auf den bereitgestellten Parametern aus.
- Ausgabeantwort: Der externe Dienst gibt das Ergebnis oder die Bestätigung an die KI zurück.
- Modellantwort: Das LLM verwendet die empfangene Ausgabe, um eine natürliche Sprachantwort für den Benutzer oder zur weiteren Verarbeitung zu erstellen.
Welche Probleme kann Function Calling lösen?
Echtzeit-Informationszugriff
- Aktienkursaktualisierungen
- Aktuelle Wetterdaten abrufen
- Zugriff auf aktuelle Nachrichten
Systeminteraktionen
- E-Mails senden
- Social-Media-Beiträge veröffentlichen
- Datenbankabfragen und -schreibvorgänge
Workflow-Automatisierung
- Datenscraping und -verarbeitung
- Mehrschrittige Aufgabenausführung
- Automatisierung komplexer Analysen
Datengenauigkeit
- Sicherstellung aktueller Informationen
- Bereitstellung präziser Abfrageergebnisse
- Reduzierung von Fehlern durch veraltete Daten
Erweiterte KI-Fähigkeiten
- Dynamische API-Integration
- Kontextbezogene Aufgabenausführung
- Durchführung realer Aktionen
Verbesserung der Benutzererfahrung
- Personalisierte Antworten
- Aufgabenerledigung ohne Verlassen des Gesprächs
- Nahtlose Integration externer Dienste
Wie man DeepSeek V3 Function Calling über Novita AI verwendet
Diese Anleitung zeigt, wie Sie Function Calling verwenden, um aktuelle Wetterinformationen für einen benutzerdefinierten Standort abzurufen. Wir gehen ein vollständiges Python-Codebeispiel durch. Das spezifische API-Format für Function Calling finden Sie in der API-Referenz Create Chat Completion.

Holen Sie sich jetzt 20 $ Guthaben bei Novita AI!
- Initialisieren des Clients
Zuerst müssen Sie den Client mit Ihrem Novita-API-Schlüssel initialisieren.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Holen Sie sich den Novita AI API Key von: https://novita.ai/settings/key-management.
api_key="<Ihr Novita AI API Key>",
)
model = "deepseek/deepseek_v3"
- Definieren der aufzurufenden Funktion
Als nächstes definieren Sie die Python-Funktion, die das Modell aufrufen kann. In diesem Beispiel ist es eine Funktion zum Abrufen von Wetterinformationen.
# Beispiel-Funktion zur Simulation des Abrufs von Wetterdaten.
def get_weather(location):
"""Ruft das aktuelle Wetter für einen bestimmten Ort ab."""
print("Rufe get_weather-Funktion auf mit Standort: ", location)
# In einer echten Anwendung würden Sie hier eine externe Wetter-API aufrufen.
# Dies ist ein vereinfachtes Beispiel, das hartcodierte Daten zurückgibt.
return json.dumps({"location": location, "temperature": "60 Grad Fahrenheit"})
- Erstellen der API-Anfrage mit Tools und Benutzernachricht
Erstellen Sie nun die API-Anfrage an den Novita-Endpunkt. Diese Anfrage enthält den Parameter tools, der die Funktionen definiert, die das Modell verwenden kann, sowie die Nachricht des Benutzers.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Wetter eines Ortes abrufen, der Benutzer sollte zuerst einen Ort angeben",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Die Stadt und der Bundesstaat, z.B. San Francisco, CA",
}
},
"required": ["location"]
},
}
},
]
messages = [
{
"role": "user",
"content": "Wie ist das Wetter in San Francisco?"
}
]
# Senden wir die Anfrage und geben die Antwort aus.
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
)
# Bitte überprüfen Sie in der Produktion, ob die Antwort Tool-Aufrufe enthält.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())
- Ausgabe
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
- Antwort mit dem Funktionsaufrufergebnis geben und die endgültige Antwort erhalten
Der nächste Schritt ist die Verarbeitung des Funktionsaufrufs, die Ausführung der get_weather-Funktion und das Zurücksenden des Ergebnisses an das Modell, um die endgültige Antwort für den Benutzer zu generieren.
# Stellen Sie sicher, dass tool_call aus dem vorherigen Schritt definiert ist
if tool_call:
# Erweitern Sie den Gesprächsverlauf um die Tool-Call-Nachricht des Assistenten
messages.append(response.choices[0].message)
function_name = tool_call.function.name
if function_name == "get_weather":
function_args = json.loads(tool_call.function.arguments)
# Führen Sie die Funktion aus und erhalten Sie die Antwort
function_response = get_weather(
location=function_args.get("location"))
# Hängen Sie die Funktionsantwort an die Nachrichten an
messages.append(
{
"tool_call_id": tool_call.id,
"role": "tool",
"content": function_response,
}
)
# Holen Sie sich die endgültige Antwort vom Modell, jetzt mit dem Funktionsergebnis
answer_response = client.chat.completions.create(
model=model,
messages=messages,
# Hinweis: Fügen Sie hier keinen Tools-Parameter hinzu.
)
print(answer_response.choices[0].message)
- Ausgabe
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
Häufige Probleme und Best Practices für Function Calling
Function Calling in KI-Modellen bietet sowohl Herausforderungen als auch Chancen. Hier ist ein Vergleich häufiger Probleme und entsprechender Best Practices:
- Ungenaue Interpretation und klare Prompts
Problem: Modelle können Benutzerabsichten ungenau interpretieren, was zu unnötigen oder falschen Funktionsaufrufen führt.
Best Practice: Geben Sie klare und präzise System-Prompts an, die den Zweck des Chatbots und die verfügbaren Funktionen beschreiben. Verwenden Sie Multi-Shot-Turns, um sowohl direkte Antworten als auch geeignete Funktionsaufrufe zu demonstrieren.
- Komplexes Workflow-Management
Problem: Schwierigkeiten bei der Verwaltung komplexer Workflows mit mehreren voneinander abhängigen Schritten.
Best Practice: Beginnen Sie mit Prompt Engineering, bevor Sie zu komplexeren Methoden übergehen. Konzentrieren Sie sich beim Fine-Tuning auf Qualität statt Quantität, indem Sie mit einer kleinen Menge hochwertiger Beispiele beginnen.
- Nuancenreiche Entscheidungsfindung
Problem: Herausforderungen bei der Interpretation von Funktionsausgaben und externen Daten für eine nuancenreiche Entscheidungsfindung.
Best Practice: Verwenden Sie Retrieval-Augmented Generation (RAG), um bei Bedarf Kontext einzufügen. Kombinieren Sie Techniken wie Fine-Tuning und RAG, um ihre jeweiligen Stärken und Schwächen auszugleichen.
- Komplexität von Datenstrukturen
Problem: Einschränkungen beim Umgang mit sich entwickelnden, komplexen Datenstrukturen wie Graphen und verschachtelten Objekten.
Best Practice: Wählen Sie die richtige Abstraktionsebene, um sauberen Code mit Leistung in Einklang zu bringen. Halten Sie Funktionen schlank und fokussiert, um Effizienz und Lesbarkeit zu verbessern.
- Integration von Legacy-Systemen
Problem: Schwierigkeiten bei der Integration mit unübersichtlichen, mehrdeutigen Legacy-Systemen.
Best Practice: Optimieren Sie die am häufigsten aufgerufenen Funktionen oder Hotspots, die durch Profiling identifiziert wurden. Erwägen Sie die Bündelung von Operationen, um den Overhead bei der Arbeit mit Legacy-Systemen zu reduzieren.
- Sicherheitsbedenken
Problem: Sicherheitsbedenken bei der Ausführung privilegierter Funktionen ohne ausgefeiltes Urteilsvermögen.
Best Practice: Implementieren Sie robuste Fehlerbehandlungsmechanismen, um unerwartete API-Antworten zu bewältigen. Stellen Sie starke Datenschutzmaßnahmen und die Einhaltung von Vorschriften sicher, um das Vertrauen der Benutzer und sensible Informationen zu schützen.
- Skalierbarkeit und Leistung
Problem: Unzureichende Zuverlässigkeit bei der Erfüllung strenger Skalierbarkeits-, Verfügbarkeits- und Leistungsanforderungen für geschäftskritische Systeme.
Best Practice: Nutzen Sie Compiler-Optimierungen und verwenden Sie niedrige Temperatureinstellungen für fokussiertere und deterministischere Ausgaben. Profilen und optimieren Sie Hotspots, um die größten Leistungssteigerungen zu erzielen.
- Übermäßige Abhängigkeit von Funktionsaufrufen
Problem: Modelle können Funktionen unnötig oder unangemessen aufrufen, auch wenn sie nicht benötigt werden.
Best Practice: Verwalten Sie sorgfältig, wie Funktionsaufrufe implementiert werden. Stellen Sie sicher, dass geeignete Fehlerbehandlungs- und Fallback-Mechanismen vorhanden sind, um die Systemzuverlässigkeit auch bei nicht verfügbaren externen Diensten zu gewährleisten.
- Datenschutz- und Transparenzbedenken
Problem: Ethische Bedenken hinsichtlich Transparenz und Benutzereinwilligung, wenn LLMs Entscheidungen treffen oder Aktionen im Namen von Benutzern durchführen.
Best Practice: Implementieren Sie klare Dokumentations- und Benutzereinwilligungsmechanismen. Stellen Sie sicher, dass die Datenverarbeitung verantwortungsvoll und konform mit Datenschutzbestimmungen wie GDPR oder HIPAA ist.
Zusammenfassend stellt Function Calling einen großen Fortschritt für LLMs dar, der eine nahtlose Interaktion mit Unternehmensdaten und -systemen ermöglicht und Entwickler befähigt, dynamischere und funktionalere Anwendungen zu erstellen. Durch die mühelose Integration mit externen Anwendungen, Systemen und APIs werden LLMs äußerst vielseitig und in der Lage, eine breite Palette von Aufgaben effizient zu bewältigen. Modelle wie DeepSeek V3 sind führend und bieten einen optimierten Zugang zu dieser transformativen Technologie und eröffnen endlose Möglichkeiten für KI-Innovationen.
Häufig gestellte Fragen
Was ist Function Calling im Kontext von LLMs?
Function Calling ist eine Technik, die es großen Sprachmodellen ermöglicht, zu erkennen, wann eine bestimmte Aufgabe eine externe Funktion oder ein Tool erfordert, und strukturierte Daten zu generieren, um diese Funktion auszuführen.
Was sind die Hauptvorteile der Verwendung von Function Calling?
Zu den wichtigsten Vorteilen gehören eine erhöhte Effizienz bei der Verarbeitung von Aufgaben, eine verbesserte Flexibilität für Entwickler, Funktionen einfach zu aktualisieren, Skalierbarkeit für das Hinzufügen neuer Funktionen ohne umfangreiche Änderungen und personalisierte Benutzerinteraktionen.
Novita AI ist die All-in-One-Cloud-Plattform, die Ihre KI-Ambitionen unterstützt. Integrierte APIs, serverlos, GPU-Instanz – die kosteneffizienten Tools, die Sie benötigen. Infrastruktur eliminieren, kostenlos starten und Ihre KI-Vision Wirklichkeit werden lassen.
