20|部署一个鲜花网络电商的人脉工具(上)
黄佳
你好,我是黄佳,欢迎来到 LangChain 实战课!
从今天开始,我要用 4 节课的篇幅,带着你设计两个有趣而又实用的应用程序。设计这两个应用程序的目的,是为了让你能够把 LangChain 中的各个组件灵活地组合起来,融会贯通,并以此作为启发,在你熟悉的业务场景中,利用 LangChain 和 LLM 的能力,开发出更多、更强大的效率工具。
第一个应用程序,是用 LangChain 创建出一个专属于“易速鲜花”的网络人脉工具。光这么说,有些模糊,这个人脉工具长啥样?有些啥具体功能?
动手之前,让我先给你把这个所谓“人脉”工具的能力和细节说清楚。
“人脉工具”项目说明
项目背景:易速鲜花电商网络自从创建以来,通过微信、抖音、小红书等自媒体宣传推广,短期内获得了广泛流量展示。目前,营销部门希望以此为契机,再接再厉,继续扩大品牌影响力。经过调研,发现很多用户会通过微博热搜推荐的新闻来购买鲜花赠送给明星、达人等,因此各部门一致认为应该联络相关微博大 V,共同推广,带动品牌成长。
然而,发掘并选择适合于“鲜花推广”的微博大 V 有一定难度。营销部门员工表示,这个任务比找微信、抖音和小红书达人要难得多。他们都希望技术部门能够给出一个“人脉搜索工具”来协助完成这一目标。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何利用LangChain技术部署鲜花网络电商的人脉工具。通过LangChain的搜索工具找到微博中对鲜花推广感兴趣的大V,并返回UID,然后通过爬虫工具获取大V的微博公开信息,最后利用LLM生成合作文案。文章还展示了主程序findbigV.py的代码,微博Agent和定制的SerpAPI的具体实现。通过实际代码和技术细节,介绍了如何利用LangChain技术实现鲜花网络电商的人脉工具。文章内容简洁明了,适合技术人员学习参考。文章还提出了思考题,鼓励读者深入研究和分享。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《LangChain 实战课》,新⼈⾸单¥59
《LangChain 实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- 马里奥的马里奥2个问题 1.虽然修改了获取link的方式,依然是会有错误,在我这里解析到的是 https://weibo.com/p/xxx后的这个xx数字; 2.我尝试修改提示词,只搜索粉丝超过一百万的账号,似乎也不生效。
作者回复: 嗯嗯,谢谢同学的反馈。我这个是一个启发性的示例。并非落地产品。 这就是典型的大模型开发过程中的结果不稳定的问题。
2023-12-31归属地:江苏1 - Liberalism在爬取微博用户资料时报 400 错误,请问是哪里出了问题???? def scrape_weibo(url: str): """爬取相关鲜花服务商的资料""" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/89.0.4389.82 Safari/537.36", "Referer": "https://weibo.com"} cookies = { "cookie": '''SINAGLOBAL=6620500101466.929.1684124696145; ULV=1701318517344:5:1:1:2994044278409.513.1701318517342:1695626334231; SUB=_2A25IbH_LDeRhGedJ71EX9C3Kwz6IHXVrAP0DrDV8PUNbmtAGLWP8kW9NVhncgwwKDAJC-BEIEyWCj9aAZiYRqGGn; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WF1hJoCEpSf.bqAJzfD-UMO5JpX5KzhUgL.Fo2NShecShec1hz2dJLoI7peIgiLMJ8jIPS_qgRt; ALF=1732854554; XSRF-TOKEN=Dr6hVUuVr5JfuRn3NHntHjk7; WBPSESS=qWBqMfNAAnlnO3TmyuUMG1qvHg86Rz2Zv7YHVRzN1MJAsJSyBhxx0_AUvWsjCUhaTWJpEmAC3UJ6u4OKi_zznpkRnRQ8ciUPXXDldaaw58i1fvBUm_1oDKnjo6sGr9qeK-zdbnLVltKplYXJysV88A==''' } response = requests.get(url, headers=headers, cookies=cookies) time.sleep(3) # 加上3s 的延时防止被反爬 return response.text
作者回复: 解决了么?
2023-12-02归属地:北京 - Liberalismdef scrape_weibo(url: str): """爬取相关鲜花服务商的资料""" headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Referer': 'http://www.baidu.com/', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)' } cookies = { "cookie": '''SINAGLOBAL=6620500101466.929.1684124696145; ULV=1701318517344:5:1:1:2994044278409.513.1701318517342:1695626334231; SUB=_2A25IbH_LDeRhGedJ71EX9C3Kwz6IHXVrAP0DrDV8PUNbmtAGLWP8kW9NVhncgwwKDAJC-BEIEyWCj9aAZiYRqGGn; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WF1hJoCEpSf.bqAJzfD-UMO5JpX5KzhUgL.Fo2NShecShec1hz2dJLoI7peIgiLMJ8jIPS_qgRt; ALF=1732854554; XSRF-TOKEN=Dr6hVUuVr5JfuRn3NHntHjk7; WBPSESS=qWBqMfNAAnlnO3TmyuUMG1qvHg86Rz2Zv7YHVRzN1MJAsJSyBhxx0_AUvWsjCUhaTWJpEmAC3UJ6u4OKi_zznpkRnRQ8ciUPXXDldaaw58i1fvBUm_1oDKnjo6sGr9qeK-zdbnLVltKplYXJysV88A==''' } response = requests.get(url, headers=headers, cookies=cookies) time.sleep(3) # 加上3s 的延时防止被反爬 return response.text 爬取数据这里一直报错 400
作者回复: 是么?同学这个问题后来解决了么?
2023-12-01归属地:北京 - fireshort黄老师,这里的Agent感觉没有发挥作用,没有太多智能,LLM就加了“微博”去搜索。 ID = agent.run(prompt_template.format_prompt(flower=flower_type)) 改成 ID = get_UID(flower_type+" 微博") 得到一样的结果。
作者回复: 主要展示的是模型主动去调用工具的功能。可以考虑如何加入更多自主判断的元素。
2023-11-30归属地:广东2 - starjgithub上没有代码?
作者回复: 代码已更
2023-10-31归属地:北京2 - 卓丁我遇到一个报错: raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 2 column 3 (char 3) 看着好像是 json.loads解析失败了。 进一步看报错栈,是报 400 的状态码。 于是我尝试将get_data方法所请求的url打印出来了一下。 ``` # 根据UID构建URL爬取信息 def get_data(id): url = "https://weibo.com/ajax/profile/detail?uid={}".format(id) print("url->",url) html = scrape_weibo(url) print(html) response = json.loads(html) return response ``` 结果如下: > Finished chain. 这位鲜花大V的微博ID是 100808 url-> https://weibo.com/ajax/profile/detail?uid=100808 <h2>400 Bad Request</h2> Traceback (most recent call last): File "/Users/bawenmao/PycharmProjects/socializer_v0/findbigV.py", line 23, in <module> person_info = get_data(UID) ^^^^^^^^^^^^^ File "/Users/bawenmao/PycharmProjects/socializer_v0/tools/scraping_tool.py", line 26, in get_data response = json.loads(html) ^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 是不是所请求的那个url 本身不对; 请教下老师,这是哪里的问题;2024-02-21归属地:北京1
收起评论