(session: SessionDep, chat: McpAssistant)
| 160 | # Cordys crm |
| 161 | @router.post("/mcp_assistant", operation_id="mcp_assistant") |
| 162 | async def mcp_assistant(session: SessionDep, chat: McpAssistant): |
| 163 | session_user = BaseUserDTO(**{ |
| 164 | "id": -1, "account": 'sqlbot-mcp-assistant', "oid": 1, "assistant_id": -1, "password": '', "language": "zh-CN" |
| 165 | }) |
| 166 | # session_user: UserModel = get_db_user(session=session, user_id=1) |
| 167 | # session_user.oid = 1 |
| 168 | c = create_chat(session, session_user, CreateChat(origin=1), False) |
| 169 | |
| 170 | # build assistant param |
| 171 | configuration = {"endpoint": chat.url} |
| 172 | # authorization = [{"key": "x-de-token", |
| 173 | # "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjEsIm9pZCI6MSwiZXhwIjoxNzU4NTEyMDA2fQ.3NR-pgnADLdXZtI3dXX5-LuxfGYRvYD9kkr2de7KRP0", |
| 174 | # "target": "header"}] |
| 175 | mcp_assistant_header = AssistantHeader(id=1, name='mcp_assist', domain='', type=1, |
| 176 | configuration=json.dumps(configuration), |
| 177 | certificate=chat.authorization) |
| 178 | |
| 179 | # assistant question |
| 180 | mcp_chat = ChatQuestion(chat_id=c.id, question=chat.question) |
| 181 | # ask |
| 182 | return await question_answer_inner(session=session, current_user=session_user, request_question=mcp_chat, |
| 183 | current_assistant=mcp_assistant_header, |
| 184 | in_chat=False, stream=chat.stream, finish_step=ChatFinishStep.QUERY_DATA) |
nothing calls this directly
no test coverage detected