agent-cli 0.72.7__py3-none-any.whl → 0.73.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent_cli/agents/memory/proxy.py +6 -1
- agent_cli/agents/rag_proxy.py +10 -5
- agent_cli/memory/api.py +2 -0
- agent_cli/memory/client.py +2 -1
- agent_cli/opts.py +8 -0
- agent_cli/rag/api.py +2 -1
- {agent_cli-0.72.7.dist-info → agent_cli-0.73.0.dist-info}/METADATA +13 -5
- {agent_cli-0.72.7.dist-info → agent_cli-0.73.0.dist-info}/RECORD +11 -11
- {agent_cli-0.72.7.dist-info → agent_cli-0.73.0.dist-info}/WHEEL +0 -0
- {agent_cli-0.72.7.dist-info → agent_cli-0.73.0.dist-info}/entry_points.txt +0 -0
- {agent_cli-0.72.7.dist-info → agent_cli-0.73.0.dist-info}/licenses/LICENSE +0 -0
agent_cli/agents/memory/proxy.py
CHANGED
|
@@ -23,6 +23,7 @@ def proxy(
|
|
|
23
23
|
rich_help_panel="Memory Configuration",
|
|
24
24
|
),
|
|
25
25
|
openai_base_url: str | None = opts.OPENAI_BASE_URL,
|
|
26
|
+
embedding_base_url: str | None = opts.EMBEDDING_BASE_URL,
|
|
26
27
|
embedding_model: str = opts.EMBEDDING_MODEL,
|
|
27
28
|
openai_api_key: str | None = opts.OPENAI_API_KEY,
|
|
28
29
|
default_top_k: int = typer.Option(
|
|
@@ -135,12 +136,15 @@ def proxy(
|
|
|
135
136
|
entries_dir, _ = ensure_store_dirs(memory_path)
|
|
136
137
|
if openai_base_url is None:
|
|
137
138
|
openai_base_url = constants.DEFAULT_OPENAI_BASE_URL
|
|
139
|
+
effective_embedding_url = embedding_base_url or openai_base_url
|
|
138
140
|
|
|
139
141
|
console.print(f"[bold green]Starting Memory Proxy on {host}:{port}[/bold green]")
|
|
140
142
|
console.print(f" 💾 Memory store: [blue]{memory_path}[/blue]")
|
|
141
143
|
console.print(f" 📁 Entries: [blue]{entries_dir}[/blue]")
|
|
142
144
|
console.print(f" 🤖 Backend: [blue]{openai_base_url}[/blue]")
|
|
143
|
-
console.print(
|
|
145
|
+
console.print(
|
|
146
|
+
f" 🧠 Embeddings: [blue]{embedding_model}[/blue] via [blue]{effective_embedding_url}[/blue]",
|
|
147
|
+
)
|
|
144
148
|
console.print(f" 🔍 Memory top_k: [blue]{default_top_k}[/blue] entries per query")
|
|
145
149
|
console.print(f" 🧹 Max entries per conversation: [blue]{max_entries}[/blue]")
|
|
146
150
|
console.print(
|
|
@@ -154,6 +158,7 @@ def proxy(
|
|
|
154
158
|
fastapi_app = create_app(
|
|
155
159
|
memory_path,
|
|
156
160
|
openai_base_url,
|
|
161
|
+
embedding_base_url=effective_embedding_url,
|
|
157
162
|
embedding_model=embedding_model,
|
|
158
163
|
embedding_api_key=openai_api_key,
|
|
159
164
|
chat_api_key=openai_api_key,
|
agent_cli/agents/rag_proxy.py
CHANGED
|
@@ -32,6 +32,7 @@ def rag_proxy(
|
|
|
32
32
|
rich_help_panel="RAG Configuration",
|
|
33
33
|
),
|
|
34
34
|
openai_base_url: str | None = opts.OPENAI_BASE_URL,
|
|
35
|
+
embedding_base_url: str | None = opts.EMBEDDING_BASE_URL,
|
|
35
36
|
embedding_model: str = opts.EMBEDDING_MODEL,
|
|
36
37
|
openai_api_key: str | None = opts.OPENAI_API_KEY,
|
|
37
38
|
limit: int = typer.Option(
|
|
@@ -138,22 +139,26 @@ def rag_proxy(
|
|
|
138
139
|
|
|
139
140
|
if openai_base_url is None:
|
|
140
141
|
openai_base_url = constants.DEFAULT_OPENAI_BASE_URL
|
|
142
|
+
effective_embedding_url = embedding_base_url or openai_base_url
|
|
141
143
|
|
|
142
144
|
console.print(f"[bold green]Starting RAG Proxy on {host}:{port}[/bold green]")
|
|
143
145
|
console.print(f" 📂 Docs: [blue]{docs_folder}[/blue]")
|
|
144
146
|
console.print(f" 💾 DB: [blue]{chroma_path}[/blue]")
|
|
145
147
|
console.print(f" 🤖 Backend: [blue]{openai_base_url}[/blue]")
|
|
146
|
-
console.print(
|
|
148
|
+
console.print(
|
|
149
|
+
f" 🧠 Embeddings: [blue]{embedding_model}[/blue] via [blue]{effective_embedding_url}[/blue]",
|
|
150
|
+
)
|
|
147
151
|
console.print(f" 🔍 Limit: [blue]{limit}[/blue] chunks per query")
|
|
148
152
|
|
|
149
153
|
fastapi_app = create_app(
|
|
150
154
|
docs_folder,
|
|
151
155
|
chroma_path,
|
|
152
156
|
openai_base_url,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
openai_api_key,
|
|
156
|
-
|
|
157
|
+
embedding_base_url=effective_embedding_url,
|
|
158
|
+
embedding_model=embedding_model,
|
|
159
|
+
embedding_api_key=openai_api_key,
|
|
160
|
+
chat_api_key=openai_api_key,
|
|
161
|
+
limit=limit,
|
|
157
162
|
enable_rag_tools=enable_rag_tools,
|
|
158
163
|
)
|
|
159
164
|
|
agent_cli/memory/api.py
CHANGED
|
@@ -22,6 +22,7 @@ LOGGER = logging.getLogger(__name__)
|
|
|
22
22
|
def create_app(
|
|
23
23
|
memory_path: Path,
|
|
24
24
|
openai_base_url: str,
|
|
25
|
+
embedding_base_url: str | None = None,
|
|
25
26
|
embedding_model: str = DEFAULT_OPENAI_EMBEDDING_MODEL,
|
|
26
27
|
embedding_api_key: str | None = None,
|
|
27
28
|
chat_api_key: str | None = None,
|
|
@@ -39,6 +40,7 @@ def create_app(
|
|
|
39
40
|
client = MemoryClient(
|
|
40
41
|
memory_path=memory_path,
|
|
41
42
|
openai_base_url=openai_base_url,
|
|
43
|
+
embedding_base_url=embedding_base_url,
|
|
42
44
|
embedding_model=embedding_model,
|
|
43
45
|
embedding_api_key=embedding_api_key,
|
|
44
46
|
chat_api_key=chat_api_key,
|
agent_cli/memory/client.py
CHANGED
|
@@ -41,6 +41,7 @@ class MemoryClient:
|
|
|
41
41
|
self,
|
|
42
42
|
memory_path: Path,
|
|
43
43
|
openai_base_url: str,
|
|
44
|
+
embedding_base_url: str | None = None,
|
|
44
45
|
embedding_model: str = DEFAULT_OPENAI_EMBEDDING_MODEL,
|
|
45
46
|
embedding_api_key: str | None = None,
|
|
46
47
|
chat_api_key: str | None = None,
|
|
@@ -74,7 +75,7 @@ class MemoryClient:
|
|
|
74
75
|
self.collection: Collection = init_memory_collection(
|
|
75
76
|
self.memory_path,
|
|
76
77
|
embedding_model=embedding_model,
|
|
77
|
-
openai_base_url=self.openai_base_url,
|
|
78
|
+
openai_base_url=embedding_base_url or self.openai_base_url,
|
|
78
79
|
openai_api_key=embedding_api_key,
|
|
79
80
|
)
|
|
80
81
|
|
agent_cli/opts.py
CHANGED
|
@@ -109,6 +109,14 @@ EMBEDDING_MODEL: str = typer.Option(
|
|
|
109
109
|
help="Embedding model to use for vectorization.",
|
|
110
110
|
rich_help_panel="LLM Configuration",
|
|
111
111
|
)
|
|
112
|
+
EMBEDDING_BASE_URL: str | None = typer.Option(
|
|
113
|
+
None,
|
|
114
|
+
"--embedding-base-url",
|
|
115
|
+
envvar="EMBEDDING_BASE_URL",
|
|
116
|
+
help="Base URL for embedding API. Falls back to `--openai-base-url` if not set. "
|
|
117
|
+
"Useful when using different providers for chat vs embeddings.",
|
|
118
|
+
rich_help_panel="LLM Configuration",
|
|
119
|
+
)
|
|
112
120
|
|
|
113
121
|
# --- ASR (Audio) Configuration ---
|
|
114
122
|
# General ASR
|
agent_cli/rag/api.py
CHANGED
|
@@ -32,6 +32,7 @@ def create_app(
|
|
|
32
32
|
docs_folder: Path,
|
|
33
33
|
chroma_path: Path,
|
|
34
34
|
openai_base_url: str,
|
|
35
|
+
embedding_base_url: str | None = None,
|
|
35
36
|
embedding_model: str = DEFAULT_OPENAI_EMBEDDING_MODEL,
|
|
36
37
|
embedding_api_key: str | None = None,
|
|
37
38
|
chat_api_key: str | None = None,
|
|
@@ -47,7 +48,7 @@ def create_app(
|
|
|
47
48
|
chroma_path,
|
|
48
49
|
name="docs",
|
|
49
50
|
embedding_model=embedding_model,
|
|
50
|
-
openai_base_url=openai_base_url,
|
|
51
|
+
openai_base_url=embedding_base_url or openai_base_url,
|
|
51
52
|
openai_api_key=embedding_api_key,
|
|
52
53
|
)
|
|
53
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.73.0
|
|
4
4
|
Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
|
|
5
5
|
Project-URL: Homepage, https://github.com/basnijholt/agent-cli
|
|
6
6
|
Author-email: Bas Nijholt <bas@nijho.lt>
|
|
@@ -2066,8 +2066,12 @@ uv tool install "agent-cli[vad]" -p 3.13
|
|
|
2066
2066
|
│ [env var: OPENAI_API_KEY] │
|
|
2067
2067
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2068
2068
|
╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
|
|
2069
|
-
│ --embedding-
|
|
2070
|
-
│
|
|
2069
|
+
│ --embedding-base-url TEXT Base URL for embedding API. Falls back to │
|
|
2070
|
+
│ --openai-base-url if not set. Useful when using │
|
|
2071
|
+
│ different providers for chat vs embeddings. │
|
|
2072
|
+
│ [env var: EMBEDDING_BASE_URL] │
|
|
2073
|
+
│ --embedding-model TEXT Embedding model to use for vectorization. │
|
|
2074
|
+
│ [default: text-embedding-3-small] │
|
|
2071
2075
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2072
2076
|
╭─ Server Configuration ─────────────────────────────────────────────────────────────────╮
|
|
2073
2077
|
│ --host TEXT Host/IP to bind API servers to. │
|
|
@@ -2229,8 +2233,12 @@ The `memory proxy` command is the core feature—a middleware server that gives
|
|
|
2229
2233
|
│ [env var: OPENAI_API_KEY] │
|
|
2230
2234
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2231
2235
|
╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
|
|
2232
|
-
│ --embedding-
|
|
2233
|
-
│
|
|
2236
|
+
│ --embedding-base-url TEXT Base URL for embedding API. Falls back to │
|
|
2237
|
+
│ --openai-base-url if not set. Useful when using │
|
|
2238
|
+
│ different providers for chat vs embeddings. │
|
|
2239
|
+
│ [env var: EMBEDDING_BASE_URL] │
|
|
2240
|
+
│ --embedding-model TEXT Embedding model to use for vectorization. │
|
|
2241
|
+
│ [default: text-embedding-3-small] │
|
|
2234
2242
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2235
2243
|
╭─ Server Configuration ─────────────────────────────────────────────────────────────────╮
|
|
2236
2244
|
│ --host TEXT Host/IP to bind API servers to. │
|
|
@@ -9,7 +9,7 @@ agent_cli/config_cmd.py,sha256=PkFY-U09LRIFYrHL_kG4_Ge6DjCWFe3GkO_uiIBMTgI,10359
|
|
|
9
9
|
agent_cli/constants.py,sha256=-Q17N6qKIGqPDsu3FxpIKP33G0Cs0RUJlHwYNHxVxek,843
|
|
10
10
|
agent_cli/docs_gen.py,sha256=ZX2GYHNumpLhdAEc_4Hy6xeAahAzsEVVnsXUojMYVNY,13885
|
|
11
11
|
agent_cli/example-config.toml,sha256=xd9BXeOqdYx4xFJt58VBs2I49ESy6dF4-mWF_g8sM9o,7552
|
|
12
|
-
agent_cli/opts.py,sha256=
|
|
12
|
+
agent_cli/opts.py,sha256=XgVFv-ip5lkFJNyBGHewCBQc4YaLJUSijIsP1qiqcts,13405
|
|
13
13
|
agent_cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
agent_cli/_requirements/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
agent_cli/_requirements/audio.txt,sha256=KAOtFaFClkj2EAesWI61LZ4N-T1WQvHtvf1sNtDxVgQ,1522
|
|
@@ -29,14 +29,14 @@ agent_cli/agents/_voice_agent_common.py,sha256=PUAztW84Xf9U7d0C_K5cL7I8OANIE1H6M
|
|
|
29
29
|
agent_cli/agents/assistant.py,sha256=oUu6Z3mRQnO_PKzby71iB282UN-yRmKGiPa-OzkHmRg,13794
|
|
30
30
|
agent_cli/agents/autocorrect.py,sha256=nJnNC9uKBZcbQ4roiC-BiJKTomiSdfe8mNa8p3yACps,9715
|
|
31
31
|
agent_cli/agents/chat.py,sha256=DhG7qAYqlwj_UDaMREucFhvUqNuWNLFGpR_NRp7nuek,18703
|
|
32
|
-
agent_cli/agents/rag_proxy.py,sha256=
|
|
32
|
+
agent_cli/agents/rag_proxy.py,sha256=0EeCbMqnFAGuCKe1wtjaYJsfbMlUfFxN0-uekYzLWpg,6560
|
|
33
33
|
agent_cli/agents/speak.py,sha256=XcBK_y1LMdNPdgfs9V57FNSZMgtjWFogIPsUx0g4SX0,7640
|
|
34
34
|
agent_cli/agents/transcribe.py,sha256=4KrMsNty4O2sRtmhqsHzH5AYXoMeTrbFq0mPrV_qGqE,25322
|
|
35
35
|
agent_cli/agents/transcribe_daemon.py,sha256=kJhmp7143fj3mhwz-l-a-LKvxZkhcGMHHcn8Cvq-Ec4,18926
|
|
36
36
|
agent_cli/agents/voice_edit.py,sha256=OiYgBJ9GhtbeE7uLfaGHLWHXe7TKNd9Oo6kfvsROJ3M,11405
|
|
37
37
|
agent_cli/agents/memory/__init__.py,sha256=3IFV1fSD0u38E54f_0oPZoPbM0LXaH-A3bDSnBL9FJs,1470
|
|
38
38
|
agent_cli/agents/memory/add.py,sha256=i_F78rnE8ftJ1DY1yX4BpClV8H9Rz9-aFh6lzI6a_zE,6349
|
|
39
|
-
agent_cli/agents/memory/proxy.py,sha256=
|
|
39
|
+
agent_cli/agents/memory/proxy.py,sha256=rSesjHTx366Q9fEXB-DanRpFOJnua3tkQwXkJeMmRgs,7209
|
|
40
40
|
agent_cli/core/__init__.py,sha256=c_knH7u9QgjsfMIil9NP4bVizHawLUMYoQWU4H9vMlQ,46
|
|
41
41
|
agent_cli/core/audio.py,sha256=43FpYe2Wu_BYK9xJ_55V4xHjHJeFwQ5aM-CQzlTryt8,15168
|
|
42
42
|
agent_cli/core/audio_format.py,sha256=zk3qlYMAlKYPz1enrjihQQspl_C218v1Rbcm7Uktlew,8773
|
|
@@ -107,8 +107,8 @@ agent_cli/memory/_retrieval.py,sha256=K_2TUcgzfntBARPyf0K6VR3NIgHHJrqGFMP_53Nae_
|
|
|
107
107
|
agent_cli/memory/_store.py,sha256=m9mD1GxjdTXpnyL-X-MIU4cj28unqxJ_azV3kwM8blM,5086
|
|
108
108
|
agent_cli/memory/_streaming.py,sha256=P1JnkDNTJJj-lXawmXhBZnIia3ZZmKo-N6mUsLYFVgs,1400
|
|
109
109
|
agent_cli/memory/_tasks.py,sha256=XgEkN_3NCVQDWafZ_rqazpAE68yQ87x-amnQKMkfPXg,1469
|
|
110
|
-
agent_cli/memory/api.py,sha256=
|
|
111
|
-
agent_cli/memory/client.py,sha256=
|
|
110
|
+
agent_cli/memory/api.py,sha256=h7sxbNsq72ewOTnv4XcHaMBGY5NgEMAB5e_OmtMzxy0,3685
|
|
111
|
+
agent_cli/memory/client.py,sha256=szkI8G8CHfHOgH9LwDEQQmZZNsUi_a3DdHX23h_yn2U,10063
|
|
112
112
|
agent_cli/memory/engine.py,sha256=rABVC86b5wU1QxY3BM43RhvfDOxoRT7Ddm98BN_qCL4,11656
|
|
113
113
|
agent_cli/memory/entities.py,sha256=_8wyJz--tNa66CEtSpl2TUN_zeHQvMzm42htnDaOr6g,1219
|
|
114
114
|
agent_cli/memory/models.py,sha256=KK0wToEf-tXssYVL0hYaJlcADlJ3G2lcSXwo1UmA0VU,2352
|
|
@@ -119,7 +119,7 @@ agent_cli/rag/_prompt.py,sha256=d8_jOhZGafMmjO7BlCl4H125bj4m-dNFWDOLz5_OPrw,954
|
|
|
119
119
|
agent_cli/rag/_retriever.py,sha256=bzMzZR43P5cROgnWwOh_BrMFsMP5tDm21ToFVZwb0gk,4505
|
|
120
120
|
agent_cli/rag/_store.py,sha256=HksCLnbHp19dnY5ZWglm86azBjjuiWqvZvRPG-oJ8SY,1381
|
|
121
121
|
agent_cli/rag/_utils.py,sha256=OKZvn8UFb3TsB4b0eIWU6Md5xDiaG-g659zMjVUu8oI,5923
|
|
122
|
-
agent_cli/rag/api.py,sha256=
|
|
122
|
+
agent_cli/rag/api.py,sha256=s0jsCrACkuWfTiGzznlacxyTGGu9Fa6LVmrIf23JBbQ,5629
|
|
123
123
|
agent_cli/rag/client.py,sha256=mFiZ4yjI75Vsehie6alsV1My50uIsp-G07Qz6SaNrZw,8913
|
|
124
124
|
agent_cli/rag/engine.py,sha256=XySDer0fNTsEUjbUby5yf7JqB7uCE7tw2A6tYJixHnI,9800
|
|
125
125
|
agent_cli/rag/models.py,sha256=uECWoeBChlkAK7uTM-pUnPGaaMO4EYJ3pJcAf8uh1vI,1043
|
|
@@ -189,8 +189,8 @@ agent_cli/services/asr.py,sha256=aRaCLVCygsJ15qyQEPECOZsdSrnlLPbyY4RwAqY0qIw,172
|
|
|
189
189
|
agent_cli/services/llm.py,sha256=i01utl1eYWlM13gvW2eR6ErL_ndH-g0d-BSleZra_7k,7229
|
|
190
190
|
agent_cli/services/tts.py,sha256=NX5Qnq7ddLI3mwm3nzhbR3zB1Os4Ip4sSVSjDZDTBcI,14855
|
|
191
191
|
agent_cli/services/wake_word.py,sha256=JFJ1SA22H4yko9DXiQ1t7fcoxeALLAe3iBrLs0z8rX4,4664
|
|
192
|
-
agent_cli-0.
|
|
193
|
-
agent_cli-0.
|
|
194
|
-
agent_cli-0.
|
|
195
|
-
agent_cli-0.
|
|
196
|
-
agent_cli-0.
|
|
192
|
+
agent_cli-0.73.0.dist-info/METADATA,sha256=ybJ--hEZOx6RMgWCcWysDtu-eiMsRMq5H74VsaTYrMQ,180673
|
|
193
|
+
agent_cli-0.73.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
194
|
+
agent_cli-0.73.0.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
|
|
195
|
+
agent_cli-0.73.0.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
|
|
196
|
+
agent_cli-0.73.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|