AI agent学习之一基础知识

AI agent学习之一基础知识

AI agent的使用已经成为一个趋势,尽早入行才是王道。面对海量资料,如何入门确实是一个选择性难点。最近刷到网上的一份资料awesome-agentic-ai-zh,包含了两种成长路径,用agent和造agent。比较符合个人需求,以下将对文档学习内容进行梳理总结,一方面加强个人理解。另一方面也是希望能够帮助后来者。

一、基础知识

在入门 AI Agent 之前,需要掌握或回顾以下几个核心知识点:

  1. Python 基础:包括基本的 Python 语法、发起 HTTP 请求、解析 JSON 数据、以及 YAML 配置文件的读取与写入。
  2. 命令行操作:熟悉常用命令,能够在终端中执行基本操作。
  3. Git 基础:了解 Git 的基本使用,如克隆、提交、推送等。
  4. API 认证:理解并实践如何使用 Token 等凭证进行 API 身份验证。

温馨提示 :如果你没有 Python 基础,可以在 B 站或菜鸟教程等平台找一个入门教程学习。请注意,Python 版本需要大于 3.9,否则后续安装某些依赖库时可能会遇到兼容性问题。

案例1:获取 GitHub 用户粉丝数

本案例演示如何使用 Python 的 requests 库访问 GitHub API,获取指定用户的粉丝数量。

目标 :访问 https://api.github.com/users/torvalds,解析返回的 JSON 数据,并打印其中的 followers 字段值。

代码实现

python 复制代码
import requests

# 发送 GET 请求到 GitHub API
r = requests.get("https://api.github.com/users/torvalds")

# 检查请求是否成功
if r is not None and r.status_code == 200:
    # 解析 JSON 响应
    resp = r.json()
    # 安全获取 followers 字段,若不存在则默认为 0
    count = 0 if 'followers' not in resp else resp['followers']
    # 打印结果
    print('followers : {}'.format(count))

运行结果

复制代码
followers : 315597

要点说明

  • 使用 requests.get() 发起 HTTP GET 请求。
  • 通过 r.status_code 判断请求是否成功(状态码 200 表示成功)。
  • 使用 r.json() 将响应内容解析为 Python 字典。
  • 在访问字典键值时,建议先判断键是否存在,以避免 KeyError 异常。

案例2:YAML文件的读写

新建一个config.yaml文件,内容为:

对配置文件进行加载、打印,并修改port写回配置文件。

python 复制代码
import yaml

with open('config.yaml', 'r', encoding='utf-8') as f:
    config = yaml.safe_load(f)
    print(config)

with open('config.yaml', 'w', encoding='utf-8') as f1:
    config['db']['port'] = 33068
    yaml.safe_dump(config, f1, allow_unicode=True)

案例3:Git操作(git clone、commit和push)

首先需要安装git,如未安装,请在菜鸟教程或者B站上搜索相关教程。

1)git clone
复制代码
git clone -b dev https://gitee.com/xxx/my-repo.git

-b dev:代表dev分支,后缀.git就是项目地址。

2)先将修改文件暂存
powershell 复制代码
git add .

如果指定文件则需要将.改成指定文件名(git add a.txt)。

3)提交

将暂存区内容提交,-m后跟着的是备注。

powershell 复制代码
git commit -m "Stage0测试提交"

注:这里的提交只是到自己本地仓库,如果需要到远程仓库,还需要git push

4)推送

git push远程推送,如果远程的分支还不存在,需要执行git push -u origin dev

powershell 复制代码
git push
5)转换分支(checkout)
  • git checkout -b test:创建并转换到test分支,分支必须不存在。
  • git checkout dev:转换到dev分支。

案例4:文件操作

创建文件,简单介绍创建文件/文件夹、写入及删除。

Linux端:
powershell 复制代码
# 创建新文件夹
mkdir new_dir

# 创建文件
touch a.txt

# 写入
echo "hello" >> a.txt

# 删除文件/文件夹
rm a.txt
rm -rf new_dir
Windows端:
powershell 复制代码
# 创建文件夹
New-Item -ItemType Directory new_path

# 创建文件
New-Item -ItemType File -Path new_path/a.txt

# 写入
"新内容" >> .\new_path\a.txt

# 删除(文件/文件夹)
rm .\new_path\a.txt
Remove-Item .\new_path\ -Recurse # 空文件夹不需要递归参数

案例5:API auth验证带token和不带token区别

在GitHub上生成一个token:

注:生成的token只能看见一次,请保存下来使用。

python 复制代码
import requests

url = "https://api.github.com/user"
resps = requests.get(url)

token = "ghp_xxxx"
headers = {
    "Authorization": "Bearer {}".format(token)
}
resps2 = requests.get(url, headers=headers)

print(resps)
print(resps2)

Bearer是OAuth2规范,国际通用标准。带token和不带token返回码不一样。

练完上述五个题目,基本上第一关就算过了。上述案例值得一练,全部通关估计1-3个小时。有基础者可略过。

下一节:LLM基础API调用

参考文献

1: https://wenyuchiou.github.io/awesome-agentic-ai-zh/zh-Hans/stages/01-llm-basics/#frontier3

2: https://wenyuchiou.github.io/awesome-agentic-ai-zh/zh-Hans/stages/00-foundations/

相关推荐
Mid_search1 小时前
随机排列与Fisher-Yates算法
人工智能·深度学习·强化学习·随机排列·fisher-yates
DeepVisionary5 小时前
谷歌 Gemini Omni 1.1 Flash 正式发布:4K 视频、40 秒场景延伸,视频生成进入按 token 计费时代
python·自动化
ZGIAI5 小时前
ZGI Workflow:条件分支走错时先查哪一层
人工智能·架构
X54先生(人文科技)6 小时前
《元创力》纪实录 · 桥段 《窑变纪元:一份来自星历2227年的深空考古笔记》
人工智能·开源·ai写作·零知识证明
ZGIAI6 小时前
ZGI 文件产物:生成报告后怎样交付
人工智能·架构
东方-教育技术博主6 小时前
自动编码在教育场景中的重要性:一项基于多源证据的深度综述
大数据·人工智能
骥龙6 小时前
模块二:Ollama本地模型部署与OpenCode代理配置
人工智能
阡之尘埃6 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
Regentsoft丽晶软件6 小时前
品牌方新品上市促销政策无法实时同步经销商,有没有支持总部-经销商-终端一站式的分销解决方案?
人工智能·经验分享·数据库架构
liuqs3326 小时前
机器人产业加速发展,制造业正在迎来新的自动化探索
大数据·人工智能