AI开源工具一站式体验:上手探索原生AI能力

28 阅读2分钟

AI开源工具一站式体验:上手探索原生AI能力

一、为什么值得体验

近年来开源AI生态蓬勃发展,从模型推理到Agent编排,大量成熟工具让开发者无需从零造轮子。本文以轻量、可复现的代码演示,带你快速上手三类高频工具:大模型推理(Ollama)、向量检索(FAISS)、Agent工作流(LangChain)。

二、环境准备

安装Python依赖与本地模型运行时:

pip install ollama langchain langchain-community faiss-cpu
ollama pull qwen2.5:3b

三、代码演示

1. 本地大模型推理

from ollama import chat

resp = chat(
    model="qwen2.5:3b",
    messages=[{"role": "user", "content": "用一句话解释什么是向量数据库"}],
)
print(resp["message"]["content"])

说明:通过 Ollama 本地加载开源模型,数据不出本机,适合私有化场景。

2. 语义检索

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 工作流编排

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 将大模型与工具结合,模型自动选择并调用函数,实现"思考-调用-回答"的闭环。

四、运行与验证

按以下顺序验证整体链路:

python demo_inference.py   # 模型推理
python demo_rag.py         # 语义检索
python demo_agent.py       # Agent 调用工具

预期输出:推理返回中文解释,检索命中相关文档,Agent 正确返回 42。

五、小结

通过 Ollama、FAISS、LangChain 三个开源工具的串联,即可构建"模型加载 → 向量检索 → 智能体编排"的完整原生AI链路。三者均开源免费,可快速用于本地实验与二次开发,建议按自身场景组合取舍。


海量精选技术文档和实战案例持续更新,敬请关注【风骏时光少年】