Skip to content

Environment Variables

This document outlines the configuration of key environment variables in Youtu-Agent.

Overview

Before running Youtu-Agent, you need to configure the necessary environment variables. A recommended practice is to start by copying the .env.example file from the project root:

cp .env.example .env

Then, edit the .env file to fill in the required API Keys and other configurations. For a more comprehensive list of options, please refer to the .env.full file, which contains all available environment variables and their detailed descriptions.

LLM API Keys

The core capabilities of Youtu-Agent rely on Large Language Models (LLMs). You need to configure the appropriate models for different functional modules.

Core LLM

This is the primary text generation LLM that the Agent relies on for its operations.

# LLM type (e.g., chat.completions, responses)
UTU_LLM_TYPE=chat.completions
# LLM model name (e.g., deepseek-chat, gpt-4-turbo)
UTU_LLM_MODEL=deepseek-chat
# LLM provider's API base URL (e.g., https://api.deepseek.com/v1)
UTU_LLM_BASE_URL=https://api.deepseek.com/v1
# LLM provider's API Key
UTU_LLM_API_KEY=YOUR_API_KEY

Vision and Audio LLMs

When using the ImageToolkit or AudioToolkit, you need to configure LLMs that support multimodal capabilities.

Image (Vision) LLM:

# Image LLM type
UTU_IMAGE_LLM_TYPE=
# Image LLM model name (e.g., qwen-vl-plus)
UTU_IMAGE_LLM_MODEL=
# Image LLM API base URL
UTU_IMAGE_LLM_BASE_URL=
# Image LLM API Key
UTU_IMAGE_LLM_API_KEY=

Audio LLM:

# Audio LLM model name (e.g., whisper-1)
UTU_AUDIO_LLM_MODEL=
# Audio LLM API base URL
UTU_AUDIO_LLM_BASE_URL=
# Audio LLM API Key
UTU_AUDIO_LLM_API_KEY=

Evaluation LLM

When running the evaluation framework (/utu/eval), a separate "Judge" LLM is required to score and assess the Agent's output.

# Judge LLM type
JUDGE_LLM_TYPE=
# Judge LLM model name
JUDGE_LLM_MODEL=
# Judge LLM API base URL
JUDGE_LLM_BASE_URL=
# Judge LLM API Key
JUDGE_LLM_API_KEY=

Tools

Some Toolkits require their own API Keys or specific configurations.

Search Toolkit (SearchToolkit)

The search toolkit integrates the following two services by default:

  1. Web Search: Uses the efficient Google Search API provided by Serper. You will need to register and obtain an API Key.
  2. Web Content Extraction: Uses the Jina AI Reader to convert web page content into an LLM-friendly Markdown format. This also requires registration and an API Key.

Configure them in your .env file as follows:

# Get from https://serper.dev/
SERPER_API_KEY=YOUR_SERPER_API_KEY
# Get from https://jina.ai/reader/
JINA_API_KEY=YOUR_JINA_API_KEY

Tracing & Monitoring

The framework integrates OpenTelemetry and Phoenix for tracing and monitoring the Agent's execution flow.

# Phoenix/OpenTelemetry trace receiver endpoint
PHOENIX_ENDPOINT=http://127.0.0.1:6006/v1/traces
# Project name displayed in the Phoenix UI
PHOENIX_PROJECT_NAME=Youtu-Agent

Miscellaneous

Hugging Face

Used to download datasets (e.g., GAIA) from the Hugging Face Hub.

# Get from https://huggingface.co/settings/tokens
HF_TOKEN=YOUR_HUGGINGFACE_TOKEN

Web UI

Used to configure the address and port for the front-end interface.

# Port for the frontend service to listen on
UTU_WEBUI_PORT=8848
# IP address for the frontend service to listen on
UTU_WEBUI_IP=127.0.0.1
# Whether to enable auto reload for tornado server
UTU_WEBUI_AUTOLOAD=false