Spaces:
Runtime error
Runtime error
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 |