Spaces:
Sleeping
Sleeping
Update langchain_bot.py
Browse files- langchain_bot.py +37 -38
langchain_bot.py
CHANGED
@@ -1,39 +1,38 @@
|
|
1 |
-
import os
|
2 |
-
import json
|
3 |
-
|
4 |
-
from
|
5 |
-
from
|
6 |
-
from
|
7 |
-
from
|
8 |
-
|
9 |
-
from
|
10 |
-
from
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
from
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
)
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
return_messages=True, #get chat list チャット履歴をlistで取得する場合はTrue
|
39 |
)
|
|
|
1 |
+
import os
|
2 |
+
import json
|
3 |
+
import time
|
4 |
+
from langchain_openai import ChatOpenAI
|
5 |
+
from langchain.chains.conversational_retrieval.base import ConversationalRetrievalChain
|
6 |
+
from langchain.memory.buffer_window import ConversationBufferWindowMemory
|
7 |
+
from langchain_core.prompts import PromptTemplate
|
8 |
+
### Contextualize question ###
|
9 |
+
from upstash_vector import Index
|
10 |
+
from langchain_community.vectorstores.upstash import UpstashVectorStore
|
11 |
+
|
12 |
+
|
13 |
+
|
14 |
+
settings= json.load(open("system.json","r"))
|
15 |
+
|
16 |
+
|
17 |
+
from upstash_vector import Index
|
18 |
+
from langchain_community.vectorstores.upstash import UpstashVectorStore
|
19 |
+
index = Index(os.environ["UPSTASH_VECTOR_REST_URL"],os.environ["UPSTASH_VECTOR_REST_TOKEN"])
|
20 |
+
vectorStore = UpstashVectorStore(
|
21 |
+
embedding=True, index=index,
|
22 |
+
)
|
23 |
+
retriever = vectorStore.as_retriever(search_kwargs={"k": settings["k"]})
|
24 |
+
#LLM setup
|
25 |
+
LLM= ChatOpenAI(model=settings["model"], temperature=settings["temp"])
|
26 |
+
|
27 |
+
#Setup prompt template
|
28 |
+
QUESTION_PROMPT = PromptTemplate(
|
29 |
+
template=settings["prompt_temp"], # プロンプトテンプレートをセット
|
30 |
+
input_variables=["context", "question"] # プロンプトに挿入する変数
|
31 |
+
)
|
32 |
+
# Conversation memory
|
33 |
+
memory = ConversationBufferWindowMemory(
|
34 |
+
memory_key=settings["MEMORY_KEY"], # Memory key メモリーのキー名
|
35 |
+
output_key="answer", #output key 出力ののキー名
|
36 |
+
k=8, #saved conversation number 保持する会話の履歴数
|
37 |
+
return_messages=True, #get chat list チャット履歴をlistで取得する場合はTrue
|
|
|
38 |
)
|