鱼C论坛

 找回密码
 立即注册
查看: 92|回复: 1

[Python] 怎么从百度ernie的输出中去掉无用部分?

[复制链接]
发表于 2024-5-23 08:40:56 | 显示全部楼层 |阅读模式
5鱼币
import requests
import json
def main():

    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=24.3ecd9035-7344"
   
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": f"{question}"
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }
   
    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)
   


if __name__ == '__main__':

    question = """
讲一个故事

"""
main()


{"id":"as-u60c90zxx3","object":"chat.completion","created":1716422355,"result":"在远离城市的深山之中,住着一个叫李昊的年轻人。他每日的生活都在与大自然相伴,倾听鸟儿的歌唱,感受微风的轻抚,观察山间的奇妙景象。然而,李昊心中却有一个梦想,那就是走出大山,去看看外
面的世界。\n\n有一天,李昊在山中拾到一张泛黄的地图,地图上标记着一条通往城市的路。他心中充满了激动,决定沿着这条路去追寻他的梦想。他告别了家乡,背起了行囊,踏上了漫长的旅途。\n\n旅途充满了艰辛,有时他会迷失在茂密的丛林中,有时他会遇到凶猛的野兽。然而,李昊并没
有放弃,他坚信只要坚持下去,总有一天他会走出大山,实现他的梦想。\n\n经过无数次的跌倒和爬起,李昊终于来到了城市。他被眼前的景象深深震撼,高楼大厦、车水马龙、熙熙攘攘的人群,一切都与他过去的生活截然不同。他感到既新奇又迷茫,不知道该如何在这个陌生的环境中生存。\n\n然而,李昊并没有停下他的脚步。他开始在城市中寻找工作,希望用自己的双手养活自己。他做过清洁工,搬过砖,也在工地上做过苦力。虽然生活艰辛,但他从未放弃过。他用自己的汗水和努力,逐渐赢得了人们的尊重和认可。\n\n几年后,李昊在城市的角落里开了一家小餐馆。他用自己的积蓄买下了这个店铺,并且亲自设计了装修风格。他的餐馆虽然不大,但是每一道菜品都是他的心血结晶,都体现了他对美食的热爱和对生活的追求。\n\n随着时间的推移,李昊的餐馆逐渐在城市中崭露头角,他的菜品也赢得了越来越多人的喜爱。他用自己的努力和汗水,实现了从深山到城市的华
丽转身,也实现了自己的梦想。\n\n李昊的故事告诉我们,无论身处何种环境,只要我们有梦想,有毅力,有勇气,就一定能够战胜困难,实现我们的梦想。","is_truncated":false,"need_clear_history":false,"usage":{"prompt_tokens":5,"completion_tokens":381,"total_tokens":386}}


怎么让结果里去掉这些统计部分,单纯就只输出结果呢?

另外,它兼容 openAI 的这种语法吗?

最佳答案

查看完整内容

要单纯输出结果并去除统计部分,鱼油要修改你的 Python 脚本,只打印 response 中包含故事的部分。 这通常需要对 response.text 返回的 JSON 数据进行解析和处理。 修改后的代码示例,展示如何仅提取并打印故事部分: 兼容性问题 关于兼容 OpenAI 语法的问题,通常每个 API 都有自己特定的请求格式和响应处理方式。 如果指的是语法格式,如 JSON 结构、请求方式等,大部分 REST API 都是相似的。 但如果涉及 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-23 08:40:57 | 显示全部楼层
要单纯输出结果并去除统计部分,鱼油要修改你的 Python 脚本,只打印 response 中包含故事的部分。

这通常需要对 response.text 返回的 JSON 数据进行解析和处理。

修改后的代码示例,展示如何仅提取并打印故事部分:
import requests
import json

def main():
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=24.3ecd9035-7344"
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": f"{question}"
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)
    data = json.loads(response.text)
    # 假设返回的故事内容位于data字典的键'result'下
    story = data['result'] if 'result' in data else "No story found"
    print(story)

if __name__ == '__main__':
    question = "讲一个故事"
    main()

兼容性问题

关于兼容 OpenAI 语法的问题,通常每个 API 都有自己特定的请求格式和响应处理方式。

如果指的是语法格式,如 JSON 结构、请求方式等,大部分 REST API 都是相似的。

但如果涉及到具体的参数命名、功能支持等,则每个 API 和服务可能有所不同。

在使用任何非 OpenAI 的 API 时,最好是查阅该 API 的官方文档来确保正确使用和处理响应。

针对上述提到的 Baidu API,你需要查阅其文档来理解其特定的请求结构和参数要求。

这里的处理方式是假设故事文本位于 JSON 响应中的 result 键下。

请根据实际 API 响应结构调整键名。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-16 21:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表