thevgergroup / langchain-logger

A Chain of Thought logger for langchain
MIT License
9 stars 0 forks source link

log file is empty #1

Open Lindesfahl opened 8 months ago

Lindesfahl commented 8 months ago

Hello, i am very new in the LLM usage and CrewAI . I tried the langchain-logger with the following code, but my logfile stays empty after a somehow successfull run:

import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool
from crewai import Agent, Task, Crew, Process
from langchain_openai import ChatOpenAI
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_community import tools
from langchain.tools import Tool
from langchain.agents import tools
from langchain.agents import load_tools

from langchain_logger.callback import ChainOfThoughtCallbackHandler
import logging

import asyncio
from asyncio import WindowsSelectorEventLoopPolicy

# Setzt die Event-Loop-Policy für Windows, um die Warnung zu vermeiden
if isinstance(asyncio.get_event_loop_policy(), asyncio.WindowsProactorEventLoopPolicy):
    asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())

# Set up logging for the example
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)

# Create the Chain of Thought callback handler
cot = ChainOfThoughtCallbackHandler(logger=logger)

llm_lmstudio = ChatOpenAI(
    openai_api_base="http://localhost:1234/v1",
    openai_api_key="not needed",
    callbacks=[cot]
)

search_tool = SerperDevTool()
search_query = "Methods of CrewAI -  Attributes of Agents and Tasks"

# Definieren der Agenten
researcher = Agent(
    role='Leitender Recherchenanalyst',
    goal='Finde Informationen zur Aufgabenbeschreibung ',
    backstory='Als Leitender Recherchenanalyst durchsuche ich das Internet nach Informationen,\
     die im Kontext zu meiner task stehen und sammelst details dazu',
    llm=llm_lmstudio,
    verbose=True,
    allow_delegation=False,
    tools=[search_tool]
)

writer = Agent(
    role='Tech Content Strategist',
    goal=f'Verfasse einen zusammenfassenden Abstrakt basierend auf der Recherche: \
    Stelle alle Urls für {search_query}, mit Kurzbeschreibung',
    backstory='Als Tech Content Strategist kreiere ich einprägsame und informative Inhalte, \
    die komplexe Informationen zugänglich und verständlich machen.Du benutzt kein Werkzeug!!! ',
    llm=llm_lmstudio,
    verbose=True,
    allow_delegation=False
)

# Definieren der Aufgaben
task1 = Task(
    description=f'Suche nach : {search_query}.',
    expected_output='Dein Endresultat MUSS eine detaillierte Zusammenfassung der Suchergebnisse sein.',
    agent=researcher
)
task2 = Task(
    description='Schreibe einen vollständigen Abstrakt basierend auf den Suchergebnissen.',
    expected_output='Dein Endresultat MUSS ein zusammenfassender Abstrakt sein, basierend auf den Suchergebnissen.',
    context=[task1],
    agent=writer
)

# Crew-Setup
crew = Crew(
    agents=[researcher, writer],
    tasks=[task1, task2],
    verbose=True
    # process=Process.sequential
)

# Starten der Crew-Arbeit
result = crew.kickoff()
print(result)

May be i do something wrong? I did not use the Flask example(simply i didnt get it to run, need some time to learn about Flask) Greetings Chorum/Lindesfahl

pjaol commented 7 months ago

Can you do

pip show langchain-openai
pip show langchain

So i know what version you've got