Spaces:
Running
Running
| # ruff: noqa: E402 | |
| import os | |
| import sys | |
| import time | |
| from dotenv import load_dotenv | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| load_dotenv() | |
| try: | |
| from pinecone import Pinecone, ServerlessSpec | |
| except ImportError: | |
| print("Pinecone not installed") | |
| sys.exit(1) | |
| from rag_pipeline.ingest import process_and_ingest | |
| def setup(): | |
| pc = Pinecone(api_key=os.getenv("PINECONE_API_KEY")) | |
| index_name = os.getenv("PINECONE_INDEX_NAME", "dotacje") | |
| existing_indexes = [index_info["name"] for index_info in pc.list_indexes()] | |
| print(f"Existing indexes: {existing_indexes}") | |
| if index_name not in existing_indexes: | |
| print(f"Tworzenie indexu Pinecone: {index_name}...") | |
| # Wymiary dla model贸w Google embedding to 768 | |
| pc.create_index( | |
| name=index_name, | |
| dimension=768, | |
| metric="cosine", | |
| spec=ServerlessSpec(cloud="aws", region="us-east-1"), | |
| ) | |
| print("Czekam na gotowo艣膰 indexu...") | |
| while not pc.describe_index(index_name).status["ready"]: | |
| time.sleep(1) | |
| print("Indeks gotowy!") | |
| else: | |
| print(f"Indeks {index_name} ju偶 istnieje.") | |
| print("\nDodawanie przyk艂adowych tekst贸w o dotacjach z PARP/NCBR do bazy...") | |
| sample_text = """ | |
| Zasada DNSH (Do No Significant Harm) - Nie czy艅 znacz膮cej szkody. | |
| W projektach FENG (w tym 艢cie偶ka SMART) ka偶dy wydatek i ca艂a inwestycja musi by膰 zgodna z zasad膮 DNSH. Oznacza to, 偶e projekt nie mo偶e wp艂ywa膰 negatywnie na sze艣膰 cel贸w 艣rodowiskowych: 1. 艁agodzenie zmian klimatu, 2. Adaptacja do zmian klimatu, 3. Zr贸wnowa偶one wykorzystanie zasob贸w wodnych i morskich, 4. Przej艣cie na gospodark臋 o obiegu zamkni臋tym (GOZ), 5. Zapobieganie zanieczyszczeniom i ich kontrola, 6. Ochrona i odbudowa bior贸偶norodno艣ci i ekosystem贸w. | |
| Wydatki na panele fotowoltaiczne i zielone 艣ciany w module zazielenienia s膮 w 100% zgodne z GOZ i DNSH. | |
| Modu艂 cyfryzacji pozwala z kolei na wprowadzanie oprogramowania optymalizuj膮cego 艣lad w臋glowy, jednak wymaga pe艂nego audytu. | |
| """ | |
| success = process_and_ingest( | |
| sample_text, "https://parp.gov.pl/smart-dnsh", priority="high" | |
| ) | |
| if success: | |
| print("Dokument pomy艣lnie dodany do RAG.") | |
| else: | |
| print("B艂膮d podczas dodawania dokumentu.") | |
| if __name__ == "__main__": | |
| setup() | |