File size: 863 Bytes
f596e58 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import os
from langchain_core.runnables import RunnableLambda
from langchain_openai import ChatOpenAI
from langchain_core.messages import AIMessage
def player_input(prompt):
print(prompt)
# even though they are human, we still need to return an AIMessage, since the HumanMessages are from the GameMaster
response = AIMessage(content=input())
return response
def controller_from_name(name: str):
if name == "tgi":
return ChatOpenAI(
api_base=os.environ['HF_ENDPOINT_URL'] + "/v1/",
api_key=os.environ['HF_API_TOKEN']
)
elif name == "openai":
return ChatOpenAI(model="gpt-3.5-turbo")
# elif name == "ollama":
# return ollama_controller
elif name == "human":
return RunnableLambda(player_input)
else:
raise ValueError(f"Unknown controller name: {name}") |