integrated langfuse
Browse files- requirements.txt +1 -0
- src/conversation.py +7 -2
requirements.txt
CHANGED
@@ -2,6 +2,7 @@ docarray==0.39.1
|
|
2 |
faiss-cpu==1.7.4
|
3 |
gradio==4.8.0
|
4 |
langchain==0.0.348
|
|
|
5 |
openai==1.3.8
|
6 |
pypdf==3.17.2
|
7 |
tiktoken==0.5.2
|
|
|
2 |
faiss-cpu==1.7.4
|
3 |
gradio==4.8.0
|
4 |
langchain==0.0.348
|
5 |
+
langfuse==2.5.0
|
6 |
openai==1.3.8
|
7 |
pypdf==3.17.2
|
8 |
tiktoken==0.5.2
|
src/conversation.py
CHANGED
@@ -3,9 +3,12 @@ from langchain.chains import ConversationalRetrievalChain
|
|
3 |
from langchain.chat_models import ChatOpenAI
|
4 |
from langchain.embeddings import OpenAIEmbeddings
|
5 |
from langchain.prompts import PromptTemplate
|
|
|
6 |
import os
|
7 |
|
8 |
openai_api_key = os.environ.get("OPENAI_API_KEY")
|
|
|
|
|
9 |
|
10 |
class Conversation_RAG:
|
11 |
def __init__(self, model_name="gpt-3.5-turbo"):
|
@@ -17,7 +20,6 @@ class Conversation_RAG:
|
|
17 |
return vectordb
|
18 |
|
19 |
def create_model(self, max_new_tokens=512, temperature=0.1):
|
20 |
-
|
21 |
llm = ChatOpenAI(
|
22 |
openai_api_key=openai_api_key,
|
23 |
model_name=self.model_name,
|
@@ -35,6 +37,8 @@ class Conversation_RAG:
|
|
35 |
data: {question}\n
|
36 |
"""
|
37 |
|
|
|
|
|
38 |
QCA_PROMPT = PromptTemplate(input_variables=["instruction", "context", "question"], template=template)
|
39 |
|
40 |
qa = ConversationalRetrievalChain.from_llm(
|
@@ -43,6 +47,7 @@ class Conversation_RAG:
|
|
43 |
retriever=vectordb.as_retriever(search_kwargs={"k": k_context}),
|
44 |
combine_docs_chain_kwargs={"prompt": QCA_PROMPT},
|
45 |
get_chat_history=lambda h: h,
|
46 |
-
verbose=True
|
|
|
47 |
)
|
48 |
return qa
|
|
|
3 |
from langchain.chat_models import ChatOpenAI
|
4 |
from langchain.embeddings import OpenAIEmbeddings
|
5 |
from langchain.prompts import PromptTemplate
|
6 |
+
from langfuse.callback import CallbackHandler
|
7 |
import os
|
8 |
|
9 |
openai_api_key = os.environ.get("OPENAI_API_KEY")
|
10 |
+
langfuse_public_key = os.environ.get("LANGFUSE_PUBLIC_KEY")
|
11 |
+
langfuse_secret_key = os.environ.get("LANGFUSE_SECRET_KEY")
|
12 |
|
13 |
class Conversation_RAG:
|
14 |
def __init__(self, model_name="gpt-3.5-turbo"):
|
|
|
20 |
return vectordb
|
21 |
|
22 |
def create_model(self, max_new_tokens=512, temperature=0.1):
|
|
|
23 |
llm = ChatOpenAI(
|
24 |
openai_api_key=openai_api_key,
|
25 |
model_name=self.model_name,
|
|
|
37 |
data: {question}\n
|
38 |
"""
|
39 |
|
40 |
+
handler = CallbackHandler(langfuse_public_key, langfuse_secret_key)
|
41 |
+
|
42 |
QCA_PROMPT = PromptTemplate(input_variables=["instruction", "context", "question"], template=template)
|
43 |
|
44 |
qa = ConversationalRetrievalChain.from_llm(
|
|
|
47 |
retriever=vectordb.as_retriever(search_kwargs={"k": k_context}),
|
48 |
combine_docs_chain_kwargs={"prompt": QCA_PROMPT},
|
49 |
get_chat_history=lambda h: h,
|
50 |
+
verbose=True,
|
51 |
+
callbacks=[handler]
|
52 |
)
|
53 |
return qa
|