Repository navigation
Expand file tree
/
Copy pathopenmaic.example.yml
More file actions
108 lines (92 loc) · 4 KB
/
Copy pathopenmaic.example.yml
File metadata and controls
108 lines (92 loc) · 4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# =============================================================================
# openmaic.yml: the model configuration of an OpenMAIC deployment
#
# Copy this file to openmaic.yml in the directory the server starts in (the
# repository root; /app in the Docker image), or point OPENMAIC_CONFIG at it,
# then restart the server. The file is read once at startup.
#
# As shipped, it needs one key: set OPENAI_API_KEY in .env.local (or change
# the provider below to one you have a key for). The commented blocks are
# optional; uncomment the ones you want and set the variables they name.
#
# - providers: the accounts the server can call.
# - slots: which provider and model each use of AI gets by default. Users
# may change them in the model settings; slots left out are theirs to set.
# - lock: the slots fixed for everyone, each with its whole subtree.
# - allowUserKeys: whether users may add providers and keys of their own.
#
# Secrets stay in the environment (.env.local, a Docker or Kubernetes secret)
# and are referenced as ${VAR}. An unset variable, an unknown preset or slot,
# or a reference to an undeclared provider stops the server at startup with
# the exact location of the problem.
#
# Full reference: packages/docs/content/docs/configuration.mdx
# =============================================================================
providers:
# A provider id (the key) is lowercase letters, digits and dashes. Slots
# refer to models as "<provider id>:<model id>".
openai:
preset: openai
apiKey: ${OPENAI_API_KEY}
# --- Optional providers ----------------------------------------------------
# Another chat vendor.
# anthropic:
# preset: anthropic
# apiKey: ${ANTHROPIC_API_KEY}
# Web search.
# tavily:
# preset: tavily
# apiKey: ${TAVILY_API_KEY}
# Most presets cover one capability: OpenAI images are a second provider
# with the openai-image preset (the same key works).
# openai-image:
# preset: openai-image
# apiKey: ${OPENAI_API_KEY}
# A token plan covers several capabilities with one key: chat, images,
# video, text to speech and web search for MiniMax.
# minimax:
# preset: minimax
# apiKey: ${MINIMAX_API_KEY}
# Any OpenAI-compatible server: baseUrl is required, and models lists what
# the web settings offer from it.
# local:
# preset: openai-compatible
# baseUrl: http://host.docker.internal:11434/v1
# models: [qwen3:8b]
# Services that authenticate with a key pair use credentials.
# alidocmind:
# preset: alidocmind
# credentials:
# accessKeyId: ${ALIDOCMIND_ACCESS_KEY_ID}
# accessKeySecret: ${ALIDOCMIND_ACCESS_KEY_SECRET}
slots:
# The default chat model. Every chat slot without an assignment of its own
# follows it.
llm: openai:gpt-5.5
# --- Optional slots (each needs its provider above) -------------------------
# An object adds call parameters and a fallback model, tried once when the
# primary fails with a retryable error after its own retries. Fallbacks
# apply to language-model slots (llm and the slots below it) only.
# course.outline:
# model: anthropic:claude-sonnet-4-6
# fallback: openai:gpt-5.4-mini
# The Pro workbench agent needs a model with tool calling. It may set
# thinking.mode but not thinking.effort; an effort set on llm is dropped
# for the agent.
# agent:
# model: openai:gpt-5.5
# api: openai-completions
# A provider id alone means that provider's default model (search and
# document services mostly have none to pick).
# webSearch: tavily
# image: openai-image:gpt-image-2
# tts: minimax:speech-2.8-turbo
# null turns a capability off by default; users may still turn it on
# unless lock names it.
# video: null
# Slots fixed for everyone, with every slot below them ("lock: all" fixes
# every slot). Each must be written under slots above (null counts).
# lock: [video]
# false: users cannot add providers, keys or token plans; they only choose
# among the providers declared above, for the slots lock leaves open.
# allowUserKeys: true