Skip to main content
Glama
o6-webwork

LLM Tool-Calling Assistant

by o6-webwork

Этот проект подключает локального LLM (например, Qwen) к таким инструментам, как калькулятор или база знаний, через протокол MCP . Помощник автоматически обнаруживает и вызывает эти инструменты, чтобы помочь ответить на запросы пользователя.


📦 Особенности

  • 🔧 Выполнение инструмента через сервер MCP

  • 🧠 Локальная интеграция LLM через HTTP или OpenAI SDK

  • 📚 Поддержка базы знаний ( data.json )

  • ⚡ Поддерживает транспорты stdio и sse


Related MCP server: MCP Server with Local LLM

🗂 Файлы проекта

Файл

Описание

server.py

Регистрирует инструменты и запускает сервер MCP

client-http.py

Использует aiohttp для связи с локальным LLM

clientopenai.py

Использует совместимый с OpenAI SDK для LLM + логику вызова инструментов

client-stdio.py

Клиент MCP, использующий stdio

client-see.py

Клиент MCP с использованием SSE

data.json

База знаний вопросов и ответов


📥 Установка

Требования

Питон 3.8+

Установить зависимости:

pip install -r requirements.txt

requirements.txt

aiohttp==3.11.18
nest_asyncio==1.6.0
python-dotenv==1.1.0
openai==1.77.0
mcp==1.6.0

🚀 Начало работы

1. Запустите MCP-сервер

python server.py

Это запустит ваш сервер инструментов с такими функциями, как add , multiply и get_knowledge_base .

2. Запустить клиент

Вариант A: HTTP-клиент (локальный LLM через необработанный API)

python client-http.py

Вариант B: клиент OpenAI SDK

python client-openai.py

Вариант C: стандартный транспорт

python client-stdio.py

Вариант D: транспорт SSE

Убедитесь, что server.py устанавливает:

transport = "sse"

Затем выполните:

python client-sse.py

💬 Примеры подсказок

Вызов математического инструмента

What is 8 times 3?

Ответ:

Eight times three is 24.

Вопрос базы знаний

What are the healthcare benefits available to employees in Singapore?

Ответ будет включать соответствующий ответ из data.json .


📁 Пример: data.json

[
  {
    "question": "What is Singapore's public holiday schedule?",
    "answer": "Singapore observes several public holidays..."
  },
  {
    "question": "How do I apply for permanent residency in Singapore?",
    "answer": "Submit an online application via the ICA website..."
  }
]

🔧 Конфигурация

Внутри client-http.py или clientopenai.py обновите следующее:

LOCAL_LLM_URL = "..."
TOKEN = "your-api-token"
LOCAL_LLM_MODEL = "your-model"

Убедитесь, что ваш LLM обслуживает конечные точки API, совместимые с OpenAI.


🧹 Уборка

Клиенты обрабатывают вызовы и ответы инструментов автоматически. Вы можете остановить сервер или клиента с помощью Ctrl+C .


🪪 Лицензия

Лицензия MIT. См. файл LICENSE .

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    A multi-tool MCP server that enhances local LLMs with web search, document reading, scholarly research, Wikipedia access, and calculator functions. Provides comprehensive tools for information retrieval and computation without requiring API keys by default.
    22
    1
    MIT