File size: 2,000 Bytes
bfae78a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""

Data Scientist.: Dr.Eddy Giusepe Chirinos Isidro



Este script funciona apenas com a versão antiga do LangChain --> pip install langchain==0.0.142

Ver o seguinte link do erro: https://medium.com/@michal.foune/hello-i-was-facing-the-following-error-importerror-cannot-import-name-callbackmanager-from-7777f1bac7ef

"""
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI
from langchain.chains import LLMChain
from langchain.chains import SimpleSequentialChain
# importar para respostas de streaming:
from langchain.callbacks.base import CallbackManager
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler

from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file
#openai.api_key  = os.environ['OPENAI_API_KEY']



llm = OpenAI(streaming=True,
             callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]),
             verbose=True,
             temperature=0.0)

# Para usar o LLMChain, primeiro crie um modelo de prompt:
expand_prompt = PromptTemplate(
    input_variables=["technology"],
    template="""Escreva um parágrafo explicando a seguinte tecnologia: {technology}.

                A sua resposta deverá conter como máximo 30 palavras.

             """,
)

# Agora podemos criar uma cadeia muito simples que receberá a entrada do usuário,
# formatará o prompt com ela e depois a enviará ao LLM.
expand_chain = LLMChain(llm=llm, prompt=expand_prompt)

# Defina o prompt para a segunda cadeia:
summarize_prompt = PromptTemplate(
    input_variables=["paragraph"],
    template="Nomeie a tecnologia explicada no parágrafo seguinte: {paragraph}?",
)
# Definir a segunda cadeia:
summarize_chain = LLMChain(llm=llm, prompt=summarize_prompt)


chain = SimpleSequentialChain(chains=[expand_chain, summarize_chain], verbose=False)

# Execute a cadeia especificando apenas a variável de entrada.
print(chain.run("Docker"))