top of page

Commenti del forum

Bot con conoscenze specifiche
In Machine Learning
Team I.A. Italia
Python
Python
19 giu 2023
Ciao!๐Ÿค— L'approccio che hai menzionato utilizza la libreria Langchain e il modulo VectorstoreIndexCreator per creare un indice basato su diversi file PDF. Questo approccio puรฒ funzionare, ma ci potrebbero essere alternative che potresti considerare per rendere il tuo bot piรน intelligente e controllato. Puoi creare agente che utilizzi un approccio zero-shot, dove gli fornisci un prompt e gli chiedi di generare una risposta basata sulle informazioni fornite nei documenti. Puoi configurare il prompt in modo che richieda al modello di fornire una risposta solo se l'informazione รจ presente nell'indice dei documenti forniti. Puoi anche impostare la temperatura a 0 per rendere le risposte del modello piรน deterministiche e limitare l'inclusione di informazioni esterne non desiderate. Inoltre, puoi personalizzare ulteriormente il comportamento del tuo bot scrivendo delle regole aggiuntive. Ad esempio, puoi aggiungere una regola che verifichi se l'informazione richiesta รจ presente nell'indice dei documenti e, in caso contrario, il bot puรฒ restituire un messaggio di avviso o richiedere ulteriori informazioni. Ricorda che, nonostante i tuoi sforzi per limitare le risposte del bot alle sole informazioni fornite, l'utilizzo di modelli di linguaggio basati su trasformatori come GPT-3.5 implica una certa capacitร  di generazione di contenuti basati sulle conoscenze acquisite dal modello durante l'addestramento su Internet. Pertanto, รจ possibile che il bot fornisca risposte che vanno oltre i documenti forniti, anche se hai impostato restrizioni come la temperatura a 0. Ecco un esempio di come potresti configurare un agente utilizzando Langchain, lo Zero Shot Agent e il Vectorstore come toolkit, basato sulla documentazione che mi hai fornito: from langchain.embeddings.openai import OpenAIEmbeddings from langchain.vectorstores import Chroma from langchain.text_splitter import CharacterTextSplitter from langchain import OpenAI, VectorDB from langchain.document_loaders import TextLoader from langchain.agents.agent_toolkits import ( create_vectorstore_agent, VectorStoreToolkit, VectorStoreInfo, ) # Carica il tuo documento loader = TextLoader("path_to_your_pdf_file.pdf") documents = loader.load() # Suddividi il testo in parti piรน piccole text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) texts = text_splitter.split_documents(documents) # Crea gli embeddings embeddings = OpenAIEmbeddings() store = Chroma.from_documents(texts, embeddings, collection_name="your_collection_name") # Crea l'agente llm = OpenAI(temperature=0) # Imposta la temperatura a 0 per limitare la generazione di contenuti non pertinenti vectorstore_info = VectorStoreInfo( name="your_vectorstore_name", description="your_vectorstore_description", vectorstore=store, ) toolkit = VectorStoreToolkit(vectorstore_info=vectorstore_info) agent = create_vectorstore_agent(llm=llm, toolkit=toolkit, verbose=True) In questo esempio, l'agente รจ configurato per utilizzare solo le informazioni nel tuo documento PDF. Se l'agente non trova le informazioni nel tuo documento, non dovrebbe generare una risposta. Tuttavia, potrebbe essere necessario personalizzare ulteriormente l'agente per gestire specificamente i casi in cui non trova le informazioni richieste. Facci sapere se ti รจ stato utile ๐Ÿค—
0
0
Dataset machine learning: quale scegliere?
In Machine Learning
Team I.A. Italia
Python
Python
02 feb 2023
Ciao Alessandro e grazie per aver scritto sul nostro Forum. Allora esistono letteralmente un infinitร  di data set che puoi scegliere e che fanno al tuo caso. Nello specifico ricapitolando ti serve un dataset con una prediction e un tipo di classificazione binaria sul quale devi eseguire cleaning ed esplorazione dei dati, scelta di modello e algoritmo di classificazione, comparazione di due o piรน modelli. Per rimanere nel tema della Psicologia/Medicina ti consigliamo i seguenti set di Dati, alcuni piรน semplici altri piรน complessi : - Quรฌ troverai 130 set di dati riguardanti la psicologia - Previsione introversa vs estroversa 7K risponde a 282 domande sulla personalitร , informazioni tecniche [TE LO CONSIGLIAMO] - Maschi e Femmine Differiscono? Test di empatia-sistematizzazione 13K risposte a 125 domande sulla personalitร , informazioni tecniche - Cosa causa l'alta libido? Scala della compulsivitร  sessuale 3K risponde a 13 domande sulla personalitร , informazioni tecniche - Risultati del test della personalitร  DISC 1K risponde a 42 domande sulla personalitร , informazioni tecniche - Dataset del diabete , Predire l'insorgenza del diabete sulla base di misure diagnostiche - Set di dati (diagnostici) sul cancro al seno nel Wisconsin Prevedi se il cancro รจ benigno o maligno [TE LO CONSIGLIAMO] - Set di dati personali sui costi medici , Previsione assicurativa utilizzando la regressione lineare - Set di dati di previsione dell'ictus 11 caratteristiche cliniche per la previsione di eventi di ictus - Set di dati di previsione dell'insufficienza cardiaca, 11 caratteristiche cliniche per la previsione di eventi di malattie cardiache. [TE LO CONSIGLIAMO] - Repository su GITHUB Diciamo che questi pensiamo sono i dataset con piรน spiegazioni e con molte feautere da analizzare. Se riscontri dei problemi mentre li scarichi non farti problemi, indicaci il set di dati e te lo scarichiamo noi. Invece se vuoi provare con altri set di dati, che non riguardino per forza la psicologia o la medicina, ti segnaliamo DATASET una raccolta di oltre 1500 dataset pronti per essere utilizzati. Facci sapere se possiamo aiutarti in altro ๐Ÿ˜Š
1
0
Da Xml a dataFrame di pandas
In Machine Learning
Team I.A. Italia
Python
Python
20 dic 2020
Grazie per la segnalazione abbiamo risolto.
Da Xml a dataFrame di pandas
In Machine Learning
Team I.A. Italia
Python
Python
20 dic 2020
Risposta migliore
XML รจ un linguaggio di markup utilizzato per rappresentare e distribuire strutture di dati che possono essere spesso difficili da creare utilizzando formati tabulari piรน standard. Fondamentalmente, il formato XML รจ simile all'HTML (che รจ un altro linguaggio di markup, appunto), in quanto i dati sono organizzati in elementi, che definiscono il tipo di informazioni esposte, e ogni elemento contiene il valore effettivo sotto forma di contenuto o attributi. La pagina XML su Wikipedia offre una n visione completa di tutti i dettagli e aspetti tecnici di questo formato, ma i concetti chiave sono semplici. Ogni informazione รจ delimitata da un tag specifico, come questo: john@mail.com A 16 alice@mail.com B 17 bob@mail.com < / email> C 16 hannah@mail.com A 17 In questo esempio, ogni studente รจ rappresentato da un elemento, che ha un nameattributo contenente il nome di uno studente specifico. Ciascuno di questi elementi ha quindi sottoelementi definiti dai tag , e ; tra questi tag รจ presente il contenuto effettivo dei dati riferiti allo studente dato. Supponiamo che questi dati vengano salvati in un file XML chiamato "students.xml". Possiamo pensare a questa struttura come a un DataFrame panda in cui ogni studente rappresenta un'osservazione, con il suo nameattributo che รจ l'identificatore principale e i sottoelementi sono altre caratteristiche dell'osservazione. Una rappresentazione tabulare di questi dati sarebbe come questa: Quindi vogliamo trovare un modo per convertire i dati strutturati in XML in una tabella piรน funzionale. Data la struttura dei file XML, possiamo rappresentarli come un albero, e questo รจ l'approccio utilizzato dal modulo xml.etree.ElementTree Python. L'analisi del nostro file "students.xml" inizia dalla radice dell'albero, ovvero l' elemento, che contiene l'intera struttura dati. import xml.etree.ElementTree as et xtree = et.parse("students.xml") xroot = xtree.getroot() Ora possiamo iterare attraverso ogni nodo dell'albero, il che significa che otterremo ogni elemento studente e prenderemo il suo nameattributo e tutti i suoi sottoelementi per costruire il nostro dataframe. for node in xroot: s_name = node.attrib.get("name") s_mail = node.find("email").text s_grade = node.find("grade").text s_age = node.find("age").text Per ottenere l' nameattributo utilizziamo la attrib.get()funzione, mentre il contenuto testuale di ogni elemento puรฒ essere recuperato utilizzando la find()funzione dei nodi. Ogni iterazione restituirร  un set di dati che puรฒ essere pensato come un'osservazione in un DataFrame panda; possiamo costruire questa procedura come segue: import pandas as pd import xml.etree.ElementTree as et xtree = et.parse("students.xml") xroot = xtree.getroot() df_cols = ["name", "email", "grade", "age"] rows = [] for node in xroot: s_name = node.attrib.get("name") s_mail = node.find("email").text if node is not None else None s_grade = node.find("grade").text if node is not None else None s_age = node.find("age").text if node is not None else None rows.append({"name": s_name, "email": s_mail, "grade": s_grade, "age": s_age}) out_df = pd.DataFrame(rows, columns = df_cols) Lo svantaggio di questo approccio รจ che devi conoscere in anticipo la struttura del file XML e devi codificare i nomi delle colonne di conseguenza. Possiamo provare a convertire questo codice in una funzione piรน utile e versatile, senza dover codificare alcun valore: import pandas as pd import xml.etree.ElementTree as et def parse_XML (xml_file, df_cols): "" "Analizza il file XML di input e memorizza il risultato in un DataFrame panda con le colonne indicate. Il primo elemento di df_cols dovrebbe essere la variabile identificatore , che รจ un attributo di ogni elemento del nodo nei dati XML; altre caratteristiche verranno analizzate dal contenuto di testo di ogni sottoelemento. "" " xtree = et.parse(xml_file) xroot = xtree.getroot() rows = [] for node in xroot: res = [] res.append(node.attrib.get(df_cols[0])) for el in df_cols[1:]: if node is not None and node.find(el) is not None: res.append(node.find(el).text) else: res.append(None) rows.append({df_cols[i]: res[i] for i, _ in enumerate(df_cols)}) out_df = pd.DataFrame(rows, columns=df_cols) return out_df Un pezzo di codice interessante รจ la comprensione dei dettami in: {df_cols [i]: res [i] for i, _ in enumerate (df_cols)} dove viene creato un dizionario nel nome della colonna del modulo: il valore del nodo e aggiunto all'elenco delle righe. Questi verranno infine utilizzati per creare il dataframe completo. Utilizziamo ora la funzione parse_XML("students.xml", ["name", "email", "grade", "age"]) Questa รจ un'implementazione piรน efficiente della funzione di analisi XML, sebbene abbiamo ancora bisogno di conoscere la struttura di base del documento XML di input che vogliamo analizzare. Grazie per aver fatto qui la tua domanda, fammi sapere se funziona.
1
1
Forum Comments: Members_Page

Team I.A. Italia

Amministratore
Python
Creatore
Datasets
Importare File Excel
Importare File Csv
Importare pagine HTM
Scatterplot Python
LinePlot Python
Benvenuto ๐Ÿง ๐Ÿค–
+4
Altre azioni
bottom of page