LangGenie / app.py
saicharantej's picture
Update app.py
7397eca
Raw
History Blame Contribute Delete
2.05 kB
import openai
import os
openai.api_key = os.getenv('api_key')
print (openai.api_key)
import langchain
import gradio as gr
import pinecone
from langchain.embeddings.openai import OpenAIEmbeddings
model_name = 'text-embedding-ada-002'
embed = OpenAIEmbeddings(
model=model_name,
openai_api_key=openai.api_key
)
index_name = 'gideon'
# find API key in console at app.pinecone.io
PINECONE_API_KEY = os.getenv('pine_key')
# find ENV (cloud region) next to API key in console
PINECONE_ENVIRONMENT = "asia-southeast1-gcp-free"
pinecone.init(
api_key=PINECONE_API_KEY,
environment=PINECONE_ENVIRONMENT
)
from langchain.vectorstores import Pinecone
text_field = "text"
# switch back to normal index for langchain
index = pinecone.Index(index_name)
vectorstore = Pinecone(
index, embed.embed_query, text_field
)
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA
# completion llm
llm = ChatOpenAI(
openai_api_key=openai.api_key,
model_name='gpt-3.5-turbo',
temperature=0.2,
stop = None,
max_tokens = 512
)
qa = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=vectorstore.as_retriever(search_kwargs={"k": 1})
)
def langchain_qa(question):
answer = qa.run(question)
return answer
examples = [
["What does memory mean in Langchain?"],
["What real-world problems can be solved by creating agents in Langchain?"],
["Explain with a real-world example the difference between an agent and a tool in Langchain"]
]
iface = gr.Interface(fn=langchain_qa,
inputs=gr.inputs.Textbox(lines=2, placeholder='What do you want to know about Langchain?'),
outputs='text',
title='LangGenie: Your personal LangChain Assistant',
description='This application provides answers to your queries about Langchain. Feel free to ask anything related to Langchain features, modules, or use-cases.',
examples=examples)
iface.launch()