LangChain : Tagging and Extraction Using OpenAI functions
from enum import Enum
from typing import Optional, Type
from langchain.pydantic_v1 import BaseModel, Field
class ProvinceEnum(str, Enum):
"""省、直辖市、自治区"""
山东省 = "山东省"
class CityEnum(str, Enum):
"""山东省地级市"""
济南 = "济南"
青岛 = "青岛"
淄博 = "淄博"
枣庄 = "枣庄"
// ...
from langchain_openai import ChatOpenAI
model = ChatOpenAI(temperature=0).bind(
functions=functions,
function_call={"name": PowerSupplyStationLocation.__name__}
)
response = model.invoke(prompt)
print(response)