LangChain è il framework con l'applicazione nel dominio Natural Language Processing o NLP per costruire modelli in linguaggi simili a quelli umani. Questi modelli possono essere utilizzati dagli esseri umani per ottenere risposte dal modello o avere una conversazione come qualsiasi altro essere umano. LangChain viene utilizzato per costruire catene memorizzando ogni frase nella conversazione e interagendo ulteriormente utilizzandola come contesto.
Questo post illustrerà il processo di creazione di LLM e LLMChain in LangChain.
Come costruire LLM e LLMChain in LangChain?
Per creare LLM e LLMChain in LangChain, segui semplicemente i passaggi elencati:
Passaggio 1: installare i moduli
Innanzitutto, installa il modulo LangChain per utilizzare le sue librerie per creare LLM e LLMChain:
pip installa langchain
Un altro modulo necessario per creare LLM è OpenAI e può essere installato utilizzando il comando pip:
pip installa openai
Passaggio 2: configurare un ambiente
Configura un ambiente utilizzando la chiave API OpenAI dal suo ambiente:
importaciimport getpassos.environ['OPENAI_API_KEY'] = getpass.getpass('Chiave API OpenAI:')
Esempio 1: creare LLM utilizzando LangChain
Il primo esempio è creare modelli linguistici di grandi dimensioni utilizzando LangChain importando le librerie OpenAI e ChatOpenAI e utilizzando la funzione llm():
Passaggio 1: utilizzo del modello di chat LLM
Importa i moduli OpenAI e ChatOpenAI per creare un semplice LLM utilizzando l'ambiente OpenAI da LangChain:
da langchain.chat_models importa ChatOpenAIda langchain.llms importa OpenAI
llm = OpenAI()
modello_chat = ChatOpenAI()
llm.predict('ciao!')
Il modello ha risposto con la risposta 'ciao' come mostrato nello screenshot seguente:
La funzione predit() di chat_model viene utilizzata per ottenere la risposta o la risposta dal modello:
chat_model.predict('ciao!')L'output mostra che il modello è a disposizione dell'utente che pone domande:
Passaggio 2: utilizzo della query di testo
L'utente può anche ottenere risposte dal modello fornendo la frase completa nella variabile testo:
text = 'Quale sarebbe un buon nome per un'azienda che produce calzini colorati?'llm.predict(testo)
La modella ha mostrato molteplici combinazioni di colori per calzini colorati:
Ottieni la risposta dettagliata dal modello utilizzando la funzione predit() con le combinazioni di colori per i calzini:
chat_model.predict(testo)
Passaggio 3: utilizzo del testo con contenuto
L'utente può ottenere la risposta con una piccola spiegazione sulla risposta:
da langchain.schema importa HumanMessagetext = 'Quale sarebbe un buon titolo per un'azienda che produce abiti colorati'
messaggi = [Messaggioumano(contenuto=testo)]
llm.predict_messages(messaggi)
La modella ha generato il titolo per l'azienda che è “Creative Clothing Co”:
Prevedere il messaggio per ottenere la risposta per il titolo dell'azienda con la relativa spiegazione:
chat_model.predict_messages(messaggi)
Esempio 2: creare LLMChain utilizzando LangChain
Il secondo esempio della nostra guida crea LLMChain per ottenere il modello nel formato dell'interazione umana per combinare tutti i passaggi dell'esempio precedente:
da langchain.chat_models importa ChatOpenAIda langchain.prompts.chat importa ChatPromptTemplate
da langchain.prompts.chat importa ChatPromptTemplate
da langchain.prompts.chat importa SystemMessagePromptTemplateda langchain.prompts.chat importa HumanMessagePromptTemplate
da langchain.chains importa LLMChain
da langchain.schema import BaseOutputParserclass CommaSeparatedListOutputParser(BaseOutputParser):
def parse(self, testo: str):
restituisce testo.strip().split(', ')
Costruisci il modello per il modello di chat fornendo una spiegazione dettagliata del suo funzionamento e quindi crea la funzione LLMChain() contenente le librerie LLM, parser di output e chat_prompt:
template = '''Devi aiutare a generare elenchi separati da virgoleOttieni la categoria dall'utente e genera un elenco separato da virgole con cinque oggetti
L'unica cosa dovrebbe essere l'oggetto della categoria'''
system_message_prompt = SystemMessagePromptTemplate.from_template(modello)
modello_umano = '{testo}'
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
#Configura LLMChain con la struttura della query
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])
catena = CatenaLLM(
llm=ChatOpenAI(),
prompt=prompt_chat,
output_parser=CommaSeparatedListOutputParser()
)
chain.run('colori')
Il modello ha fornito la risposta con l'elenco dei colori poiché la categoria dovrebbe contenere solo 5 oggetti indicati nel prompt:
Si tratta di costruire LLM e LLMChain in LangChain.
Conclusione
Per creare LLM e LLMChain utilizzando LangChain, è sufficiente installare i moduli LangChain e OpenAI per configurare un ambiente utilizzando la relativa chiave API. Successivamente, crea il modello LLM utilizzando chat_model dopo aver creato il modello di prompt per una singola query su una chat completa. LLMChain viene utilizzato per costruire catene di tutte le osservazioni nella conversazione e utilizzarle come contesto dell'interazione. Questo post illustra il processo di creazione di LLM e LLMChain utilizzando il framework LangChain.