智能简历平台Plus——api接口

为了完成前期准备中的任务三:实现简历模板生成(具体参考项目概述:山东大学项目实训:智能简历平台Plus——项目概述-CSDN博客),参考了很多的项目和教程,一开始打算做一个openai的api接口来实现对简历内容的润色,但由于openai账号的原因无法使用,所以最后选择国内的百度智能云千帆大模型获得api接口。

千帆大模型平台提供了丰富的API能力,选择适合的api接口也是一个问题,倾向于选择对话类模型来更好地实现文本的润色。

(百度智能云千帆大模型里面的一小部分模型) 

 考虑到我们使用的功能仅限于对简历文本的润色以及价格原因(大学生懂得都懂),所以以轻量化、性能和速度较好的ERNIE-Tiny-8K模型作为最终选择。

之后问题就集中于api接口到底怎么调用

我在获得Access_Token的时候偶然发现了百度智能云控制台里面一个巨好用的调试平台(不是广子),选择你需要的模型,自动填写你的client_id、client_secret等信息,然后可以手动调节参数来进行模型的微调,还可以选择各种编程语言,可以生成示例代码!!!我就是根据示例代码知道api接口咋调用的。

 然后就真正进入代码实现

由于后期要与其他同学的进度同步,所以我将输入和输出进行封装,也方便后期格式的转换。

def get_user_input():
    try:
        # 使用input()函数获取用户输入
        user_input = input("扩写:")
        return user_input
    except Exception as e:
        print("获取用户输入时出错:", e)
        return None
def get_response(user_input, url, headers):
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": user_input
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    # 将响应文本解析为 JSON 格式
    response_json = json.loads(response.text)

    # 获取 "result" 字段的内容
    if "result" in response_json:
        return response_json["result"]

        # result_text = response_json["result"]
        # 提取引号内的内容并分行输出
        # quoted_texts = extract_quoted_text(result_text)
        # for text in quoted_texts:
        #   print(text)
    else:
        print("您的输入不符合要求")
        return []

模型调用后的输出一般会给出一些建议或者一些我们用不到的话,我本来是想使用正则表达式匹配所有引号内的内容,然后进行输出,但是无法预料到模型的输出格式,所以增加了输入条件来实现输出格式的要求。

在常用的app或者网页中如果生成的内容不合使用者的心意,可以选择“换一个”按钮进行重新生成,考虑到这一点,我在生成结束后添加一个对答案是否满意的选择,如果选择y则可以退出,n则重新生成一个扩写,知道生成满意的答案。

continue_generating = True
    while continue_generating:
        #user_input = "扩写直接使用在简历中的话,直接给出内容不用给出建议:"+get_user_input()
        #print(user_input)

        print(get_response(user_input, url, headers))

        # 询问用户是否继续
        continue_input = input("答案是否满意?(y/n): ")
        if continue_input.lower() == 'y':
            continue_generating = False
        elif continue_input.lower() == 'n':
            continue_generating = True
        else:
            print("无效的输入,请输入 'y' 或 'n'。")
            continue_generating = True

 总体来说,结果还是可以的。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值