FAQ#

F: Wie gebe ich das Verzeichnis an, in dem Dateien (z. B. Datenbanken) gespeichert werden?#

A: Sie können das Verzeichnis, in dem Dateien gespeichert werden, durch Setzen des Arguments --appdir beim Ausführen der Anwendung festlegen. Beispiel: autogenstudio ui --appdir /pfad/zum/ordner. Dies speichert die Datenbank (Standard) und andere Dateien im angegebenen Verzeichnis, z. B. /pfad/zum/ordner/database.sqlite.

F: Kann ich andere Modelle mit AutoGen Studio verwenden?#

Ja. AutoGen standardisiert sich auf das API-Format des OpenAI-Modells, und Sie können jeden API-Server verwenden, der einen OpenAI-kompatiblen Endpunkt anbietet.

AutoGen Studio basiert auf deklarativen Spezifikationen, die auch für Modelle gelten. Agenten können ein Feld model_client enthalten, das die Model-Endpunkt-Details angibt, einschließlich model, api_key, base_url, model type. Beachten Sie, dass Sie Ihren Modellclient in Python definieren und ihn zur Verwendung in AutoGen Studio in eine JSON-Datei exportieren können.

Im folgenden Beispiel definieren wir einen OpenAI-, AzureOpenAI- und einen lokalen Modellclient in Python und exportieren sie in eine JSON-Datei.

from autogen_ext.models.openai import AzureOpenAIChatCompletionClient, OpenAIChatCompletionClient
from autogen_ext.models.anthropic import AnthropicChatCompletionClient
from autogen_core.models import ModelInfo

model_client=OpenAIChatCompletionClient(
            model="gpt-4o-mini",
        )
print(model_client.dump_component().model_dump_json())


az_model_client = AzureOpenAIChatCompletionClient(
    azure_deployment="{your-azure-deployment}",
    model="gpt-4o",
    api_version="2024-06-01",
    azure_endpoint="https://{your-custom-endpoint}.openai.azure.com/",
    api_key="sk-...",
)
print(az_model_client.dump_component().model_dump_json())

anthropic_client = AnthropicChatCompletionClient(
        model="claude-3-sonnet-20240229",
        api_key="your-api-key",  # Optional if ANTHROPIC_API_KEY is set in environment
    )
print(anthropic_client.dump_component().model_dump_json())

mistral_vllm_model = OpenAIChatCompletionClient(
        model="TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
        base_url="https://:1234/v1",
        model_info=ModelInfo(vision=False, function_calling=True, json_output=False, family="unknown", structured_output=True),
    )
print(mistral_vllm_model.dump_component().model_dump_json())

OpenAI

{
  "provider": "autogen_ext.models.openai.OpenAIChatCompletionClient",
  "component_type": "model",
  "version": 1,
  "component_version": 1,
  "description": "Chat completion client for OpenAI hosted models.",
  "label": "OpenAIChatCompletionClient",
  "config": { "model": "gpt-4o-mini" }
}

Azure OpenAI

{
  "provider": "autogen_ext.models.openai.AzureOpenAIChatCompletionClient",
  "component_type": "model",
  "version": 1,
  "component_version": 1,
  "description": "Chat completion client for Azure OpenAI hosted models.",
  "label": "AzureOpenAIChatCompletionClient",
  "config": {
    "model": "gpt-4o",
    "api_key": "sk-...",
    "azure_endpoint": "https://{your-custom-endpoint}.openai.azure.com/",
    "azure_deployment": "{your-azure-deployment}",
    "api_version": "2024-06-01"
  }
}

Anthropic

{
  "provider": "autogen_ext.models.anthropic.AnthropicChatCompletionClient",
  "component_type": "model",
  "version": 1,
  "component_version": 1,
  "description": "Chat completion client for Anthropic's Claude models.",
  "label": "AnthropicChatCompletionClient",
  "config": {
    "model": "claude-3-sonnet-20240229",
    "max_tokens": 4096,
    "temperature": 1.0,
    "api_key": "your-api-key"
  }
}

Haben Sie einen lokalen Modellserver wie Ollama, vLLM oder LMStudio, der einen OpenAI-kompatiblen Endpunkt bereitstellt? Diesen können Sie ebenfalls verwenden.

{
  "provider": "autogen_ext.models.openai.OpenAIChatCompletionClient",
  "component_type": "model",
  "version": 1,
  "component_version": 1,
  "description": "Chat completion client for OpenAI hosted models.",
  "label": "OpenAIChatCompletionClient",
  "config": {
    "model": "TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
    "model_info": {
      "vision": false,
      "function_calling": true,
      "json_output": false,
      "family": "unknown",
      "structured_output": true
    },
    "base_url": "https://:1234/v1"
  }
}

Vorsicht

Es ist wichtig, dass Sie das Feld model_info zur Spezifikation des Modellclients für benutzerdefinierte Modelle hinzufügen. Dies wird vom Framework verwendet, um das Modell korrekt zu instanziieren und zu verwenden. Außerdem erfordern der AssistantAgent und viele andere Agenten in AgentChat, dass das Modell über die Fähigkeit function_calling verfügt.

F: Der Server startet, aber ich kann die Benutzeroberfläche nicht aufrufen#

A: Wenn Sie den Server auf einem Remote-Computer (oder einem lokalen Computer, der localhost nicht korrekt auflöst) ausführen, müssen Sie möglicherweise die Host-Adresse angeben. Standardmäßig ist die Host-Adresse auf localhost eingestellt. Sie können die Host-Adresse mit dem Argument --host <host> angeben. Um beispielsweise den Server auf Port 8081 und an einer lokalen Adresse zu starten, die von anderen Rechnern im Netzwerk erreichbar ist, können Sie den folgenden Befehl ausführen

autogenstudio ui --port 8081 --host 0.0.0.0

F: Wie verwende ich AutoGen Studio mit einer anderen Datenbank?#

A: Standardmäßig verwendet AutoGen Studio SQLite als Datenbank. Es verwendet jedoch die SQLModel-Bibliothek, die mehrere Datenbank-Backends unterstützt. Sie können jede von SQLModel unterstützte Datenbank wie PostgreSQL oder MySQL verwenden. Um eine andere Datenbank zu verwenden, müssen Sie die Verbindungszeichenfolge für die Datenbank mithilfe des Arguments --database-uri beim Ausführen der Anwendung angeben. Beispiel-Verbindungszeichenfolgen umfassen

  • SQLite: sqlite:///database.sqlite

  • PostgreSQL: postgresql+psycopg://user:password@localhost/dbname

  • MySQL: mysql+pymysql://user:password@localhost/dbname

  • AzureSQL: mssql+pyodbc:///?odbc_connect=DRIVER%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BSERVER%3Dtcp%3Aservername.database.windows.net%2C1433%3BDATABASE%3Ddatabasename%3BUID%3Dusername%3BPWD%3Dpassword123%3BEncrypt%3Dyes%3BTrustServerCertificate%3Dno%3BConnection+Timeout%3D30%3B

Sie können die Anwendung dann mit der angegebenen Datenbank-URI ausführen. Um beispielsweise PostgreSQL zu verwenden, können Sie den folgenden Befehl ausführen

autogenstudio ui --database-uri postgresql+psycopg://user:password@localhost/dbname

Hinweis: Stellen Sie sicher, dass Sie die entsprechenden Datenbanktreiber für Ihre gewählte Datenbank installieren

  • PostgreSQL: pip install psycopg2 oder pip install psycopg2-binary

  • MySQL: pip install pymysql

  • SQL Server/Azure SQL: pip install pyodbc

  • Oracle: pip install cx_oracle

F: Kann ich meine Agenten-Workflows für die Verwendung in einer Python-App exportieren?#

Ja. In der Team Builder-Ansicht wählen Sie ein Team aus und laden dessen Spezifikation herunter. Diese Datei kann in einer Python-Anwendung mit der Klasse TeamManager importiert werden. Beispiel:


from autogenstudio.teammanager import TeamManager

tm = TeamManager()
result_stream =  tm.run(task="What is the weather in New York?", team_config="team.json") # or wm.run_stream(..)

Sie können die Team-Spezifikation auch als AgentChat-Objekt mit der Methode load_component laden.


import json
from autogen_agentchat.teams import BaseGroupChat
team_config = json.load(open("team.json"))
team = BaseGroupChat.load_component(team_config)

F: Kann ich AutoGen Studio in einem Docker-Container ausführen?#

A: Ja, Sie können AutoGen Studio in einem Docker-Container ausführen. Sie können das Docker-Image mit der bereitgestellten Dockerfile erstellen und den Container mit den folgenden Befehlen ausführen

FROM python:3.10-slim

WORKDIR /code

RUN pip install -U gunicorn autogenstudio

RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    AUTOGENSTUDIO_APPDIR=/home/user/app

WORKDIR $HOME/app

COPY --chown=user . $HOME/app

CMD gunicorn -w $((2 * $(getconf _NPROCESSORS_ONLN) + 1)) --timeout 12600 -k uvicorn.workers.UvicornWorker autogenstudio.web.app:app --bind "0.0.0.0:8081"

Die Verwendung von Gunicorn als Anwendungsserver zur Verbesserung der Leistung wird empfohlen. Um AutoGen Studio mit Gunicorn auszuführen, können Sie den folgenden Befehl verwenden

gunicorn -w $((2 * $(getconf _NPROCESSORS_ONLN) + 1)) --timeout 12600 -k uvicorn.workers.UvicornWorker autogenstudio.web.app:app --bind