# OpenAI Cookbook
The OpenAI Cookbook shares example code for accomplishing common tasks with the [OpenAI API].
To run these examples, you'll need an OpenAI account and API key ([create a free account][api signup]).
Most code examples are written in Python, though the concepts can be applied in any language.
[![Open in GitHub Codespaces ](https://github.com/codespaces/badge.svg )](https://github.com/codespaces/new?hide_repo_select=true& ref=main& repo=468576060& machine=basicLinux32gb& location=EastUs)
## Recently added or updated 🆕 ✨
- [How to create dynamic masks with DALL·E and Segment Anything ](examples/dalle/How_to_create_dynamic_masks_with_DALL-E_and_Segment_Anything.ipynb ) [May 19th, 2023]
- [Question answering using embeddings ](examples/Question_answering_using_embeddings.ipynb ) [Apr 14th, 2023]
- [Using vector databases for embeddings search ](examples/vector_databases/ ) [various dates]
- [Powering your products with ChatGPT and your own data ](apps/chatbot-kickstarter/powering_your_products_with_chatgpt_and_your_data.ipynb ) [Mar 10th, 2023]
- [How to format inputs to ChatGPT models ](examples/How_to_format_inputs_to_ChatGPT_models.ipynb ) [Mar 1st, 2023]
## Guides & examples
- API usage
- [How to handle rate limits ](examples/How_to_handle_rate_limits.ipynb )
- [Example parallel processing script that avoids hitting rate limits ](examples/api_request_parallel_processor.py )
- [How to count tokens with tiktoken ](examples/How_to_count_tokens_with_tiktoken.ipynb )
- [How to stream completions ](examples/How_to_stream_completions.ipynb )
- ChatGPT
- [How to format inputs to ChatGPT models ](examples/How_to_format_inputs_to_ChatGPT_models.ipynb )
- [Powering your products with ChatGPT and your own data ](apps/chatbot-kickstarter/powering_your_products_with_chatgpt_and_your_data.ipynb )
- GPT
- [Guide: How to work with large language models ](how_to_work_with_large_language_models.md )
- [Guide: Techniques to improve reliability ](techniques_to_improve_reliability.md )
- [How to use a multi-step prompt to write unit tests ](examples/Unit_test_writing_using_a_multi-step_prompt.ipynb )
- Embeddings
- [Text comparison examples ](text_comparison_examples.md )
- [How to get embeddings ](examples/Get_embeddings.ipynb )
- [Question answering using embeddings ](examples/Question_answering_using_embeddings.ipynb )
- [Using vector databases for embeddings search ](examples/vector_databases/Using_vector_databases_for_embeddings_search.ipynb )
- [Semantic search using embeddings ](examples/Semantic_text_search_using_embeddings.ipynb )
- [Recommendations using embeddings ](examples/Recommendation_using_embeddings.ipynb )
- [Clustering embeddings ](examples/Clustering.ipynb )
- [Visualizing embeddings in 2D ](examples/Visualizing_embeddings_in_2D.ipynb ) or [3D ](examples/Visualizing_embeddings_in_3D.ipynb )
- [Embedding long texts ](examples/Embedding_long_inputs.ipynb )
- Fine-tuning GPT-3
- [Guide: best practices for fine-tuning GPT-3 to classify text ](https://docs.google.com/document/d/1rqj7dkuvl7Byd5KQPUJRxc19BJt8wo0yHNwK84KfU3Q/edit )
- [Fine-tuned classification ](examples/Fine-tuned_classification.ipynb )
- DALL-E
- [How to generate and edit images with DALL·E ](examples/dalle/Image_generations_edits_and_variations_with_DALL-E.ipynb )
- [How to create dynamic masks with DALL·E and Segment Anything ](examples/dalle/How_to_create_dynamic_masks_with_DALL-E_and_Segment_Anything.ipynb )
- Azure OpenAI (alternative API from Microsoft Azure)
- [How to use ChatGPT with Azure OpenAI ](examples/azure/chat.ipynb )
- [How to get completions from Azure OpenAI ](examples/azure/completions.ipynb )
- [How to get embeddings from Azure OpenAI ](examples/azure/embeddings.ipynb )
- [How to fine-tune GPT-3 with Azure OpenAI ](examples/azure/finetuning.ipynb )
- Apps
- [File Q and A ](apps/file-q-and-a/ )
- [Web Crawl Q and A ](apps/web-crawl-q-and-a )
## Related resources
Beyond the code examples here, you can learn about the [OpenAI API] from the following resources:
- Experiment with [ChatGPT]
- Try out the API in the [OpenAI Playground]
- Read about the API in the [OpenAI Documentation]
- Discuss the API in the [OpenAI Community Forum]
- Look for help in the [OpenAI Help Center]
- See example prompts in the [OpenAI Examples]
- Stay up to date with the [OpenAI Blog]
## Contributing
If there are examples or guides you'd like to see, feel free to suggest them on the [issues page].
[chatgpt]: https://chat.openai.com/
[openai api]: https://openai.com/api/
[api signup]: https://beta.openai.com/signup
[openai playground]: https://beta.openai.com/playground
[openai documentation]: https://beta.openai.com/docs/introduction
[openai community forum]: https://community.openai.com/top?period=monthly
[openai help center]: https://help.openai.com/en/
[openai examples]: https://beta.openai.com/examples
[openai blog]: https://openai.com/blog/
[issues page]: https://github.com/openai/openai-cookbook/issues