Tagging documentation does not work with LlamaCpp or Ollama
Labels: name: auto:bug, name: area: models

### System Info

python = "=3.10.12"
llama-cpp-python = "=0.2.11"
langchain = "=0.0.313"


### Who can help?

@hwchase17 
@agola11 

### Information

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

### Related Components

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

### Reproduction

Run the [tagging docs]() with either `Ollama` or `llama-cpp-python` shown below.

```python
from langchain.chains import create_tagging_chain
from langchain.callbacks.manager import CallbackManager
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler  
from langchain.llms import LlamaCpp
from langchain.callbacks.manager import CallbackManager
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler

model_using = [YOUR MODEL PATH] / "llama-2-7b-chat.Q4_0.gguf"

callback_manager = CallbackManager([StreamingStdOutCallbackHandler()])

llm = LlamaCpp(
    model_path=model_using,
    n_gpu_layers=32,
    n_batch=512,
    f16_kv=True, 
    callback_manager=callback_manager,
    verbose=True,
    n_ctx=512,
    seed=42,
)
# Schema
schema = {
    "properties": {
        "sentiment": {"type": "string"},
        "aggressiveness": {"type": "integer"},
        "language": {"type": "string"},
    }
}

chain = create_tagging_chain(schema, llm)

inp = "Estoy increiblemente contento de haberte conocido! Creo que seremos muy buenos amigos!"
print(chain.run(inp))
```

Gives an error that OpenAI functions are not available.

```
Traceback (most recent call last):
  File "/Users/jak121/Git_repos/jk/20231016_langchain_tagging_issue.py", line 34, in <module>
    print(chain.run(inp))
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/chains/base.py", line 501, in run
    return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/chains/base.py", line 306, in __call__
    raise e
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/chains/base.py", line 300, in __call__
    self._call(inputs, run_manager=run_manager)
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/chains/llm.py", line 93, in _call
    response = self.generate([inputs], run_manager=run_manager)
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/chains/llm.py", line 103, in generate
    return self.llm.generate_prompt(
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/base.py", line 498, in generate_prompt
    return self.generate(prompt_strings, stop=stop, callbacks=callbacks, **kwargs)
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/base.py", line 647, in generate
    output = self._generate_helper(
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/base.py", line 535, in _generate_helper
    raise e
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/base.py", line 522, in _generate_helper
    self._generate(
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/base.py", line 1044, in _generate
    self._call(prompt, stop=stop, run_manager=run_manager, **kwargs)
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/llamacpp.py", line 291, in _call
    for chunk in self._stream(
  File "/Users/jak121/Git_repos/llm/env/lib/python3.10/site-packages/langchain/llms/llamacpp.py", line 343, in _stream
    result = self.client(prompt=prompt, stream=True, **params)
TypeError: Llama.__call__() got an unexpected keyword argument 'functions'
ggml_metal_free: deallocating
```

### Expected behavior

As per the docs: ` {'sentiment': 'positive', 'language': 'Spanish'}`