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

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链路。三者均开源免费,可快速用于本地实验与二次开发,建议按自身场景组合取舍。


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

相关推荐
鬼手点金9 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
蛋蛋的就会顺顺的10 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday10 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室10 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
码艺-Alimjan11 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床11 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a12 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台12 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
pride.li13 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉