Skip to content

Commit a16b431

Browse files
author
SRM
committed
Add open-ai callback to log number of tokens. Fix issue in network & geometry by passing all features.
1 parent 90c51f6 commit a16b431

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

app.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
from langchain.agents import AgentType
99
from langchain.chat_models import ChatOpenAI
1010
from langchain.tools import Tool, DuckDuckGoSearchRun
11-
from langchain.callbacks import StreamlitCallbackHandler
11+
from langchain.callbacks import (
12+
StreamlitCallbackHandler,
13+
get_openai_callback,
14+
)
1215

1316
from tools.mercantile_tool import MercantileTool
1417
from tools.geopy.geocode import GeopyGeocodeTool
@@ -23,7 +26,7 @@ def get_llm():
2326
llm = ChatOpenAI(
2427
temperature=0,
2528
openai_api_key=os.environ["OPENAI_API_KEY"],
26-
model_name="gpt-3.5-turbo",
29+
model_name="gpt-3.5-turbo-0613",
2730
)
2831
return llm
2932

@@ -92,7 +95,7 @@ def plot_vector(df):
9295
st.subheader("Add the geometry to the Map")
9396
center = df.centroid.iloc[0]
9497
m = folium.Map(location=[center.y, center.x], zoom_start=12)
95-
folium.GeoJson(gdf).add_to(m)
98+
folium.GeoJson(df).add_to(m)
9699
folium_static(m)
97100

98101

@@ -106,7 +109,14 @@ def plot_vector(df):
106109
if st.button("Submit", key="submit", type="primary"):
107110
llm = get_llm()
108111
agent = get_agent(llm)
109-
response = run_query(agent, query)
112+
113+
with get_openai_callback() as cb:
114+
response = run_query(agent, query)
115+
print(f"Model name: {response.llm_output.get('model_name', '')}")
116+
print(f"Total Tokens: {cb.total_tokens}")
117+
print(f"Prompt Tokens: {cb.prompt_tokens}")
118+
print(f"Completion Tokens: {cb.completion_tokens}")
119+
print(f"Total Cost (USD): ${cb.total_cost}")
110120

111121
if type(response) == str:
112122
st.write(response)

tools/osmnx/geometry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class OSMnxGeometryTool(BaseTool):
2525
def _run(self, place: str, tags: Dict[str, str]) -> gpd.GeoDataFrame:
2626
gdf = ox.geometries_from_place(place, tags)
2727
gdf = gdf[gdf["geometry"].type.isin({"Polygon", "MultiPolygon"})]
28-
gdf = gdf[["name", "geometry"]].reset_index(drop=True).head(100)
28+
gdf = gdf[["name", "geometry"]].reset_index(drop=True)
2929
return ("geometry", gdf)
3030

3131
def _arun(self, place: str):

tools/osmnx/network.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class OSMnxNetworkTool(BaseTool):
2727
def _run(self, place: str, network_type: str) -> gpd.GeoDataFrame:
2828
G = ox.graph_from_place(place, network_type=network_type, simplify=True)
2929
network = utils_graph.graph_to_gdfs(G, nodes=False)
30-
network = network[["name", "geometry"]].reset_index(drop=True).head(100)
30+
network = network[["name", "geometry"]].reset_index(drop=True)
3131
return ("network", network)
3232

3333
def _arun(self, place: str):

0 commit comments

Comments
 (0)