Skip to content

Instantly share code, notes, and snippets.

@pybanaszak
Last active February 7, 2025 06:39
Show Gist options
  • Save pybanaszak/eb2346a3d9beb91a1c41fbae3c991457 to your computer and use it in GitHub Desktop.
Save pybanaszak/eb2346a3d9beb91a1c41fbae3c991457 to your computer and use it in GitHub Desktop.
from langchain_openai import ChatOpenAI
from browser_use import Agent
from dotenv import load_dotenv
load_dotenv()
import os
import asyncio
from browser_use.browser.context import BrowserContextConfig, BrowserContext
from browser_use import Browser, SystemPrompt
"""
Add custom prompt system rules
"""
class MySystemPrompt(SystemPrompt):
def important_rules(self) -> str:
# Get existing rules from parent class
existing_rules = super().important_rules()
# Add your custom rules
new_rules = """
9. Langue de la réponse :
- La réponse doit être rédigée en français !
"""
# Make sure to use this pattern otherwise the exiting rules will be lost
return f'{existing_rules}\n{new_rules}'
async def main():
config = BrowserContextConfig(
wait_for_network_idle_page_load_time=30,
maximum_wait_page_load_time=60,
browser_window_size={'width': 1080, 'height': 1880},
locale='fr-FR',
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
highlight_elements=True,
viewport_expansion=500,
)
browser = Browser()
browser_context = BrowserContext(browser=browser, config=config)
sensitive_data = {'login': os.getenv('LEFOURGON_LOGIN'), 'password': os.getenv('LEFOURGON_PASSWORD')}
task = """Allez sur lefourgon.com, validez les cookies et connectez-vous avec le login et le password et ajoutez ces produits au panier :
En grand format (75cl):
- 6 bières La Bonne IPA à 4.50 €
- 6 soupes de légumes verts à 4.75 €
En petit format (33cl ou 20cl):
- 10 Kombucha NOKO Houblon en 33cl à 1.95 €
- 10 bouteilles de lait au chocolat Inex en 20 cl à 7,40 €
Une fois les produits ajoutés au panier, validez le panier et retournez le prix total du panier et un tableau récapitulatif des produits qui composent le panier et leur quantité.
"""
llm = ChatOpenAI(
model="gpt-4o",
temperature=0.0,
)
agent = Agent(
task=task,
llm=llm,
system_prompt_class=MySystemPrompt,
sensitive_data=sensitive_data,
browser_context=browser_context,
)
result = await agent.run()
print(result)
asyncio.run(main())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment