feat(agent): 检索工具、模型接入与结构化回复
Agent 按组织与知识源范围调用检索工具,密钥加密保存,回复含来源与转人工意图。
This commit is contained in:
1 parent
c7011040c3
commit
2dd062787d
65 files changed
+33409
No files matched your search
@@ -0,0 +1,49 @@
|
||||
"""
|
||||
Copyright 2024-2026 ReplyPier
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
"""
|
||||
|
||||
# agno reports every agent run to api.agno.com unless told not to, and it
|
||||
# awaits that call inside the run (60s client timeout). When the call is slow
|
||||
# the run outlives AGENT_RUN_TIMEOUT and the visitor gets an apology instead of
|
||||
# an answer - for a report nobody here reads, sent from every install.
|
||||
#
|
||||
# Off by default (settings.AGNO_TELEMETRY / AGNO_MONITOR, from the environment
|
||||
# or backend/.env). agno reads these variables before each run report, so
|
||||
# setting them once per process covers every agent, wherever it is built. With
|
||||
# both off, AGNO_API_ENABLED=false also stops agno's other calls to its API
|
||||
# (session logging, playground, evals), which ReplyPier never uses.
|
||||
#
|
||||
# Environment variables rather than Agent(telemetry=False) because agents are
|
||||
# built in many places (chat, transfer, tickets, FAQs, summaries, help center)
|
||||
# and in separate worker processes - app/__init__.py calls apply() first thing.
|
||||
|
||||
import os
|
||||
|
||||
from app.core.config import settings
|
||||
|
||||
AGNO_SWITCHES = ("AGNO_TELEMETRY", "AGNO_MONITOR")
|
||||
AGNO_API_SWITCH = "AGNO_API_ENABLED"
|
||||
|
||||
|
||||
def _env_flag(enabled: bool) -> str:
|
||||
return "true" if enabled else "false"
|
||||
|
||||
|
||||
def apply() -> None:
|
||||
"""Hand agno the configured telemetry and monitoring switches (idempotent)."""
|
||||
for name in AGNO_SWITCHES:
|
||||
os.environ[name] = _env_flag(getattr(settings, name))
|
||||
if not any(getattr(settings, name) for name in AGNO_SWITCHES):
|
||||
os.environ[AGNO_API_SWITCH] = _env_flag(False)
|
||||
Reference in new issue
Block a user