iOS 快速集成DeepSeek API,开启你的AI助手

548 阅读2分钟

简简单单 4步 搞定集成

在iOS开发中使用Objective-C接入DeepSeek API并完成一个Demo,可以按照以下步骤进行:

1. 获取API密钥

首先,确保你已经从DeepSeek获取了API密钥(API Key),这是访问API的凭证。

API Key链接地址:platform.deepseek.com/api_keys

官方接入文档:api-docs.deepseek.com/zh-cn/api/c…

2. 创建iOS项目

  1. 打开Xcode,创建一个新的iOS项目。
  2. 选择“App”模板,点击“Next”。
  3. 输入项目名称(如“DeepSeekDemo”),选择语言为Objective-C,点击“Next”并选择保存位置。

最简单的是,直接下载我的demo:github.com/OneTaoist/Y…

3. 添加网络请求

Objective-C中常用的网络请求库是NSURLSession,你也可以使用第三方库如AFNetworking来简化网络请求。

我这里直接使用NSURLSession,如下:

- (void)sendMessageToDeepSeek:(NSString *)userMessage completion:(void (^)(NSString *response, NSError *error))completion {

    // 设置请求的 URL
    NSURL *url = [NSURL URLWithString:API_BASE_URL];

    // 创建请求
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

    // 设置请求方法
    [request setHTTPMethod:@"POST"];

    // 设置请求头
    [request setValue:[NSString stringWithFormat:@"Bearer %@", API_KEY] forHTTPHeaderField:@"Authorization"];

    // 设置 Content-Type
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    

    // 设置请求体内容
    NSDictionary *parameters = @{
        @"model"    : @"deepseek-chat",      // 选择聊天模型,这里可以根据 DeepSeek 的文档指定模型名称(deepseek-chat, deepseek-reasoner)
        @"messages" : @[
            @{ @"role": @"system",  @"content": @"You are a helpful assistant." },
            @{ @"role": @"user",    @"content": userMessage } // 用户发送的消息
        ]

    };

    // 将参数转化为 JSON 数据并设置到请求体中
    NSError *error;

    NSData *bodyData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error];

    if(error) {

        NSLog(@"Error serializing JSON: %@", error.localizedDescription);

        if(completion) {
            completion(nil, error);
        }

        return;
    }

    [request setHTTPBody:bodyData];


    // 发起请求
    NSURLSession *session = [NSURLSession sharedSession];

    NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

        if(error) {
            NSLog(@"Error: %@", error.localizedDescription);

            if(completion) {
                completion(**nil**, error);
            }

            return;
        }

        

        // 处理返回的数据
        NSError *jsonError;
        NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];

        if(jsonError) {

            NSLog(@"Error parsing JSON: %@", jsonError.localizedDescription);

            // 将 NSData 转换为 NSString,指定编码类型(通常使用 UTF-8 编码)
            NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

            NSLog(@"Error parsing 字符串: %@", string);

            if(completion) {
                completion(nil, jsonError);
            }

            return;
        }

        

        // 打印返回的消息
        NSString *chatResponse = responseDict[@"choices"][0][@"message"][@"content"];
        NSLog(@"Received response: %@", chatResponse);

        //
        if(completion) {
            completion(chatResponse, nil);
        }

    }];

    // 启动任务
    [task resume];

}

4. 替换API_BASE_URL 和 API_KEY

把上面代码中宏定义进行替换:

API_BASE_URL 替换成字符串:api.deepseek.com/chat/comple…

API_KEY 替换成字符串:第一步中你获取到的API密钥(API Key)

如果你使用的我的demo,就只需要替换:

image.png

5. 大功告成

简简单单就完成了集成DeepSeek API,是不是so easy?

Demo下载地址:github.com/OneTaoist/Y… (欢迎star 👍)

Demo效果图展示:

IMG_0699.PNG