AI Agent工业级项目目录
第1章:AI智能体开发之大模型调用
python环境安装anaconda
1. ANACONDA 相关资源
- Python 官网:https://www.python.org/
- conda 仓库:https://github.com/conda/conda
- Anaconda 官网:https://www.anaconda.com/
- conda、miniconda、anaconda 的区别:https://juejin.cn/post/72628035978987557
2. UV 相关资源
- Python 包管理工具 uv:https://github.com/astral-sh/uv
- uv 安装文档:https://docs.astral.sh/uv/getting-started/installation/
3. 基础教程
- Python 菜鸟教程:https://www.runoob.com/python/python-install.html
window电脑安装uv
# 1.安装uv powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # 2.检查是否安装成功 uv --versionuv的使用
# 1.使用uv创建项目 uv init ai-agent-test 目录结构如下 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2025/12/20 8:45 109 .gitignore -a---- 2025/12/20 8:45 5 .python-version -a---- 2025/12/20 8:45 91 main.py -a---- 2025/12/20 8:45 159 pyproject.toml -a---- 2025/12/20 8:45 0 README.md # 2.测试uv,使用uv创建yaml管理 uv add pyyaml 目录结构如下 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2025/12/20 8:46 .venv -a---- 2025/12/20 8:45 109 .gitignore -a---- 2025/12/20 8:45 5 .python-version -a---- 2025/12/20 8:45 91 main.py -a---- 2025/12/20 8:46 181 pyproject.toml -a---- 2025/12/20 8:45 0 README.md -a---- 2025/12/20 8:46 18786 uv.lock我们通过观察发现,其多出来了一个.venv文件,也就是一个虚拟环境。
然后我们要uv中配置镜像加速器:
- 方法1,在pyproject.toml中添加
[tool.uv] index = [ { url = "https://mirrors.aliyun.com/pypi/simple/", default = true } ]- 方法2,在uv.toml中添加
[index] url = "https://mirrors.aliyun.com/pypi/simple/" default = true智能体开发流程
智能体开发流程和Ollama本地大模型部署
本地大模型调用方法
本地大模型我们需要安装ollama
- 其是一个开源的本地化大语言模型(LLM)运行和管理的工具;
- 可以简化大语言模型的部署和使用;
- 在本地运行模型,无需依赖云端服务,保证数据隐私性。
ollama官方网站:https://ollama.com/
ollama国内网站(阿里):https://registry.ollama.ai/
我们选择的下载的是deepseek-r1:1.5b这个版本
ollama run deepseek-r1:1.5b然后我们要安装langchain-ollama库,才可以使用本地大模型调用
uv add langchain-ollamafrom langchain_ollama.chat_models import ChatOllama if __name__ == "__main__": llm = ChatOllama(model="deepseek-r1:1.5b") resp = llm.invoke("你是谁?") print(resp.content)云端大模型调用
阿里云百炼:https://bailian.console.aliyun.com/
首先我们需要安装openai的依赖
uv add openai测试案例:
import os from openai import OpenAI client = OpenAI( api_key=os.getenv("DASHSCOPE_API_KEY"), # 以下是北京地域base_url,如果使用新加坡地域的模型,需要将base_url替换为:https://dashscope-intl.aliyuncs.com/compatible-mode/v1 base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", ) completion = client.chat.completions.create( model="qwen-plus", messages=[{'role': 'user', 'content': '你是谁?'}] ) print(completion.choices[0].message.content)大模型流式响应
from langchain_ollama.chat_models import ChatOllama if __name__ == "__main__": llm = ChatOllama( model="deepseek-r1:1.5b", stream=True, ) resp = llm.stream("给我介绍一下python学习的路线") for chunk in resp: print(chunk.content, end="")LangChain框架
官网地址:https://www.langchain.com/
项目架构
- 核心层:langchain-core 包含主要的抽象概念、接口和核心功能,这部分代码非常稳定
- 应用层:langchain 包提供通用代码库,适用于不同接口实现
- 社区层:langchain-community 包含大量由社区维护的轻量级集成
- 合作伙伴层:与 Hugging Face、Azure、Ollama、阿里云等企业合作推出专用集成包
LangChain 的核心功能模块包括:
- 模型(Models):提供统一接口调用各种 LLM,如 OpenAI 的 GPT 系列、Anthropic 的 Claude 系列、Google 的 Gemini 系列,以及 Hugging Face 的开源模型。
- 提示(Prompts):优化模型输入,提升生成结果的质量,包括 PromptTemplate、ChatPromptTemplate 和 FewShotPromptTemplate 等。
- 链(Chains):封装多个组件的调用序列,创建复杂的工作流程,如 SimpleSequentialChain 等。
- 代理(Agents):允许模型自主调用外部工具和组件,实现多步骤任务处理,如 AutoGPT 等。
- 记忆(Memory):存储和检索对话数据,支持上下文感知的应用,如多轮对话系统。
- 索引(Indexes):组织和检索文档数据,支持 RAG(检索增强生成)等应用场景。