LoRA问答生成器

LoRA-FAQ Hamilton是一个轻量级项目,通过LoRA技术对GPT-2进行微调,基于亚历山大·汉密尔顿的维基百科页面生成相关引用,并作为MCP服务器工具提供问答服务。

  • by TheBFG1324
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 TheBFG1324/LoRA-FAQ

使用说明

LoRA-常见问题解答(FAQ)汉密尔顿版

LoRA-FAQ Hamilton 是一个轻量级项目,它使用LoRA对GPT-2进行微调 亚历山大·汉密尔顿 维基百科页面。
然后,该模型被作为……暴露(或呈现)出来 MCP服务器工具因此,您可以使用任何兼容MCP的客户端进行查询,并按需获取汉密尔顿(Hamilton)的报价。


特点/特性

  • 使用(某种方法)对GPT-2进行微调 LoRA(低秩适应,Low-Rank Adaptation) 使用Keras/TensorFlow。
  • 使用从(某处)提取的文本 亚历山大·汉密尔顿 维基百科页面。
  • 暴露了 MCP工具 称为;叫做 answer_faq(question) 返回一句相关的汉密尔顿名言。
  • 包括一个 FastAPI 服务 用于本地测试。

项目结构

lora_faq_hamilton/
  data/               # Wikipedia source and processed quotes dataset
  lora_train/         # Training scripts
  serve/              # FastAPI inference service
  mcp_server/         # MCP server exposing the answer_faq tool
  LICENSES/           # Wikipedia CC BY-SA 4.0 license
  README.md

设置

git clone https://github.com/yourname/lora_faq_hamilton.git
cd lora_faq_hamilton
python -m venv .venv && source .venv/bin/activate

# Install dependencies
pip install "tensorflow==2.16.*" "tensorflow-text==2.16.*" \
            "keras>=3.3,<3.6" "keras-hub[nlp]>=0.16" \
            fastapi uvicorn "pydantic<3" httpx mcp

对于Apple Silicon(M1/M2/M3):

pip install tensorflow-macos tensorflow-metal "tensorflow-text==2.16.*"

培训

  1. 下载并清理汉密尔顿的维基百科页面:
python lora_train/build_dataset.py
  1. 使用LoRA微调GPT-2:
python lora_train/train_lora_gpt2.py

工件将被保存到 artifacts/lora_gpt2_savedmodel/。


运行FastAPI服务

uvicorn serve.app:app --reload --port 8008

使用curl进行测试:

curl -X POST localhost:8008/answer \
     -H 'content-type: application/json' \
     -d '{"question":"national bank"}'

运行MCP服务器

python mcp_server/server.py

这揭示了一个工具:

  • answer_faq(question: str) -> str

将您的MCP兼容客户端(例如,Claude Desktop、Cursor)配置为连接到此服务器。


示例用法

输入:

Give me a quote about George Washington

输出:

"Hamilton served as George Washington's aide-de-camp..." — (Alexander Hamilton, Wikipedia)
Source: Wikipedia “Alexander Hamilton” (CC BY-SA 4.0).

许可与署名