AI开源工具一站式体验:上手探索原生AI能力
一、为什么值得体验
近年来开源AI生态蓬勃发展,从模型推理到Agent编排,大量成熟工具让开发者无需从零造轮子。本文以轻量、可复现的代码演示,带你快速上手三类高频工具:大模型推理(Ollama)、向量检索(FAISS)、Agent工作流(LangChain)。
二、环境准备
安装Python依赖与本地模型运行时:
bash
pip install ollama langchain langchain-community faiss-cpu
ollama pull qwen2.5:3b
三、代码演示
1. 本地大模型推理
python
from ollama import chat
resp = chat(
model="qwen2.5:3b",
messages=[{"role": "user", "content": "用一句话解释什么是向量数据库"}],
)
print(resp["message"]["content"])
说明:通过 Ollama 本地加载开源模型,数据不出本机,适合私有化场景。
2. 语义检索
python
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import FAISS
docs = [
"LangChain 用于编排大模型应用",
"FAISS 提供高效的相似度检索",
"Ollama 支持本地模型运行",
]
embeddings = OllamaEmbeddings(model="nomic-embed-text")
store = FAISS.from_texts(docs, embeddings)
query = "如何实现本地向量检索?"
results = store.similarity_search(query, k=2)
for r in results:
print(r.page_content)
说明:把文本切分成向量存入索引,再按语义相似度召回,是 RAG 的核心一环。
3. Agent 工作流编排
python
from langchain.agents import AgentExecutor, create_react_agent
from langchain_community.chat_models import ChatOllama
from langchain.tools import tool
from langchain.prompts import PromptTemplate
@tool
def add(a: int, b: int) -> int:
"""计算两个整数之和"""
return a + b
llm = ChatOllama(model="qwen2.5:3b", temperature=0)
prompt = PromptTemplate.from_template(
"请使用提供的工具完成任务:{input}\n\n{agent_scratchpad}"
)
agent = create_react_agent(llm, [add], prompt)
executor = AgentExecutor(agent=agent, tools=[add])
print(executor.invoke({"input": "计算 12 + 30 等于多少"}))
说明:借助 LangChain 将大模型与工具结合,模型自动选择并调用函数,实现"思考-调用-回答"的闭环。
四、运行与验证
按以下顺序验证整体链路:
bash
python demo_inference.py # 模型推理
python demo_rag.py # 语义检索
python demo_agent.py # Agent 调用工具
预期输出:推理返回中文解释,检索命中相关文档,Agent 正确返回 42。
五、小结
通过 Ollama、FAISS、LangChain 三个开源工具的串联,即可构建"模型加载 → 向量检索 → 智能体编排"的完整原生AI链路。三者均开源免费,可快速用于本地实验与二次开发,建议按自身场景组合取舍。
海量精选技术文档和实战案例持续更新,敬请关注【风骏时光少年】