Create a YAML file, for example, user_claude.yaml Paste the following content into your user_claude.yaml file.
name: 'user_claude_llm'
description: 'user claude llm with spi'
model_name: 'claude-3-7-sonnet-latest'
max_tokens: 2000
temperature: 0.5
api_key: '${ANTHROPIC_API_KEY}'
api_base: 'https://api.anthropic.com'
proxy: '${ANTHROPIC_PROXY}'
streaming: True
metadata:
type: 'LLM'
module: 'agentuniverse.llm.default.claude_llm'
class: 'ClaudeLLM'Note:
The model parameters such as api_key, api_base, organization, and proxy can be configured in three ways:
-
Direct String Value: Enter the API key string directly in the configuration file.
api_key: 'sk-xxx'
-
Environment Variable Placeholder: Use the
${VARIABLE_NAME}syntax to load from environment variables. WhenagentUniverseis launched, it will automatically read the corresponding value from the environment variables.api_key: '${ANTHROPIC_API_KEY}'
-
Custom Function Loading: Use the
@FUNCannotation to dynamically load the API key via a custom function at runtime.api_key: '@FUNC(load_api_key(model_name="claude"))'
The function needs to be defined in the
YamlFuncExtensionclass within theyaml_func_extension.pyfile. You can refer to the example in the sample project's YamlFuncExtension. WhenagentUniverseloads this configuration:- It parses the
@FUNCannotation. - Executes the
load_api_keyfunction with the corresponding parameters. - Replaces the annotation content with the function's return value.
- It parses the
In the example YAML, model keys and other parameters are configured using environment variable placeholders. The following section will introduce methods for setting environment variables.
Must be configured: ANTHROPIC_API_KEY
Optional: ANTHROPIC_API_URL, ANTHROPIC_ORGANIZATION, ANTHROPIC_PROXY
import os
os.environ['ANTHROPIC_API_KEY'] = 'sk-***'
os.environ['ANTHROPIC_API_URL'] = 'https://xxxxxx'In the custom_key.toml file under the config directory of the project, add the configuration:
ANTHROPIC_API_KEY="sk-******"
ANTHROPIC_API_URL="https://xxxxxx"
ANTHROPIC_PROXY='xxxx'Reference Claude Official Documentation: https://docs.anthropic.com/zh-CN/docs/getting-access-to-claude
In agentuniverse, we have already created an llm with the name default_claude_llm. After configuring the ANTHROPIC_API_KEY, users can directly use it.