1 写在前面

        本篇文章做学习记录使用,文中若有不妥之处,欢迎批评和指正。

2 API接口说明

2.1 什么是api接口

        api功能开发商提供一个调用地址,每次访问(调用),返回给开发者想要的信息。对于一些复杂的功能,直接采用接口调用方式访问

2.2 api常见用途

        在大部分的开发上,api接口调用的运用是非常广泛的,只不过有些是付费调用,有些是免费调用。

       api接口调用技术已经很完善了,支持大部分语言。像阿里云、腾讯云、华为云提供的很多云上功能,都支持接口调用。比如像:短信验证、图像识别接口、AI大模型接口调用等。

2.3 api接口常见返回格式

        对于api接口的返回,常见格式就是json格式。每次调用后,会返回一串json数据过来。但是这串json数据,只需要其中的关键信息,这个时候就涉及到了json数据格式的解析。

3 API接口调用测试工具

        用apipost,能自动生成各种代码。也可以在线使用

4 案例 

4.1 案例1:调用AI大模型,与AI对话

     这里案例采用deepseek的模型调用。下面是具体的步骤。

4.1.1 步骤一

        先到deepseek的开发者平台充钱,它的调用非常便宜

4.1.2 步骤二

        进行充值后,然后获取自己的apikey,这个是调用里面的一个重要参数,是访问该api接口的鉴权。注意,这个apikey在第一次创建的时候能完整显示,后面就无法完整显示了。所以请务必复制保存。

4.1.3 步骤三

  • 查看他的开发者文档,当然你也可以看本教程来实现。
  • deepseek提供两种模型的调用,一个是R1模型(具备深度思考的模型),另一个是V3模型。本文采用的是R1模型。下图是两种模型的调用价格。

  • 官方给出了两种调用方式,一个是通过openai调用,另一个是通过网络请求的方式,在python语言中可以通过requests库进行实现。本文采用openai方式实现,配合自己的需求实现了获取建议功能,采用python语言,下面是代码示例。
from openai import OpenAI
def run_api(api_key, sensor_data):
    try:
        client = OpenAI(api_key=api_key, base_url="https://api.deepseek.com")
        # 执行 API 请求
        response = client.chat.completions.create(
            model="deepseek-chat",  # 你也可以替换成deepseek-reasoner模型(不含有深度思考的模型)
            messages=[
                {"role": "system", "content": "你是楼道消防智能管家,具备丰富的消防知识!"},  #赋予系统角色,定义系统的行为
                {"role": "user",
                 "content": f"我制作了基于物联网的楼道消防系统,通过相关的传感器获取了温湿度、烟雾浓度、一氧化碳浓度、火焰强度。"
                            f"其中温度的值为{sensor_data['temp']}°C, 湿度的值为{sensor_data['humi']}%RH, 烟雾浓度的值为{sensor_data['smoke']}ppm, "
                            f"一氧化碳浓度为{sensor_data['CO']}ppm, 火焰强度浓度为{sensor_data['fire']}%。请根据这些数据, 提供楼道消防的建议!"},
            ],#  # 赋予用户角色,并发起相关的对话
            max_tokens=4096,#  设置最大返回的token数
            temperature=1.6,#  这个值越大,结果越随机1-2间选择
            stream=False    #  是否开启流式返回,流式返回就是返回的结果是分段的,适合长文本的返回,会一下一下的通过json返回
        )
        # 返回结果
        return response.choices[0].message.content
    except Exception as e:
        # 捕获异常并返回错误信息
        return f"请求失败: {str(e)}"
# 示例调用
if __name__ == "__main__":
    # 你的 API 密钥
    api_key = "***********************"#  替换为你的API密钥
    # 示例传感器数据
    sensor_data = {
        'temp': 30,
        'humi': 50,
        'smoke': 20,
        'CO': 15,
        'fire': 5
    }
    # 调用函数并打印结果
    result = run_api(api_key, sensor_data)
    print(result)
  • 结果会以文本返回,注意不是json返回,如果需要json格式返回,可以尝试流式输出或者是网络请求的写法。返回结果展示如下。

4.2 案例2:调用天气接口,获得今日天气

4.2.1 步骤一

        选取天气平台的API提供商,这里随便在网上找了个网站,仅当学习使用。该接口也有详细的使用方法。https://api.aa1.cn/doc/tqyb.html

4.2.2 步骤二

        开始调用,这里的调用我们采用apipost工具。该工具可以在线调用并且生成各种代码。

5 API调用集成案例示范

        将api接口调用天气的值集成到开发的app中。下面是相关的一个展示。采用的api服务商是和风天气,该api服务商可以免费的调用

      

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐