|
3 | 3 | import streamlit as st |
4 | 4 | from langchain.vectorstores.neo4j_vector import Neo4jVector |
5 | 5 | from langchain.embeddings.openai import OpenAIEmbeddings |
6 | | -from langchain.embeddings import OllamaEmbeddings |
| 6 | +from langchain.embeddings import OllamaEmbeddings, SentenceTransformerEmbeddings |
7 | 7 | from langchain.chat_models import ChatOpenAI, ChatOllama |
8 | 8 | from langchain.chains import RetrievalQAWithSourcesChain |
9 | 9 | from langchain.prompts.chat import ( |
|
19 | 19 | username = os.getenv("NEO4J_USERNAME") |
20 | 20 | password = os.getenv("NEO4J_PASSWORD") |
21 | 21 | ollama_base_url = os.getenv("OLLAMA_BASE_URL") |
| 22 | +embedding_model_name = os.getenv("EMBEDDING_MODEL") |
| 23 | +llm_name = os.getenv("LLM") |
22 | 24 |
|
23 | 25 | os.environ["NEO4J_URL"] = url |
24 | 26 |
|
25 | | -# embeddings = OllamaEmbeddings(base_url=ollama_base_url) |
26 | | -# llm = ChatOllama(temperature=0, base_url=ollama_base_url) |
27 | | - |
28 | | -embeddings = OpenAIEmbeddings() |
29 | | -llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo") |
| 27 | +if embedding_model_name == "ollama": |
| 28 | + embeddings = OllamaEmbeddings(base_url=ollama_base_url, model="llama2") |
| 29 | + print("Embedding: Using Ollama") |
| 30 | +elif embedding_model_name == "openai": |
| 31 | + embeddings = OpenAIEmbeddings() |
| 32 | + print("Embedding: Using OpenAI") |
| 33 | +else: |
| 34 | + embeddings = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2") |
| 35 | + print("Embedding: Using SentenceTransformer") |
| 36 | + |
| 37 | +if llm_name == "gpt-4": |
| 38 | + llm = ChatOpenAI(temperature=0, model_name="gpt-4") |
| 39 | + print("LLM: Using GPT-4") |
| 40 | +elif llm_name == "ollama": |
| 41 | + llm = ChatOllama(temperature=0, base_url=ollama_base_url, model="llama2") |
| 42 | + print("LLM: Using Ollama (llama2)") |
| 43 | +else: |
| 44 | + llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo") |
| 45 | + print("LLM: Using GPT-3.5 Turbo") |
30 | 46 |
|
31 | 47 | # LLM only response |
32 | 48 | template = "You are a helpful assistant that helps with programming questions." |
|
0 commit comments