QPython LangChain 与 APIGPT——构建移动端 AI 应用的工具链
什么是 LangChain
LangChain 是一个开源的 Python 框架,专门用来构建基于大语言模型(LLM)的应用。它提供了一套抽象层,把「调用 LLM」「连接外部数据源」「组织 prompt」这几大块能力串起来,让你不用从零开始写胶水代码。
简单来说:LangChain 帮你写好了「AI 应用里和 LLM 对话」那部分的通用逻辑,你只需要填上具体的业务逻辑。
LangChain 能做什么
LangChain 的核心组件包括:
- LLM 抽象:统一的调用接口,底层可以接 Ollama、OpenAI、Anthropic 等任何 LLM
- Prompt 模板:把 prompt 格式化成可复用的模板
- Chains:把多个步骤串成流水线(如「搜索 → 总结 → 输出」)
- Agents:让 LLM 自己决定用什么工具、执行什么步骤
- Vector Stores:向量数据库,用于 RAG(检索增强生成)
- Retriever:从向量数据库里检索相关文档
在 QPython 中安装 LangChain
通过 QPYPI 搜索 langchain 并安装。LangChain 的包比较大,建议 Wi-Fi 下安装。可能还需要配合安装:
langchain-community(社区维护的各种集成)langchain-ollama(LangChain 对 Ollama 的集成)
QPython + Ollama + LangChain 组合
这是目前最有价值的组合——手机本地跑 LLM + LangChain 工具链 + Python 脚本。以下几个实用场景:
场景一:文档问答(RAG)
把一组文档(如技术手册、产品说明书)向量化存入向量数据库,然后用 LLM 根据文档内容回答问题。这样 AI 的回答有出处,不会胡编。
from langchain_ollama import OllamaLLM
from langchain_community.vectorstores import FAISS
from langchain_text_splitters import RecursiveCharacterTextSplitter
# 用 QPython 本地 Ollama 的 llama3.2 模型
llm = OllamaLLM(model="llama3.2")
# 假设你有一些文档文本
documents = [
"QPython 是 Android 上的 Python IDE",
"QSL4A 是 Android API 桥接库",
"Ollama 可以在手机上跑大模型"
]
# 简单的问答(更完整的 RAG 需要 embedding 模型和向量库)
response = llm.invoke("QPython 有哪些核心功能?")
print(response)
场景二:结合 QSL4A 的 AI 自动化
用 LLM 理解自然语言指令,然后调用 QSL4A 的 Android API 执行:
from langchain_ollama import OllamaLLM
from androidhelper import Android
llm = OllamaLLM(model="phi4")
droid = Android()
# 用户自然语言指令
user_command = "现在帮我把手机调到静音并提醒我下午三点开会"
# LLM 解析意图(实际需要更复杂的 prompt 和 function calling)
# 这里简化为直接解析
if "静音" in user_command:
droid.toggleSilentMode()
if "提醒" in user_command:
# 设置定时提醒(需要更复杂的实现)
droid.makeToast("提醒已设置")
完整的 Agent 实现需要 LangChain 的 tool-calling 能力(让 LLM 知道有哪些工具可以调),上面是简化示意。
场景三:结合传感器数据
# 先读传感器
droid.startSensingTimed(1, 500)
events = droid.sensorsGetEventBuffered().result
droid.stopSensing()
# 把数据交给 LLM 分析
sensor_data = str(events[-3:]) if events else "无数据"
prompt = f"这是手机最近的加速度传感器数据:{sensor_data},帮我分析一下设备在做什么动作"
analysis = OllamaLLM(model="llama3.2").invoke(prompt)
droid.makeToast(analysis[:100]) # 只显示前 100 字符
APIGPTCloud
根据应用商店描述,QPython 兼容 APIGPTCloud 等工具链。APIGPTCloud 是另一个 AI 应用构建平台,具体信息建议查阅官方渠道。核心思路和 LangChain 类似——都是在 LLM 之上的应用开发框架。
移动端使用 LangChain 的限制
- 向量库选择:FAISS 是纯 Python 实现,适合手机;ChromaDB、Milvus 等可能太重
- Embedding 模型:RAG 需要 embedding 模型把文本转成向量,可以用 Ollama 内置的 nomic-embed-text
- 内存消耗:LangChain + LLM + 向量库同时在手机上运行对内存压力不小,建议同时只跑一个 AI 应用
- LLM 速度:手机上 LLM 推理慢,复杂 Agent 链可能跑得让人不耐烦
小结
LangChain 在 QPython + Ollama 组合上打开了很多可能性——RAG 文档问答、结合 QSL4A 的 AI 自动化、传感器数据智能分析。手机算力有限,但原型调试、轻量应用完全够用。先从简单的 LLM 调用开始,逐步叠加 RAG 和 Agent 能力,这样学习曲线更平滑。
接下来进入 Web 开发部分,了解 QPython 内置的 Django / Flask 支持。