|
7 | 7 |
|
8 | 8 | import pytest |
9 | 9 | from langchain.chains import ( |
10 | | - ConversationalRetrievalChain, |
11 | 10 | ConversationChain, |
12 | 11 | LLMChain, |
13 | | - RetrievalQA, |
14 | 12 | SimpleSequentialChain, |
15 | 13 | ) |
16 | 14 | from langchain.chains.openai_functions import create_openai_fn_chain |
17 | 15 | from langchain.memory import ConversationBufferMemory |
18 | 16 | from langchain.prompts import ChatPromptTemplate, PromptTemplate |
19 | 17 | from langchain.schema import HumanMessage, SystemMessage |
20 | | -from langchain.text_splitter import CharacterTextSplitter |
21 | | -from langchain_community.document_loaders import TextLoader |
22 | | -from langchain_community.embeddings import OpenAIEmbeddings |
23 | | -from langchain_community.vectorstores import Chroma |
24 | 18 | from langchain_core.callbacks.manager import CallbackManagerForLLMRun |
25 | 19 | from langchain_core.language_models.llms import LLM |
26 | 20 | from langchain_core.output_parsers import StrOutputParser |
|
35 | 29 | from langfuse._client.client import Langfuse |
36 | 30 | from langfuse.langchain import CallbackHandler |
37 | 31 | from langfuse.langchain.CallbackHandler import LANGSMITH_TAG_HIDDEN |
38 | | -from tests.api_wrapper import LangfuseAPI |
39 | 32 | from tests.utils import create_uuid, encode_file_to_base64, get_api |
40 | 33 |
|
41 | 34 |
|
@@ -226,89 +219,6 @@ def test_basic_chat_openai(): |
226 | 219 | assert generation.output is not None |
227 | 220 |
|
228 | 221 |
|
229 | | -def test_callback_retriever(): |
230 | | - langfuse = Langfuse() |
231 | | - |
232 | | - with langfuse.start_as_current_span(name="retriever_test") as span: |
233 | | - trace_id = span.trace_id |
234 | | - handler = CallbackHandler() |
235 | | - |
236 | | - loader = TextLoader("./static/state_of_the_union.txt", encoding="utf8") |
237 | | - llm = OpenAI() |
238 | | - |
239 | | - documents = loader.load() |
240 | | - text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) |
241 | | - texts = text_splitter.split_documents(documents) |
242 | | - |
243 | | - embeddings = OpenAIEmbeddings() |
244 | | - docsearch = Chroma.from_documents(texts, embeddings) |
245 | | - |
246 | | - query = "What did the president say about Ketanji Brown Jackson" |
247 | | - |
248 | | - chain = RetrievalQA.from_chain_type( |
249 | | - llm, |
250 | | - retriever=docsearch.as_retriever(), |
251 | | - ) |
252 | | - |
253 | | - chain.run(query, callbacks=[handler]) |
254 | | - |
255 | | - langfuse.flush() |
256 | | - |
257 | | - trace = get_api().trace.get(trace_id) |
258 | | - |
259 | | - assert len(trace.observations) == 6 |
260 | | - for observation in trace.observations: |
261 | | - if observation.type == "GENERATION": |
262 | | - assert observation.usage_details["input"] > 0 |
263 | | - assert observation.usage_details["output"] > 0 |
264 | | - assert observation.usage_details["total"] > 0 |
265 | | - assert observation.input is not None |
266 | | - assert observation.input != "" |
267 | | - assert observation.output is not None |
268 | | - assert observation.output != "" |
269 | | - |
270 | | - |
271 | | -def test_callback_retriever_with_sources(): |
272 | | - langfuse = Langfuse() |
273 | | - |
274 | | - with langfuse.start_as_current_span(name="retriever_with_sources_test") as span: |
275 | | - trace_id = span.trace_id |
276 | | - handler = CallbackHandler() |
277 | | - |
278 | | - loader = TextLoader("./static/state_of_the_union.txt", encoding="utf8") |
279 | | - llm = OpenAI() |
280 | | - |
281 | | - documents = loader.load() |
282 | | - text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) |
283 | | - texts = text_splitter.split_documents(documents) |
284 | | - |
285 | | - embeddings = OpenAIEmbeddings() |
286 | | - docsearch = Chroma.from_documents(texts, embeddings) |
287 | | - |
288 | | - query = "What did the president say about Ketanji Brown Jackson" |
289 | | - |
290 | | - chain = RetrievalQA.from_chain_type( |
291 | | - llm, retriever=docsearch.as_retriever(), return_source_documents=True |
292 | | - ) |
293 | | - |
294 | | - chain(query, callbacks=[handler]) |
295 | | - |
296 | | - langfuse.flush() |
297 | | - |
298 | | - trace = get_api().trace.get(trace_id) |
299 | | - |
300 | | - assert len(trace.observations) == 6 |
301 | | - for observation in trace.observations: |
302 | | - if observation.type == "GENERATION": |
303 | | - assert observation.usage_details["input"] > 0 |
304 | | - assert observation.usage_details["output"] > 0 |
305 | | - assert observation.usage_details["total"] > 0 |
306 | | - assert observation.input is not None |
307 | | - assert observation.input != "" |
308 | | - assert observation.output is not None |
309 | | - assert observation.output != "" |
310 | | - |
311 | | - |
312 | 222 | def test_callback_retriever_conversational_with_memory(): |
313 | 223 | langfuse = Langfuse() |
314 | 224 |
|
@@ -347,54 +257,6 @@ def test_callback_retriever_conversational_with_memory(): |
347 | 257 | assert generation.usage_details["output"] is not None |
348 | 258 |
|
349 | 259 |
|
350 | | -def test_callback_retriever_conversational(): |
351 | | - langfuse = Langfuse() |
352 | | - |
353 | | - with langfuse.start_as_current_span(name="retriever_conversational_test") as span: |
354 | | - trace_id = span.trace_id |
355 | | - api_wrapper = LangfuseAPI() |
356 | | - handler = CallbackHandler() |
357 | | - |
358 | | - loader = TextLoader("./static/state_of_the_union.txt", encoding="utf8") |
359 | | - |
360 | | - documents = loader.load() |
361 | | - text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) |
362 | | - texts = text_splitter.split_documents(documents) |
363 | | - |
364 | | - embeddings = OpenAIEmbeddings(openai_api_key=os.environ.get("OPENAI_API_KEY")) |
365 | | - docsearch = Chroma.from_documents(texts, embeddings) |
366 | | - |
367 | | - query = "What did the president say about Ketanji Brown Jackson" |
368 | | - |
369 | | - chain = ConversationalRetrievalChain.from_llm( |
370 | | - ChatOpenAI( |
371 | | - openai_api_key=os.environ.get("OPENAI_API_KEY"), |
372 | | - temperature=0.5, |
373 | | - model="gpt-3.5-turbo-16k", |
374 | | - ), |
375 | | - docsearch.as_retriever(search_kwargs={"k": 6}), |
376 | | - return_source_documents=True, |
377 | | - ) |
378 | | - |
379 | | - chain({"question": query, "chat_history": []}, callbacks=[handler]) |
380 | | - |
381 | | - handler.client.flush() |
382 | | - |
383 | | - trace = api_wrapper.get_trace(trace_id) |
384 | | - |
385 | | - # Add 1 to account for the wrapping span |
386 | | - assert len(trace["observations"]) == 6 |
387 | | - for observation in trace["observations"]: |
388 | | - if observation["type"] == "GENERATION": |
389 | | - assert observation["promptTokens"] > 0 |
390 | | - assert observation["completionTokens"] > 0 |
391 | | - assert observation["totalTokens"] > 0 |
392 | | - assert observation["input"] is not None |
393 | | - assert observation["input"] != "" |
394 | | - assert observation["output"] is not None |
395 | | - assert observation["output"] != "" |
396 | | - |
397 | | - |
398 | 260 | def test_callback_simple_openai(): |
399 | 261 | langfuse = Langfuse() |
400 | 262 |
|
|
0 commit comments