From cb3f191d18afa1e545b742f262f9042d0e436d41 Mon Sep 17 00:00:00 2001 From: smith peng Date: Wed, 21 Aug 2024 18:54:54 +0800 Subject: [PATCH] test:add model instance example --- examples/model_instance/.env.example | 1 + ...rt_scraper_with_moonlight_model_instace.py | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 examples/model_instance/.env.example create mode 100644 examples/model_instance/smart_scraper_with_moonlight_model_instace.py diff --git a/examples/model_instance/.env.example b/examples/model_instance/.env.example new file mode 100644 index 00000000..c5a7ed85 --- /dev/null +++ b/examples/model_instance/.env.example @@ -0,0 +1 @@ +MOONLIGHT_API_KEY="YOUR MOONLIGHT API KEY" \ No newline at end of file diff --git a/examples/model_instance/smart_scraper_with_moonlight_model_instace.py b/examples/model_instance/smart_scraper_with_moonlight_model_instace.py new file mode 100644 index 00000000..b362414f --- /dev/null +++ b/examples/model_instance/smart_scraper_with_moonlight_model_instace.py @@ -0,0 +1,53 @@ +""" +Basic example of scraping pipeline using SmartScraper and model_instace +""" + +import os, json +from scrapegraphai.graphs import SmartScraperGraph +from scrapegraphai.utils import prettify_exec_info +from langchain_community.chat_models.moonshot import MoonshotChat +from dotenv import load_dotenv +load_dotenv() + +# ************************************************ +# Define the configuration for the graph +# ************************************************ + + +llm_instance_config = { + "model": "moonshot-v1-8k", + "base_url": "https://api.moonshot.cn/v1", + "moonshot_api_key": os.getenv("MOONLIGHT_API_KEY"), +} + + +llm_model_instance = MoonshotChat(**llm_instance_config) + +graph_config = { + "llm": { + "model_instance": llm_model_instance, + "model_tokens": 10000 + }, + "verbose": True, + "headless": True, +} + +# ************************************************ +# Create the SmartScraperGraph instance and run it +# ************************************************ + +smart_scraper_graph = SmartScraperGraph( + prompt="List me what does the company do, the name and a contact email.", + source="https://scrapegraphai.com/", + config=graph_config +) + +result = smart_scraper_graph.run() +print(json.dumps(result, indent=4)) + +# ************************************************ +# Get graph execution info +# ************************************************ + +graph_exec_info = smart_scraper_graph.get_execution_info() +print(prettify_exec_info(graph_exec_info))