Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prompt caching anthropic #29

Open
wants to merge 30 commits into
base: main
Choose a base branch
from

Conversation

fernandocratejoy
Copy link

Including input fields descriptions as long as examples into the prompt caching when using an Anthropic model. This allows to reduce costs avoiding repeated instructions and it can improve results when using more previous information to help the algorithm to decide a problem.

IMPORTANT: as for the prompt caching to properly work, the ChatAnthropic object passed on config['llm'] must be created with the following header passed on clientOptions parameter in the constructor method:

ANTHROPIC_PROMPT_CACHE_HEADERS = {
"defaultHeaders": {
"anthropic-beta": "prompt-caching-2024-07-31",
}
}

ChatAnthropic(..., clientOptions=ANTHROPIC_PROMPT_CACHE_HEADERS, ...)

The commit message is:

feat: Add Anthropic chat model integration

This change adds support for the Anthropic chat model in the LangChain project. It includes the following updates:

1. Created a new file `langchain/chat_models/anthropic.ts` to implement the `ChatAnthropic` class.
2. Updated `langchain/chat_models/index.ts` to export the new `ChatAnthropic` class.
3. Implemented the `_generate`, `_call`, and `_combineLLMOutput` methods in the `ChatAnthropic` class to handle the integration with the Anthropic API.
4. Added support for Anthropic-specific options and parameters in the `ChatAnthropicInput` interface.
5. Updated the `PromptRunner` class in `langdspy/prompt_runners.py` to support Anthropic models, including changes to the `_determine_llm_type` and `_determine_llm_model` methods.

This change allows users to utilize the Anthropic chat model in their LangChain-based applications, providing them with another option for language model integration.
For Anthropic, use the cache to add indication of examples and fields descriptions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant