- Add complete Python backend (Litestar + LangGraph) with chat, conversations, tickets APIs - Add GitHub Actions workflow for auto-deploying backend to Azure Web App (soc-backend) - Add gunicorn to requirements.txt for production serving - Update CLAUDE.md and EXTERNAL_SERVICES.md with latest config - Remove obsolete claudehd.md (merged into gpthd.md) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
153 lines
4.1 KiB
Markdown
153 lines
4.1 KiB
Markdown
# 外部服务接入配置
|
|
|
|
> **使用说明**:此文档用于记录外部服务的接入方式、环境变量和调用示例,便于开发、联调与排障。
|
|
>
|
|
> 当前服务按“代码已支持 + 部署环境变量由 Azure Web App 提供”的口径记录为已接入;实际运行效果仍以部署环境变量是否正确配置为准。
|
|
>
|
|
> 已接入的服务会标注 ✅。
|
|
|
|
---
|
|
|
|
## 1. LLM 大语言模型
|
|
|
|
> 当前使用 Azure OpenAI,已在后端 graph.py / main.py 中集成。
|
|
|
|
### 环境变量(已配置)
|
|
```
|
|
AZURE_OPENAI_ENDPOINT=https://ai-gzy0016231ai975636166896.cognitiveservices.azure.com/openai/responses?api-version=2025-04-01-preview/
|
|
AZURE_OPENAI_API_KEY=DlsBBFJ0RgMGdKxsdBWnlYj6IRdULzflGsKFCXnMBzqs4ZVHMtqZJQQJ99CCACHYHv6XJ3w3AAAAACOG45do
|
|
AZURE_OPENAI_API_VERSION=2025-04-01-preview
|
|
AZURE_OPENAI_DEPLOYMENT=gpt-5.4
|
|
```
|
|
|
|
### 请求示例
|
|
```bash
|
|
curl -X POST "${AZURE_OPENAI_ENDPOINT}/openai/deployments/${AZURE_OPENAI_DEPLOYMENT}/chat/completions?api-version=${AZURE_OPENAI_API_VERSION}" \
|
|
-H "Content-Type: application/json" \
|
|
-H "api-key: ${AZURE_OPENAI_API_KEY}" \
|
|
-d '{
|
|
"messages": [{"role": "user", "content": "你好"}],
|
|
"max_tokens": 1000
|
|
}'
|
|
```
|
|
|
|
---
|
|
|
|
## 2. 内部知识库检索
|
|
|
|
> 当前通过 agnetdoc Function App 调用 Azure AI Search。
|
|
|
|
### 环境变量(已配置)
|
|
```
|
|
KB_AGENT_URL=https://agnetdoc-cve0guf5h8eggmej.southeastasia-01.azurewebsites.net
|
|
KB_AGENT_API_KEY=LdyzZlS3Nn1xFejqPsHn1nW-zsj9FLpC5KCbopCkQWKCAzFuLEUU4w==
|
|
KB_AGENT_SEARCH_PATH=/api/v1/search
|
|
KB_AGENT_SEARCH_TIMEOUT_SEC=15
|
|
```
|
|
|
|
### 请求示例
|
|
```bash
|
|
curl -X POST "${KB_AGENT_URL}/api/v1/search" \
|
|
-H "Content-Type: application/json" \
|
|
-H "api-key: ${KB_AGENT_API_KEY}" \
|
|
-d '{
|
|
"query": "Taiji Agent 产品规划",
|
|
"top": 8,
|
|
"search_mode": "hybrid"
|
|
}'
|
|
```
|
|
|
|
### 响应格式
|
|
```json
|
|
{
|
|
"results": [
|
|
{
|
|
"id": "xxx",
|
|
"title": "文档标题",
|
|
"content": "文档内容...",
|
|
"category": "分类",
|
|
"score": 0.85,
|
|
"url": "https://...",
|
|
"tags": ["tag1"],
|
|
"project": "项目名"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 3. 外部 AI 搜索
|
|
目前外部搜索采用https://mcp.jina.ai/sse 或者 /v1 可优先测试
|
|
jina_e26dc30420a44a1e859216528065b203TkMRmsoz-FgMDQC5FZX9jr5oF2CI
|
|
要求使用搜索和读取两个工具,并且要结合重排模型使用。
|
|
满足企业级的搜索准确度,包括不限于图片和视频
|
|
按照深度和快速来定义搜索内容和搜索的质量,还需要满足前端的展示。
|
|
|
|
支持MCP
|
|
|
|
---
|
|
|
|
## 4. 沙盒代码执行
|
|
沙盒采用现成的解决方案。https://docs.langchain.com/oss/python/integrations/sandboxes/daytona
|
|
|
|
https://app.daytona.io/api
|
|
dtn_066b83f57f0337c96fae2ef1f5c8456477a39dfbd5fc615456263fd4947108c2
|
|
依然要满足前端输出要求。
|
|
|
|
|
|
## 5. 文档生成 Agent
|
|
http://doc-creator-agent-b0d02105-a557fe.taijiagnet.com
|
|
sk-t5R8jkEp6IA7_ghJ6Hy1rQ
|
|
http://agnetdoc.taijiaicloud.com/node/019cd223-9d13-7566-a2ea-52ee67645463
|
|
|
|
|
|
## 6. 工单系统
|
|
|
|
> gongdan 工单系统,只读集成。
|
|
|
|
### 环境变量(已配置)
|
|
```
|
|
GONGDAN_API_BASE=https://gongdan-b5fzbtgteqd5gzfb.eastasia-01.azurewebsites.net
|
|
GONGDAN_API_KEY=gd_live_a28b3db84385be75d1d3b6b6023784c27200d045
|
|
```
|
|
|
|
### 请求示例
|
|
```bash
|
|
# 工单列表
|
|
curl -X GET "${GONGDAN_API_BASE}/api/tickets?page=1&pageSize=20" \
|
|
-H "X-Api-Key: ${GONGDAN_API_KEY}"
|
|
|
|
# 工单详情
|
|
curl -X GET "${GONGDAN_API_BASE}/api/tickets/{ticketId}" \
|
|
-H "X-Api-Key: ${GONGDAN_API_KEY}"
|
|
```
|
|
|
|
---
|
|
|
|
## 7. Pgsql数据库
|
|
```
|
|
DATABASE_URL=postgresql://USER:PASSWORD@<host>:5432/yydn?sslmode=require
|
|
```
|
|
```
|
|
dataope.postgres.database.azure.com
|
|
azuredb:h13nYoFJX6QrfLzB8bdipEUCjsZq2P7W
|
|
```
|
|
---
|
|
|
|
### 8.Redis
|
|
```
|
|
oper.redis.cache.windows.net:6380,password=bY8ZNwyJX60UwN5NPqnl6HRODfTV0efkDAzCaF1PrOU=,ssl=True,abortConnect=False
|
|
```
|
|
---
|
|
### 9.存储账户
|
|
```
|
|
DefaultEndpointsProtocol=https;AccountName=authdatablol;AccountKey=sm3ysR0zAmS9OLtiHVau3Wj122YWQJTuMHAyHO4ReIrpe6+3r1K7oGfFLGCZSZh+1n72gbK1q/+C+AStgrZ7fw==;EndpointSuffix=core.windows.net
|
|
```
|
|
---
|
|
### 10.service bus
|
|
```
|
|
Endpoint=sb://databus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=+b7+0KMW1UQt5mbJEkA7uRxds4h0h4VNK+ASbOH5q3E=
|
|
```
|
|
---
|