随着时间的流逝,大家也差不多都把AI项目学完了,这里楼主总结了一下自己遇到过的问题,与大家进行分享,也欢迎大家来补充!
06 Huggingfaces
首先是,调用模型中Huggingfaces的问题,很多人哪怕完成Hug的注册,依然不能调用,这里的原因是因为豆包对网络访问使用了限制,把国外的hf给ban了,哪怕先下下来,后面对hf中多个模型调用,所给的10G硬盘也不够用,所有楼主这边建议熟悉下申请hf流程就可以了,当然也有解决办法,就是进行自己的本地部署就可以使用了,不过这里楼主道行就不展开说明了
10/04-05
这里大家运行的时候,会出现类似的以下报错:
File "/home/cloudide/.local/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 904, in get_num_tokens_from_messages raise NotImplementedError( NotImplementedError:
get_num_tokens_from_messages() is not presently implemented for model cl100k_base. See https://platform.openai.com/docs/guides/text-generation/managing-tokens for information on how messages are converted to tokens.
这里的报错是显示豆包库函数中get_num_tokens_from_messages这个函数的报错,这里楼主去浏览了下各个大佬的解决办法,这里我使用的是如下解决办法:
只需在如下代码前面增加类补充即可
'''原本代码
llm = ChatOpenAI( temperature=0.5, model=os.environ.get("LLM_MODELEND"), )
'''修改后
```python
class ChildChatOpenAI(ChatOpenAI):
def get_num_tokens_from_messages(self, messages: List[BaseMessage]) -> int:
model, encoding = self._get_encoding_model()
# 注意:这里只是解决了计算的问题,具体计算方案具体准确取决于具体模型
if model.startswith("cl100k_base"):
# 调用祖父类的函数
return super(BaseChatOpenAI, self).get_num_tokens_from_messages(messages)
else:
return super().get_num_tokens_from_messages(messages)
llm = ChildChatOpenAI(
temperature=0.5,
model=os.environ.get("LLM_MODELEND"),
)
04和05解决方法一样
11 Serpapi
首先,打开魔法,进入官网(serpapi.com/users/welco… ,注册的时候楼主是挺流畅的,但是听大家说在手机验证码处会有问题;这里楼主当时注册时是在开着魔法的时候进行手机验证码接收,1-2分钟就接收到了,大家可以试试,楼主用的是电信,不知道有没有区别。
13
首先是01的报错,这里解决方法很简单,只需将Plan&xecute.py文件名更改为PlanExecute.py即可,没错就是重命名。
而03的报错中会显示:
playwright._impl._errors.Error: BrowserType.launch:
╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Please install them with the following command: ║
║ ║
║ sudo playwright install-deps ║
║ ║
║ Alternatively, use apt: ║
║ sudo apt-get install libdrm2\ ║
║ libgbm1 ║
║ ║
║ <3 Playwright Team ║
╚══════════════════════════════════════════════════════╝
很明显只需执行图中提示的sudo playwright install-deps即可,但是!它会显示该命令不存在,然后我们只需将sudo playwright install-deps改为playwright install-deps即可,这是为什么呢?
原因就是sudo是以root权限执行,我们并未被给予这个权限级别,而当我们使用playwright install-deps即可安装,是因为这条会在当前用户的环境下执行,能够正确访问用户的配置和环境变量。通常只需要用户级别的权限即可,因为它主要是安装一些与浏览器相关的依赖。
好了,接下来就可以直接运行啦!