Skip to content

Commit

Permalink
Enable langfuse for file_chat, knowledge_base_chat, search_engine_cha…
Browse files Browse the repository at this point in the history
…t, and agent_chat (chatchat-space#3229)

* Enable langchain-chatchat to support langfuse

* Enable langchain-chatchat to support langfuse
zhenlong-zhu authored Jun 15, 2024
1 parent b5d4088 commit 0f34532
Showing 5 changed files with 62 additions and 4 deletions.
13 changes: 12 additions & 1 deletion server/chat/agent_chat.py
Original file line number Diff line number Diff line change
@@ -48,11 +48,22 @@ async def agent_chat_iterator(
if isinstance(max_tokens, int) and max_tokens <= 0:
max_tokens = None

callbacks = [callback]
# Enable langchain-chatchat to support langfuse
import os
langfuse_secret_key = os.environ.get('LANGFUSE_SECRET_KEY')
langfuse_public_key = os.environ.get('LANGFUSE_PUBLIC_KEY')
langfuse_host = os.environ.get('LANGFUSE_HOST')
if langfuse_secret_key and langfuse_public_key and langfuse_host:
from langfuse import Langfuse
from langfuse.callback import CallbackHandler
langfuse_handler = CallbackHandler()
callbacks.append(langfuse_handler)
model = get_ChatOpenAI(
model_name=model_name,
temperature=temperature,
max_tokens=max_tokens,
callbacks=[callback],
callbacks=callbacks,
)

kb_list = {x["kb_name"]: x for x in get_kb_details()}
12 changes: 12 additions & 0 deletions server/chat/chat.py
Original file line number Diff line number Diff line change
@@ -47,6 +47,18 @@ async def chat_iterator() -> AsyncIterable[str]:
query=query)
callbacks.append(conversation_callback)

# Enable langchain-chatchat to support langfuse
import os
langfuse_secret_key = os.environ.get('LANGFUSE_SECRET_KEY')
langfuse_public_key = os.environ.get('LANGFUSE_PUBLIC_KEY')
langfuse_host = os.environ.get('LANGFUSE_HOST')
if langfuse_secret_key and langfuse_public_key and langfuse_host :
from langfuse import Langfuse
from langfuse.callback import CallbackHandler
langfuse_handler = CallbackHandler()
callbacks.append(langfuse_handler)


if isinstance(max_tokens, int) and max_tokens <= 0:
max_tokens = None

14 changes: 13 additions & 1 deletion server/chat/file_chat.py
Original file line number Diff line number Diff line change
@@ -118,11 +118,23 @@ async def knowledge_base_chat_iterator() -> AsyncIterable[str]:
if isinstance(max_tokens, int) and max_tokens <= 0:
max_tokens = None

callbacks = [callback]
# Enable langchain-chatchat to support langfuse
import os
langfuse_secret_key = os.environ.get('LANGFUSE_SECRET_KEY')
langfuse_public_key = os.environ.get('LANGFUSE_PUBLIC_KEY')
langfuse_host = os.environ.get('LANGFUSE_HOST')
if langfuse_secret_key and langfuse_public_key and langfuse_host:
from langfuse import Langfuse
from langfuse.callback import CallbackHandler
langfuse_handler = CallbackHandler()
callbacks.append(langfuse_handler)

model = get_ChatOpenAI(
model_name=model_name,
temperature=temperature,
max_tokens=max_tokens,
callbacks=[callback],
callbacks=callbacks,
)
embed_func = EmbeddingsFunAdapter()
embeddings = await embed_func.aembed_query(query)
14 changes: 13 additions & 1 deletion server/chat/knowledge_base_chat.py
Original file line number Diff line number Diff line change
@@ -70,11 +70,23 @@ async def knowledge_base_chat_iterator(
if isinstance(max_tokens, int) and max_tokens <= 0:
max_tokens = None

callbacks = [callback]
# Enable langchain-chatchat to support langfuse
import os
langfuse_secret_key = os.environ.get('LANGFUSE_SECRET_KEY')
langfuse_public_key = os.environ.get('LANGFUSE_PUBLIC_KEY')
langfuse_host = os.environ.get('LANGFUSE_HOST')
if langfuse_secret_key and langfuse_public_key and langfuse_host :
from langfuse import Langfuse
from langfuse.callback import CallbackHandler
langfuse_handler = CallbackHandler()
callbacks.append(langfuse_handler)

model = get_ChatOpenAI(
model_name=model_name,
temperature=temperature,
max_tokens=max_tokens,
callbacks=[callback],
callbacks=callbacks,
)
docs = await run_in_threadpool(search_docs,
query=query,
13 changes: 12 additions & 1 deletion server/chat/search_engine_chat.py
Original file line number Diff line number Diff line change
@@ -154,11 +154,22 @@ async def search_engine_chat_iterator(query: str,
if isinstance(max_tokens, int) and max_tokens <= 0:
max_tokens = None

callbacks = [callback]
# Enable langchain-chatchat to support langfuse
import os
langfuse_secret_key = os.environ.get('LANGFUSE_SECRET_KEY')
langfuse_public_key = os.environ.get('LANGFUSE_PUBLIC_KEY')
langfuse_host = os.environ.get('LANGFUSE_HOST')
if langfuse_secret_key and langfuse_public_key and langfuse_host:
from langfuse import Langfuse
from langfuse.callback import CallbackHandler
langfuse_handler = CallbackHandler()
callbacks.append(langfuse_handler)
model = get_ChatOpenAI(
model_name=model_name,
temperature=temperature,
max_tokens=max_tokens,
callbacks=[callback],
callbacks=callbacks,
)

docs = await lookup_search_engine(query, search_engine_name, top_k, split_result=split_result)

0 comments on commit 0f34532

Please sign in to comment.