Spaces:
No application file
No application file
File size: 1,673 Bytes
4c91492 |
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
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")
|