Как улучшить функции вызовов сервера-сервера-эмп-сервера MCP с моделью OpenAIPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как улучшить функции вызовов сервера-сервера-эмп-сервера MCP с моделью OpenAI

Сообщение Anonymous »

У меня есть рабочая модель, с которой я могу поговорить с двумя настроенными серверами 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»