У меня есть рабочая модель, с которой я могу поговорить с двумя настроенными серверами MCP. Первым является исполнитель Pydantic Python, а второй - сервер файловой системы MCP. Оба распознаются моделью, и я могу выполнить код Python, модель правильно выбирает инструмент и выполняемый код Python, когда это необходимо. Он всегда отвечает: «Чтобы прочитать содержимое файла, необходимо использовать read_file (path: ...)»
Я использую библиотеку MCP-openai: https://github.com/s1m0n38/mcp-openai/tree/main
mcp_client_config = config.MCPClientConfig(
mcpServers={
"pydantic_server": config.MCPServerConfig(
command='deno',
args=[
'run',
'-N',
'-R=node_modules',
'-W=node_modules',
'--node-modules-dir=auto',
'jsr:@pydantic/mcp-run-python',
'stdio',
],
),
"filesystem": config.MCPServerConfig(
command = "npx",
args= [
"-y",
"@modelcontextprotocol/server-filesystem",
"/app/test"
]
)
}
)
< /code>
Вот как я настроил свой клиент, и это мой основной цикл: < /p>
async def interactive_loop():
for server in mcp_client_config.mcpServers:
await client.connect_to_server(server)
await asyncio.sleep(1)
print("MCP Client gestartet. Schreibe 'quit' zum Beenden.")
messages = []
try:
while True:
user_input = input("\nUser: ").strip()
if user_input.lower() in {"quit", "exit"}:
print("Beende.")
break
messages.append({
"role": "user",
"content": user_input
})
try:
messages_out = await client.process_messages([{"role": "user", "content": user_input}])
except Exception as e:
print(f"Fehler bei der Verarbeitung: {e}")
continue
# Zeige die letzte Antwort des LLMs
for msg in messages_out:
if msg["role"] == "assistant":
print(f"\nAssistant: {msg}")
messages_out = []
# Update Chatverlauf
messages.extend(messages_out)
finally:
print("Räume Ressourcen auf...")
await client.cleanup()
Подробнее здесь: https://stackoverflow.com/questions/796 ... penai-mode
Как улучшить функции вызовов сервера-сервера-эмп-сервера MCP с моделью OpenAI ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как улучшить функции вызовов сервера-фиевой сервера MCP с моделью OpenAI [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-