Skip to content

Commit dab58ff

Browse files
committed
Added result
1 parent 613038f commit dab58ff

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

src/main.py

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,31 @@
11
from langchain.chat_models import ChatOpenAI
2-
from langchain.chains import RetrievalQA
3-
from langchain.document_loaders import WebBaseLoader
4-
from langchain.embeddings.openai import OpenAIEmbeddings
5-
from langchain.llms import OpenAI
6-
from langchain.text_splitter import CharacterTextSplitter
7-
from langchain.vectorstores import FAISS
8-
9-
loader = WebBaseLoader("https://en.wikipedia.org/wiki/Tea")
10-
documents = loader.load()
11-
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
12-
texts = text_splitter.split_documents(documents)
13-
14-
embeddings = OpenAIEmbeddings()
15-
docsearch = FAISS.from_documents(texts, embeddings)
16-
17-
qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=docsearch.as_retriever())
18-
19-
while True:
20-
query = input("Ask a question about tea\n")
21-
print(qa.run(query))
2+
from langchain.prompts.chat import (
3+
PromptTemplate
4+
)
5+
from langchain.output_parsers import PydanticOutputParser
6+
from pydantic import BaseModel, Field
7+
8+
9+
class Furniture(BaseModel):
10+
type: str = Field(description="the type of furniture")
11+
style: str = Field(description="style of the furniture")
12+
colour: str = Field(description="colour")
13+
14+
furniture_request = "I'd like a blue mid century chair"
15+
16+
parser = PydanticOutputParser(pydantic_object=Furniture)
17+
18+
prompt = PromptTemplate(
19+
template="Answer the user query.\n{format_instructions}\n{query}\n",
20+
input_variables=["query"],
21+
partial_variables={
22+
"format_instructions": parser.get_format_instructions()},
23+
)
24+
25+
_input = prompt.format_prompt(query=furniture_request)
26+
27+
model = ChatOpenAI()
28+
output = model.predict(_input.to_string())
29+
30+
parsed = parser.parse(output)
31+
print(parsed.colour)

0 commit comments

Comments
 (0)