projecten
Verschillen
Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.
Beide kanten vorige revisieVorige revisieVolgende revisie | Vorige revisie | ||
projecten [2023/10/25 18:20] – [Stappen:] a3dijke | projecten [2024/05/12 14:53] (huidige) – [Database vullen] a3dijke | ||
---|---|---|---|
Regel 2: | Regel 2: | ||
<= [[start|Terug naar start]]\\ | <= [[start|Terug naar start]]\\ | ||
- | ===== A3Dbot ===== | ||
- | **Wat:**\\ | + | ====== RAG Chatapplicatie ====== |
- | -> Een Python applicatie bouwen | + | 🔸 Een app gebouwd |
- | -> De app moet een //(met eigen getrainde data)// AI-chat-bot zijn. Tegelijkertijd wil ik mijn kennis van Python een boost geven. | + | |
- | **Middelen:**\\ | + | ===== Database vullen ===== |
- | -> Ik ben van plan zo veel mogelijk ven AI gebruik | + | **Gegevens opsplitsen:** Online zijn vele voorbeelden |
- | -> Verder ben ik wel geïnteresseerd | + | |
+ | 🔸 //Deze methode is wel een stuk arbeidsintensiever en kan alleen toegepast worden als degene die de documenten samenstelt van alle ins en outs m.b.t. tot de gewenste resultaten op de hoogte is.//\\ | ||
+ | ✨ Groot voordeel is dan wel dat de resultaten een stuk beter zullen zijn ✨ | ||
+ | |||
+ | < | ||
+ | import os | ||
+ | import pinecone | ||
+ | from langchain.vectorstores import Pinecone | ||
+ | from langchain.embeddings.openai import OpenAIEmbeddings | ||
+ | |||
+ | class Document: | ||
+ | def __init__(self, | ||
+ | self.page_content = text | ||
+ | self.metadata = metadata if metadata is not None else {} | ||
+ | |||
+ | class A3DEmbedding: | ||
+ | def __init__(self, | ||
+ | self.a3dcon = a3dcon | ||
+ | self.a3dmod = a3dmod | ||
+ | |||
+ | # START | ||
+ | def start_embeddings(self): | ||
+ | doc_db = self.embedding_db() | ||
+ | print(doc_db) | ||
+ | self.a3dcon.embeddings_done("> | ||
+ | |||
+ | def embedding_db(self): | ||
+ | embeddings = OpenAIEmbeddings() | ||
+ | pinecone.init( | ||
+ | api_key = self.a3dmod.pinecone_api_key, | ||
+ | environment = self.a3dmod.pinecone_environment | ||
+ | ) | ||
+ | docs_split = self.load_embeddings_from_dir() | ||
+ | doc_db = Pinecone.from_documents( | ||
+ | docs_split, | ||
+ | embeddings, | ||
+ | index_name=self.a3dmod.pinecone_index_name | ||
+ | ) | ||
+ | return doc_db | ||
+ | | ||
+ | def load_embeddings_from_dir(self): | ||
+ | directory = ' | ||
+ | documents = [] | ||
+ | for filename in os.listdir(directory): | ||
+ | if filename.endswith(' | ||
+ | file_path = os.path.join(directory, | ||
+ | with open(file_path, | ||
+ | content = file.read() | ||
+ | parts = content.split(' | ||
+ | for part in parts: | ||
+ | documents.append(Document(part)) | ||
+ | print(f" | ||
+ | return documents | ||
+ | </ | ||
---- | ---- | ||
+ | |||
+ | ====== Onderzoek ====== | ||
+ | ===== A3Dbot ===== | ||
+ | |||
+ | |||
==== Stappen: ==== | ==== Stappen: ==== | ||
- | -> [[a3d_bot_testomgeving|Testomgeving opzetten en diverse tools uit te proberen]]\\ | + | |
- | -> [[a3d_bot_bouwen|App bouwen]]\\ | + | -> [[embeddings_app|Embedding App]]\\ |
- | -> [[a3d_bot_online_zetten|App publiceren | + | -> [[a3d_bot_bouwen|Web Chat App bouwen]]\\ |
+ | -> [[a3d_bot_bouwen_2|Web Chat App bouwen 2]] | ||
+ | |||
+ | -> [[a3d_bot_testomgeving|Testomgeving opzetten en diverse tools en oplossingen uitproberen]] | ||
---- | ---- | ||
projecten.1698250824.txt.gz · Laatst gewijzigd: 2023/10/25 18:20 door a3dijke