browser-useの0.1.21が正常に動かなくて困っている方へ

# 現象
以下のようなコマンドでbrowser-useをインストール後に、
```
>py -m pip install browser-use==0.1.21
Collecting browser-use==0.1.21
  Using cached browser_use-0.1.21-py3-none-any.whl.metadata (5.1 kB)
...
```

そしてその後に例えば次のようなスクリプトを実行したときに、
```python:agent_test.py
...
import os
import sys
import asyncio
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from browser_use import Agent

load_dotenv()
api_key = os.getenv('OPENAI_API_KEY')

llm = ChatOpenAI(model='gpt-4o', openai_api_key=api_key)

agent = Agent(
    task='...',
    llm=llm,
)

async def main():
    await agent.run(max_steps=3)
    agent.create_history_gif()
asyncio.run(main())
...
```

以下のようなエラーとなる、そんな悩めるあなたへ。
```
AppData\Local\Programs\Python\Python313\Lib\site-packages\langchain_openai\chat_models\base.py:407: UserWarning: Th
is model does not support OpenAI's structured output feature, which is the default method for `with_structured_output` as of langchain-open
ai==0.3. To use `with_structured_output` with this model, specify `method="function_calling"`.
```
# 対処法
以下のようにして、langchain_openaiのバージョンを下げるとうまくいきました。

:::note warn
（2025/1/18 追記）
…と記事の新規投稿時点では書きましたが、最近のリリース **0.1.23にてこの問題は修正された** ようです。特にやむを得ない事情がない限りは0.1.23以降を代わりにインストールしましょう。

ご参考： https://github.com/browser-use/browser-use/releases
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3781638/770296f5-32dd-f80f-3a72-07f4a0fb56b8.png)
:::

## langchain_openaiのバージョンを確認

listコマンドを実行したときに、、、
```
> py -m pip list
...
langchain                    0.3.14
langchain-anthropic          0.3.1
langchain-aws                0.2.10
langchain-core               0.3.29
langchain-fireworks          0.2.6
langchain-google-genai       2.0.8
langchain-openai             0.3.0
langchain-text-splitters     0.3.5
langsmith                    0.2.10
...
```
上記のようにlangchain-openai Ver. **0.3.0**が入っている場合。

## langchain-openaiのバージョンを下げる
langchain-openaiのバージョンを以下のコマンドで**0.2.0**に下げます。
```
> py -m pip install langchain_openai==0.2.0
Collecting langchain_openai==0.2.0
  Downloading langchain_openai-0.2.0-py3-none-any.whl.metadata (2.6 kB)
...
Successfully installed langchain_openai-0.2.0
```

## 念のため再度バージョンを確認
langchain-openaiのバージョンが0.2.0に下がっているか確認します。
```
> py -m pip list
...
langchain                    0.3.14
langchain-anthropic          0.3.1
langchain-aws                0.2.10
langchain-core               0.3.29
langchain-fireworks          0.2.6
langchain-google-genai       2.0.8
langchain-openai             0.2.0
langchain-text-splitters     0.3.5
langsmith                    0.2.10
...
```
この状態で再度スクリプトが動くか試してみてください。

# もしこれで動いた場合
 ~~今後同様の問題で頭を悩ませないように、requirements.txtやsetup.pyなどにバージョンを明示しておくとよいかもです。~~ 

 ~~…と、Cursor先生からアドバイス頂きました↓。~~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3781638/01a83468-32e6-8f8b-d052-9fa82ec23698.png)
 ~~(笑)~~ 

(2025/1/18 追記)
…と書きましたが、そう単純ではなさそうですね↓。新たな問題を引き起こしそうです。失礼しました…。やはり素直に最新版を入れるのがベストですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3781638/31eaa9ac-2044-6e11-4659-f58612817c5d.png)

# 参考文献
[LangChain v0.3 Documentation](https://python.langchain.com/docs/versions/v0_3/)

上記のドキュメントのこんな↓表の真ん中付近に、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3781638/c6694c0a-fbbb-17e6-4135-a0d8f1c7e9f8.png)

↓のように推奨バージョンが書いてありました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3781638/9649f72f-572d-7333-736e-f19b4620de6b.png)