run_on_dataset: Errno 409 Client Error: Session already exists.
Labels: name: auto:bug, name: area: models

### System Info

langchain: 0.0.339
Python: 3.11.6

I followed instructions in 
[https://docs.smith.langchain.com/evaluation/evaluator-implementations](https://docs.smith.langchain.com/evaluation/evaluator-implementations)

`from langsmith import Client
from langchain.smith import RunEvalConfig, run_on_dataset

from backend.tools.self_query_tool import do_self_query

evaluation_config = RunEvalConfig(
    evaluators=[
        "cot_qa",
    ]
)

client = Client()
run_on_dataset(
    dataset_name="self_query_tool",
    llm_or_chain_factory=do_self_query,
    client=client,
    evaluation=evaluation_config,
    verbose=True,
    project_name="default",
)`

got this blob code. I used the langsmith UI to create a dataset and a single example.
However when i run the test with

python test/self_query_tool_test.py

i get 
`
  File "/home/dharshana/.local/share/virtualenvs/turners-virtual-assistant-QSiRQ3G1/lib/python3.11/site-packages/langsmith/client.py", line 1113, in create_project
    ls_utils.raise_for_status_with_text(response)
  File "/home/dharshana/.local/share/virtualenvs/turners-virtual-assistant-QSiRQ3G1/lib/python3.11/site-packages/langsmith/utils.py", line 85, in raise_for_status_with_text
    raise requests.HTTPError(str(e), response.text) from e
requests.exceptions.HTTPError: [Errno 409 Client Error: Conflict for url: https://api.langchain.plus/sessions] {"detail":"Session already exists."}
❯ 

`
I have never attempted an evaluation of my chain before. Im just calling a function which creates its own llm client and runs 

`llm = ChatOpenAI(temperature=0, model="gpt-4-1106-preview")
    retriever = SelfQueryRetriever.from_llm(
        llm,
        vectordb,
        document_content_description,
        metadata_field_info,
        enable_limit=True,
        verbose=True
    )`

Is there an issue with doign this? I have been using langsmith successfully to log my llm calls and agent actions

### Who can help?

_No response_

### Information

- [ ] The official example notebooks/scripts
- [ ] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [ ] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

Create a function which does 
`
    llm = ChatOpenAI(temperature=0, model="gpt-4-1106-preview")
    retriever = SelfQueryRetriever.from_llm(
        llm,
        vectordb,
        document_content_description,
        metadata_field_info,
        enable_limit=True,
        verbose=True
    )
`

then evaluate the function with 
`
evaluation_config = RunEvalConfig(
    evaluators=[
        "cot_qa",
    ]
)

client = Client()
run_on_dataset(
    dataset_name="self_query_tool",
    llm_or_chain_factory=do_self_query,
    client=client,
    evaluation=evaluation_config,
    verbose=True,
    project_name="default",
)
`

### Expected behavior

The function is evaluated with test results in the UI