rajat5ranjan's picture
Update app.py
66e7727 verified
raw
history blame
2.35 kB
import streamlit as st
import os
import getpass
from langchain import PromptTemplate
from langchain import hub
from langchain.docstore.document import Document
from langchain.document_loaders import WebBaseLoader
from langchain.schema import StrOutputParser
from langchain.schema.prompt_template import format_document
from langchain.schema.runnable import RunnablePassthrough
from langchain.vectorstores import Chroma
import google.generativeai as genai
from langchain_google_genai import GoogleGenerativeAIEmbeddings
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.chains.llm import LLMChain
from langchain.chains import StuffDocumentsChain
GOOGLE_API_KEY=os.environ['GOOGLE_API_KEY']
url_user = st.text_input("Enter Url","https://www.moneycontrol.com/stocksmarketsindia/")
loader = WebBaseLoader(url_user)
docs = loader.load()
gemini_embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
llm = ChatGoogleGenerativeAI(model="gemini-pro",google_api_key = GOOGLE_API_KEY)
# user_prompt = st.text_input("Enter Prompt","What is the best stocks for the next few weeks")
llm_prompt_template = """You are an expert Stock Market Trader for stock market insights.
Based on the context below
{context}, Suggest some stocks recommendations"""
st.write(llm_prompt_template)
llm_prompt = PromptTemplate.from_template(llm_prompt_template)
llm_chain = LLMChain(llm=llm,prompt=llm_prompt)
stuff_chain = StuffDocumentsChain(llm_chain=llm_chain,document_variable_name="context")
res = stuff_chain.invoke(docs)
st.write(res.output_text)
# If there is no environment variable set for the API key, you can pass the API
# key to the parameter `google_api_key` of the `GoogleGenerativeAIEmbeddings`
# function: `google_api_key = "key"`.
# gemini_embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
# # Save to disk
# vectorstore = Chroma.from_documents(
# documents=docs, # Data
# embedding=gemini_embeddings, # Embedding model
# persist_directory="./chroma_db" # Directory to save data
# )
# vectorstore_disk = Chroma(
# persist_directory="./chroma_db", # Directory of db
# embedding_function=gemini_embeddings # Embedding model