mirror of
https://github.com/VinciGit00/Scrapegraph-ai.git
synced 2026-07-09 21:19:20 +08:00
59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
"""
|
|
Example of Search Graph
|
|
"""
|
|
from scrapegraphai.graphs import SearchGraph
|
|
from scrapegraphai.utils import convert_to_csv, convert_to_json, prettify_exec_info
|
|
|
|
from pydantic import BaseModel, Field
|
|
from typing import List
|
|
|
|
# ************************************************
|
|
# Define the output schema for the graph
|
|
# ************************************************
|
|
|
|
class Dish(BaseModel):
|
|
name: str = Field(description="The name of the dish")
|
|
description: str = Field(description="The description of the dish")
|
|
|
|
class Dishes(BaseModel):
|
|
dishes: List[Dish]
|
|
|
|
# ************************************************
|
|
# Define the configuration for the graph
|
|
# ************************************************
|
|
|
|
graph_config = {
|
|
"llm": {
|
|
"model": "ollama/mistral",
|
|
"temperature": 0,
|
|
"format": "json", # Ollama needs the format to be specified explicitly
|
|
# "base_url": "http://localhost:11434", # set ollama URL arbitrarily
|
|
},
|
|
"verbose": True,
|
|
"headless": False
|
|
}
|
|
|
|
# ************************************************
|
|
# Create the SearchGraph instance and run it
|
|
# ************************************************
|
|
|
|
search_graph = SearchGraph(
|
|
prompt="List me Chioggia's famous dishes",
|
|
config=graph_config,
|
|
schema=Dishes
|
|
)
|
|
|
|
result = search_graph.run()
|
|
print(result)
|
|
|
|
# ************************************************
|
|
# Get graph execution info
|
|
# ************************************************
|
|
|
|
graph_exec_info = search_graph.get_execution_info()
|
|
print(prettify_exec_info(graph_exec_info))
|
|
|
|
# Save to json and csv
|
|
convert_to_csv(result, "result")
|
|
convert_to_json(result, "result")
|