├── 01_Langchain_Models ├── 01_llms │ ├── readme.md │ └── 1_llm_demo.py ├── 02_Chatmodels │ ├── readme.md │ ├── 1_chatmodels_openai.py │ ├── 2_chatmodels_anthropic.py │ ├── 3_chatmodels_google.py │ ├── 5_chatmodel_hf_local.py │ └── 4_chatmodel_hf.py ├── 03_embedding_models │ ├── readme.md │ ├── 1_EM_OpenAI.py │ ├── 3_em_HF_local.py │ ├── 2_EM_openai_docs.py │ ├── 3_em_hf_local_doc.py │ └── 4_document_similarity.py ├── readme.md ├── test.py └── requirements.txt └── README.md /01_Langchain_Models/01_llms/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /01_Langchain_Models/02_Chatmodels/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /01_Langchain_Models/03_embedding_models/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /01_Langchain_Models/readme.md: -------------------------------------------------------------------------------- 1 | ### Storing the langchain models part here 2 | -------------------------------------------------------------------------------- /01_Langchain_Models/test.py: -------------------------------------------------------------------------------- 1 | import langchain 2 | 3 | print(langchain.__version__) 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Generative-AI-Learnings 2 | This repository will serve as my storage of codes of the learnings of generative AI stuffs 3 | -------------------------------------------------------------------------------- /01_Langchain_Models/01_llms/1_llm_demo.py: -------------------------------------------------------------------------------- 1 | from langchain_openai import OpenAI 2 | from dotenv import load_dotenv 3 | 4 | load_dotenv() 5 | 6 | 7 | llm = OpenAI(model="gpt-4o-mini") 8 | 9 | result = llm.invoke("What is the capital of India?") 10 | 11 | print(result) -------------------------------------------------------------------------------- /01_Langchain_Models/02_Chatmodels/1_chatmodels_openai.py: -------------------------------------------------------------------------------- 1 | from langchain_openai import ChatOpenAI 2 | from dotenv import load_dotenv 3 | 4 | load_dotenv() 5 | 6 | llm = ChatOpenAI(model="gpt-4o-mini") 7 | result = llm.invoke("What is the capital of India?") 8 | print(result) 9 | -------------------------------------------------------------------------------- /01_Langchain_Models/02_Chatmodels/2_chatmodels_anthropic.py: -------------------------------------------------------------------------------- 1 | from langchain_anthropic import ChatAnthropic 2 | 3 | from dotenv import load_dotenv 4 | load_dotenv() 5 | 6 | llm = ChatAnthropic(model="claude-3-5-haiku-20241022") 7 | result = llm.invoke("What is the capital of India?") 8 | print(result) -------------------------------------------------------------------------------- /01_Langchain_Models/03_embedding_models/1_EM_OpenAI.py: -------------------------------------------------------------------------------- 1 | from langchain_openai import OpenAIEmbeddings 2 | from dotenv import load_dotenv 3 | load_dotenv() 4 | 5 | 6 | OpenAIEmbeddings = OpenAIEmbeddings(model="text-embedding-3-large", dimensions=32) 7 | 8 | result = OpenAIEmbeddings.embed_query("Delhi is the capital of India") 9 | print(str(result)) -------------------------------------------------------------------------------- /01_Langchain_Models/02_Chatmodels/3_chatmodels_google.py: -------------------------------------------------------------------------------- 1 | from langchain_google_genai import ChatGoogleGenerativeAI 2 | from dotenv import load_dotenv 3 | 4 | 5 | load_dotenv() 6 | 7 | llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash-lite-preview-02-05") 8 | 9 | result = llm.invoke("What is the capital of India?") 10 | print(result.content) -------------------------------------------------------------------------------- /01_Langchain_Models/02_Chatmodels/5_chatmodel_hf_local.py: -------------------------------------------------------------------------------- 1 | from langchain_huggingface import ChatHuggingFace, HuggingFacePipeline 2 | 3 | llm = HuggingFacePipeline.from_model_id( 4 | model_id="TinyLlama/TinyLlama-1.1B-Chat-v1.0", 5 | task="text-generation" 6 | ) 7 | 8 | model = ChatHuggingFace(llm=llm) 9 | 10 | result = model.invoke("What is the capital of India?") 11 | print(result.content) -------------------------------------------------------------------------------- /01_Langchain_Models/03_embedding_models/3_em_HF_local.py: -------------------------------------------------------------------------------- 1 | from langchain_huggingface import HuggingFaceEmbeddings 2 | 3 | embedding = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2") 4 | 5 | 6 | text = "Delhi is the capital of India" 7 | result = embedding.embed_query(text) 8 | print(str(result)) 9 | print("Embedding length:", len(result)) 10 | print("Embedding type:", type(result)) -------------------------------------------------------------------------------- /01_Langchain_Models/02_Chatmodels/4_chatmodel_hf.py: -------------------------------------------------------------------------------- 1 | from langchain_huggingface import ChatHuggingFace ,HuggingFaceEndpoint 2 | from dotenv import load_dotenv 3 | load_dotenv() 4 | 5 | llm = HuggingFaceEndpoint( 6 | repo_id="TinyLlama/TinyLlama-1.1B-Chat-v1.0", 7 | task="text-generation" 8 | ) 9 | 10 | model = ChatHuggingFace(llm=llm) 11 | 12 | result = model.invoke("What is the capital of India?") 13 | print(result.content) -------------------------------------------------------------------------------- /01_Langchain_Models/03_embedding_models/2_EM_openai_docs.py: -------------------------------------------------------------------------------- 1 | from langchain_openai import OpenAIEmbeddings 2 | from dotenv import load_dotenv 3 | load_dotenv() 4 | 5 | 6 | OpenAIEmbeddings = OpenAIEmbeddings(model="text-embedding-3-large", dimensions=32) 7 | 8 | documents = [ 9 | "Delhi is the capital of India", 10 | "India is a country in South Asia", 11 | "The capital of France is Paris", 12 | ] 13 | 14 | result = OpenAIEmbeddings.embed_documents(documents) 15 | print(str(result)) -------------------------------------------------------------------------------- /01_Langchain_Models/requirements.txt: -------------------------------------------------------------------------------- 1 | # LangChain Core 2 | langchain 3 | langchain-core 4 | 5 | # OpenAI Integration 6 | langchain-openai 7 | openai 8 | 9 | # Anthropic Integration 10 | langchain-anthropic 11 | 12 | # Google Gemini (PaLM) Integration 13 | langchain-google-genai 14 | google-generativeai 15 | 16 | # Hugging Face Integration 17 | langchain-huggingface 18 | transformers 19 | huggingface-hub 20 | 21 | # Environment Variable Management 22 | python-dotenv 23 | 24 | # Machine Learning Utilities 25 | numpy 26 | scikit-learn -------------------------------------------------------------------------------- /01_Langchain_Models/03_embedding_models/3_em_hf_local_doc.py: -------------------------------------------------------------------------------- 1 | from langchain_huggingface import HuggingFaceEmbeddings 2 | 3 | embedding = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2") 4 | 5 | 6 | document = [ 7 | "Delhi is the capital of India", 8 | "Delhi is the capital of India. It is a large city in the north of India.", 9 | "Delhi is known for its historical monuments and vibrant culture." 10 | ] 11 | result = embedding.embed_documents(document) 12 | print("Embedding for documents:") 13 | print(str(result)) 14 | print("Embedding length:", len(result)) 15 | print("Embedding type:", type(result)) -------------------------------------------------------------------------------- /01_Langchain_Models/03_embedding_models/4_document_similarity.py: -------------------------------------------------------------------------------- 1 | from langchain_openai import OpenAIEmbeddings 2 | from dotenv import load_dotenv 3 | from sklearn.metrics.pairwise import cosine_similarity 4 | import numpy as np 5 | 6 | load_dotenv() 7 | 8 | # Initialize OpenAIEmbeddings with the desired model and dimensions 9 | openai_embeddings = OpenAIEmbeddings(model="text-embedding-3-large", dimensions=32) 10 | 11 | documents = [ 12 | " sachin is best batsman", 13 | " sachin is best player", 14 | "virat is god of cricket", 15 | "virat is good player", 16 | ] 17 | 18 | # Embed the documents 19 | 20 | embedded_docs = openai_embeddings.embed_documents(documents) 21 | print("Embedded documents:", embedded_docs) 22 | 23 | query = " tell me about sachin" 24 | # Embed the query 25 | embedded_query = openai_embeddings.embed_query(query) 26 | 27 | 28 | 29 | # Calculate cosine similarity between the query and each document 30 | SCORES = cosine_similarity([embedded_query], embedded_docs)[0] 31 | index , score = sorted(list(enumerate(SCORES)),key=lambda x: x[1])[-1] 32 | # Sort the documents based on similarity scores 33 | print(query) 34 | print("Most similar document index:", index) 35 | print("Most similar document score:", score) 36 | 37 | --------------------------------------------------------------------------------