diff --git a/docker-compose.yml b/docker-compose.yml index b8035bb..7400116 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,13 @@ services: mcp_service: container_name: mcp_service + build: context: ./ + + ports: + - "8002:8000" + networks: - ssrf_proxy_network - milvus diff --git a/response_template/template.txt b/response_template/template.txt new file mode 100644 index 0000000..aa93d24 --- /dev/null +++ b/response_template/template.txt @@ -0,0 +1,18 @@ +{'messages': [ + HumanMessage(content='账号 user@example.com\n密码 stringst', additional_kwargs={}, response_metadata={}, id='e838025c-b118-46f2-8535-c13b24fe333e'), + AIMessage(content='', additional_kwargs={}, response_metadata={'model': 'qwen3: 8b', 'created_at': '2025-08-30T02: 30: 45.214021756Z', 'done': True, 'done_reason': 'stop', 'total_duration': 2441696716, 'load_duration': 7904240, 'prompt_eval_count': 333, 'prompt_eval_duration': 23550462, 'eval_count': 253, 'eval_duration': 2409719842, 'model_name': 'qwen3: 8b' + }, id='run--9e90b9cb-5116-4e95-95b9-8927b10f427b-0', tool_calls=[ + {'name': '登陆助手_login_function', 'args': {'password': 'stringst', 'username': 'user@example.com' + }, 'id': '683e80bb-cb99-400c-bf3d-58a4d510846e', 'type': 'tool_call' + } + ], usage_metadata={'input_tokens': 333, 'output_tokens': 253, 'total_tokens': 586 + }), + ToolMessage(content='{ + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTcyMTIyNDUsInN1YiI6ImJjODJmMzQyLWE0NmMtNDI0Mi1iM2NkLTQ1NWUzNWZjY2RmOCJ9.oghnleWYooiyIERl3hHCj_W3WZ7hu0CTNbz_aiP-8AE", + "token_type": "bearer" + }', name='登陆助手_login_function', id='322c9921-72af-4447-9dbc-c4fac2e559cc', tool_call_id='683e80bb-cb99-400c-bf3d-58a4d510846e'), + AIMessage(content='\n好的,用户之前尝试了登录操作,现在需要处理登录后的响应。首先,我需要确认用户是否成功登录。查看工具返回的响应,access_token存在,说明登录成功。接下来,应该向用户展示登录结果,包括token的信息,并提示他们可以进行后续操作。同时,要确保不泄露敏感信息,比如直接显示token内容可能有风险,但根据之前工具的响应,用户可能需要这些信息进行后续请求。因此,应该明确告知用户登录成功,并提供必要的信息,同时建议他们安全存储token。另外,检查是否有其他需要处理的步骤,比如自动跳转或进一步的指引,但根据当前信息,可能只需简单确认登录成功即可。\n\n\n登录请求已成功处理,返回的访问令牌为:\n```\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTcyMTIyNDUsInN1YiI6ImJjODJmMzQyLWE0NmMtNDI0Mi1iM2NkLTQ1NWUzNWZjY2RmOCJ9.oghnleWYooiyIERl3hHCj_W3WZ7hu0CTNbz_aiP-8AE\n```\n\n该令牌有效期至 2025年1月1日。您可使用此令牌进行后续的API请求操作,请注意安全存储。需要帮助使用该令牌进行其他操作吗?', additional_kwargs={}, response_metadata={'model': 'qwen3: 8b', 'created_at': '2025-08-30T02: 30: 48.613802823Z', 'done': True, 'done_reason': 'stop', 'total_duration': 3137739862, 'load_duration': 7813141, 'prompt_eval_count': 500, 'prompt_eval_duration': 16532156, 'eval_count': 326, 'eval_duration': 3105946037, 'model_name': 'qwen3: 8b' + }, id='run--b94dcce8-b5d2-43d7-9ca1-75a6912e3d87-0', usage_metadata={'input_tokens': 500, 'output_tokens': 326, 'total_tokens': 826 + }) + ] +} \ No newline at end of file diff --git a/src/ollama_agent.py b/src/ollama_agent.py index f9931c9..22cca39 100644 --- a/src/ollama_agent.py +++ b/src/ollama_agent.py @@ -17,7 +17,7 @@ llm = ChatOllama( store_mcp = MCPStore.setup_store() store_mcp.for_store().add_service( config=[ - {'name':'登陆助手','url':'mcpdocker容器的地址:8000/mcp'} + {'name':'登陆助手','url':'http://127.0.0.1:8002/mcp'} ] ) tools = store_mcp.for_store().for_langchain().list_tools() diff --git a/src/webui.py b/src/webui.py index 2b18aaa..0f6f951 100644 --- a/src/webui.py +++ b/src/webui.py @@ -38,4 +38,13 @@ if query: with st.chat_message(name='user'): st.markdown(query) st.session_state.history.append(HumanMessage(content=query)) - response =agent.invoke(input=[]) \ No newline at end of file + response =agent.invoke(input={"messages": st.session_state.history},) + + print(response['messages'][-2].content) + + with st.chat_message(name='assistant'): + last_message = response['messages'][-1] + st.markdown(last_message.content) + st.session_state.history.append(last_message) + +