Spaces:
No application file
No application file
| import json | |
| from langchain_openai import OpenAIEmbeddings | |
| from langchain_core.vectorstores import InMemoryVectorStore | |
| from langchain_core.documents import Document | |
| from model_player import Player | |
| from model_games import Event | |
| from model_teams import Team | |
| embeddings = OpenAIEmbeddings(model="text-embedding-3-large") | |
| # vector_store = InMemoryVectorStore.load("/code/data/vectorstore.json", embedding=embeddings) | |
| vector_store = InMemoryVectorStore(embeddings) | |
| # add players | |
| print("Adding players...") | |
| for player in Player.get_players(): | |
| print('-->',player.id) | |
| doc = Document( | |
| id=player.id, | |
| page_content=json.dumps(player.model_dump()), | |
| metadata=player.player_vector_metadata(), | |
| ) | |
| vector_store.add_documents([doc]) | |
| # add events | |
| print("Adding events...") | |
| games = [] | |
| for event in Event.get_events(): | |
| print('-->',event.id) | |
| if event.game_name not in games: | |
| games.append(event.game_name) | |
| doc = Document( | |
| id=event.game_name, | |
| page_content=event.game_name, | |
| metadata={"type": "game"}, | |
| ) | |
| vector_store.add_documents([doc]) | |
| doc = Document( | |
| id=event.id, | |
| page_content=json.dumps(event.model_dump()), | |
| metadata=event.event_vector_metadata(), | |
| ) | |
| vector_store.add_documents([doc]) | |
| # add teams | |
| print("Adding teams...") | |
| for team in Team.get_teams(): | |
| print('-->',team.id) | |
| doc = Document( | |
| id=team.id, | |
| page_content=json.dumps(team.model_dump()), | |
| metadata=team.team_vector_metadata(), | |
| ) | |
| vector_store.add_documents([doc]) | |
| print("Saving vector store...") | |
| vector_store.dump("/code/data/vectorstore.json") | |