# OpenAI Python Library
The OpenAI Python library provides convenient access to the OpenAI API
from applications written in the Python language. It includes a
pre-defined set of classes for API resources that initialize
themselves dynamically from API responses which makes it compatible
with a wide range of versions of the OpenAI API.
You can find usage examples for the OpenAI Python library in our [API reference](https://beta.openai.com/docs/api-reference?lang=python) and the [OpenAI Cookbook](https://github.com/openai/openai-cookbook/).
## Installation
You don't need this source code unless you want to modify the package. If you just
want to use the package, just run:
```sh
pip install --upgrade openai
```
Install from source with:
```sh
python setup.py install
```
### Optional dependencies
Install dependencies for [`openai.embeddings_utils`](openai/embeddings_utils.py):
```sh
pip install openai[embeddings]
```
Install support for [Weights & Biases](https://wandb.me/openai-docs):
```
pip install openai[wandb]
```
Data libraries like `numpy` and `pandas` are not installed by default due to their size. They’re needed for some functionality of this library, but generally not for talking to the API. If you encounter a `MissingDependencyError`, install them with:
```sh
pip install openai[datalib]
````
## Usage
The library needs to be configured with your account's secret key which is available on the [website](https://platform.openai.com/account/api-keys). Either set it as the `OPENAI_API_KEY` environment variable before using the library:
```bash
export OPENAI_API_KEY='sk-...'
```
Or set `openai.api_key` to its value:
```python
import openai
openai.api_key = "sk-..."
# list models
models = openai.Model.list()
# print the first model's id
print(models.data[0].id)
# create a completion
completion = openai.Completion.create(model="ada", prompt="Hello world")
# print the completion
print(completion.choices[0].text)
```
### Params
All endpoints have a `.create` method that supports a `request_timeout` param. This param takes a `Union[float, Tuple[float, float]]` and will raise an `openai.error.Timeout` error if the request exceeds that time in seconds (See: https://requests.readthedocs.io/en/latest/user/quickstart/#timeouts).
### Microsoft Azure Endpoints
In order to use the library with Microsoft Azure endpoints, you need to set the `api_type`, `api_base` and `api_version` in addition to the `api_key`. The `api_type` must be set to 'azure' and the others correspond to the properties of your endpoint.
In addition, the deployment name must be passed as the engine parameter.
```python
import openai
openai.api_type = "azure"
openai.api_key = "..."
openai.api_base = "https://example-endpoint.openai.azure.com"
openai.api_version = "2023-03-15-preview"
# create a completion
completion = openai.Completion.create(deployment_id="deployment-name", prompt="Hello world")
# print the completion
print(completion.choices[0].text)
```
Please note that for the moment, the Microsoft Azure endpoints can only be used for completion, embedding, and fine-tuning operations.
For a detailed example of how to use fine-tuning and other operations using Azure endpoints, please check out the following Jupyter notebooks:
* [Using Azure completions](https://github.com/openai/openai-cookbook/tree/main/examples/azure/completions.ipynb)
* [Using Azure fine-tuning](https://github.com/openai/openai-cookbook/tree/main/examples/azure/finetuning.ipynb)
* [Using Azure embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/azure/embeddings.ipynb)
### Microsoft Azure Active Directory Authentication
In order to use Microsoft Active Directory to authenticate to your Azure endpoint, you need to set the `api_type` to "azure_ad" and pass the acquired credential token to `api_key`. The rest of the parameters need to be set as specified in the previous section.
```python
from azure.identity import DefaultAzureCredential
import openai
# Request credential
default_credential = DefaultAzureCredential()
token = default_credential.get_token("https://cognitiveservices.azure.com/.default")
# Setup parameters
openai.api_type = "azure_ad"
openai.api_key = token.token
openai.api_base = "https://example-endpoint.openai.azure.com/"
openai.api_version = "2023-03-15-preview"
# ...
```
### Command-line interface
This library additionally provides an `openai` command-line utility
which makes it easy to interact with the API from your terminal. Run
`openai api -h` for usage.
```sh
# list models
openai api models.list
# create a completion
openai api completions.create -m ada -p "Hello world"
# create a chat completion
openai api chat_completions.create -m gpt-3.5-turbo -g user "Hello world"
# generate images via DALL·E API
openai api image.create -p "two dogs playing chess, cartoon" -n 1
```
## Example code
Examples of how to use this Python library to accomplish various tasks can be found in the [OpenAI Cookbook](https://github.com/openai/openai-cookbook/). It contains code examples for:
* Classification using fine-tuning
* Clustering
* Code search
* Customizing embeddings
* Question answering from a corpus of documents
* Recommendations
* Visualization of embeddings
* And more
Prior to July 2022, this OpenAI Python library hosted code examples in its examples folder, but since then all examples have been migrated to the [OpenAI Cookbook](https://github.com/openai/openai-cookbook/).
### Chat
Conversational models such as `gpt-3.5-turbo` can be called using the chat completions endpoint.
```python
import openai
openai.api_key = "sk-..." # supply your API key however you choose
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world!"}])
print(completion.choices[0].message.content)
```
### Embeddings
In the OpenAI Python library, an embedding represents a text string as a fixed-length vector of floating point numbers. Embeddings are designed to measure the similarity or relevance between text strings.
To get an embedding for a text string, you can use the embeddings method as follows in Python:
```python
import openai
openai.api_key = "sk-..." # supply your API key however you choose
# choose text to embed
text_string = "sample text"
# choose an embedding
model_id = "text-similarity-davinci-001"
# compute the embedding of the text
embedding = openai.Embedding.create(input=text_string, model=model_id)['data'][0]['embedding']
```
An example of how to call the embeddings method is shown in this [get embeddings notebook](https://github.com/openai/openai-cookbook/blob/main/examples/Get_embeddings.ipynb).
Examples of how to use embeddings are shared in the following Jupyter notebooks:
- [Classification using embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/Classification_using_embeddings.ipynb)
- [Clustering using embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/Clustering.ipynb)
- [Code search using embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/Code_search.ipynb)
- [Semantic text search using embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/Semantic_text_search_using_embeddings.ipynb)
- [User and product embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/User_and_product_embeddings.ipynb)
- [Zero-shot classification using embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/Zero-shot_classification_with_embeddings.ipynb)
- [Recommendation using embeddings](https://github.com/openai/openai-cookbook/blob/main/examples/Recommendation_using_embeddings.ipynb)
For more information on embeddings and the types of embeddings OpenAI offers, read the [embeddings guide](https://beta.openai.com/docs/guides/embeddings) in the OpenAI documentation.
### Fine-tuning
Fine-tuning a model on training data can both improve the results (by giving the model more exa
没有合适的资源?快使用搜索试试~ 我知道了~
openai-python-main
共86个文件
py:54个
ipynb:18个
yml:3个
需积分: 8 1 下载量 78 浏览量
2023-04-13
14:22:00
上传
评论
收藏 89KB ZIP 举报
温馨提示
openai-python-main
资源推荐
资源详情
资源评论
收起资源包目录
openai-python-main.zip (86个子文件)
openai-python-main
setup.py 38B
.github
ISSUE_TEMPLATE
feature_request.yml 798B
bug_report.yml 1KB
config.yml 359B
pytest.ini 139B
Makefile 187B
LICENSE 1KB
openai
__init__.py 2KB
wandb_logger.py 10KB
datalib.py 1KB
validators.py 33KB
version.py 19B
_openai_scripts.py 2KB
util.py 5KB
tests
__init__.py 0B
test_api_requestor.py 2KB
test_url_composition.py 6KB
test_util.py 797B
test_exceptions.py 1KB
asyncio
__init__.py 0B
test_endpoints.py 2KB
test_file_cli.py 1KB
test_long_examples_validator.py 2KB
test_endpoints.py 2KB
py.typed 0B
upload_progress.py 1KB
embeddings_utils.py 8KB
api_requestor.py 22KB
object_classes.py 379B
api_resources
__init__.py 907B
embedding.py 3KB
customer.py 539B
abstract
__init__.py 540B
deletable_api_resource.py 2KB
createable_api_resource.py 3KB
engine_api_resource.py 10KB
nested_resource_class_methods.py 5KB
api_resource.py 5KB
listable_api_resource.py 3KB
updateable_api_resource.py 534B
deployment.py 4KB
image.py 6KB
experimental
__init__.py 104B
completion_config.py 274B
moderation.py 1KB
error_object.py 892B
file.py 8KB
model.py 169B
edit.py 2KB
fine_tune.py 5KB
audio.py 7KB
engine.py 2KB
chat_completion.py 2KB
completion.py 2KB
openai_object.py 11KB
cli.py 37KB
openai_response.py 536B
error.py 4KB
examples
embeddings
Get_embeddings.ipynb 919B
Recommendation.ipynb 951B
Regression.ipynb 945B
Semantic_text_search_using_embeddings.ipynb 965B
Clustering.ipynb 911B
Visualize_in_3d.ipynb 946B
Zero-shot_classification.ipynb 971B
User_and_product_embeddings.ipynb 945B
Code_search.ipynb 913B
Classification.ipynb 953B
Obtain_dataset.ipynb 919B
Visualize_in_2d.ipynb 947B
finetuning
olympics-3-train-qa.ipynb 906B
olympics-2-create-qa.ipynb 906B
olympics-1-collect-data.ipynb 906B
answers_with_ft.py 225B
finetuning-classification.ipynb 941B
azure
finetuning.ipynb 923B
embeddings.ipynb 923B
README.md 624B
codex
backtranslation.py 262B
chatml.md 4KB
public
setup.py 393B
Makefile 114B
pyproject.toml 244B
.gitignore 193B
setup.cfg 2KB
README.md 11KB
共 86 条
- 1
资源评论
D·星星
- 粉丝: 0
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功