telnyx-ai-inference-python

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- 由Telnyx OpenAPI规范自动生成,请勿编辑。 -->

Telnyx Ai Inference - Python

Telnyx Ai Inference - Python

Installation

安装

bash
pip install telnyx
bash
pip install telnyx

Setup

配置

python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
)
All examples below assume
client
is already initialized as shown above.
python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # 这是默认配置,可省略
)
以下所有示例均假设
client
已按上述方式初始化完成。

List conversations

列出对话

Retrieve a list of all AI conversations configured by the user.
GET /ai/conversations
python
conversations = client.ai.conversations.list()
print(conversations.data)
检索用户配置的所有AI对话列表。
GET /ai/conversations
python
conversations = client.ai.conversations.list()
print(conversations.data)

Create a conversation

创建对话

Create a new AI Conversation.
POST /ai/conversations
Optional:
metadata
(object),
name
(string)
python
conversation = client.ai.conversations.create()
print(conversation.id)
创建一个新的AI对话。
POST /ai/conversations
可选参数:
metadata
(对象)、
name
(字符串)
python
conversation = client.ai.conversations.create()
print(conversation.id)

Get Insight Template Groups

获取洞察模板组

Get all insight groups
GET /ai/conversations/insight-groups
python
page = client.ai.conversations.insight_groups.retrieve_insight_groups()
page = page.data[0]
print(page.id)
获取所有洞察组
GET /ai/conversations/insight-groups
python
page = client.ai.conversations.insight_groups.retrieve_insight_groups()
page = page.data[0]
print(page.id)

Create Insight Template Group

创建洞察模板组

Create a new insight group
POST /ai/conversations/insight-groups
— Required:
name
Optional:
description
(string),
webhook
(string)
python
insight_template_group_detail = client.ai.conversations.insight_groups.insight_groups(
    name="name",
)
print(insight_template_group_detail.data)
创建一个新的洞察组
POST /ai/conversations/insight-groups
— 必填参数:
name
可选参数:
description
(字符串)、
webhook
(字符串)
python
insight_template_group_detail = client.ai.conversations.insight_groups.insight_groups(
    name="name",
)
print(insight_template_group_detail.data)

Get Insight Template Group

获取指定洞察模板组

Get insight group by ID
GET /ai/conversations/insight-groups/{group_id}
python
insight_template_group_detail = client.ai.conversations.insight_groups.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_group_detail.data)
通过ID获取洞察组
GET /ai/conversations/insight-groups/{group_id}
python
insight_template_group_detail = client.ai.conversations.insight_groups.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_group_detail.data)

Update Insight Template Group

更新洞察模板组

Update an insight template group
PUT /ai/conversations/insight-groups/{group_id}
Optional:
description
(string),
name
(string),
webhook
(string)
python
insight_template_group_detail = client.ai.conversations.insight_groups.update(
    group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_group_detail.data)
更新洞察模板组信息
PUT /ai/conversations/insight-groups/{group_id}
可选参数:
description
(字符串)、
name
(字符串)、
webhook
(字符串)
python
insight_template_group_detail = client.ai.conversations.insight_groups.update(
    group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_group_detail.data)

Delete Insight Template Group

删除洞察模板组

Delete insight group by ID
DELETE /ai/conversations/insight-groups/{group_id}
python
client.ai.conversations.insight_groups.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
通过ID删除洞察组
DELETE /ai/conversations/insight-groups/{group_id}
python
client.ai.conversations.insight_groups.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)

Assign Insight Template To Group

为组分配洞察模板

Assign an insight to a group
POST /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assign
python
client.ai.conversations.insight_groups.insights.assign(
    insight_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
将洞察分配给指定组
POST /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assign
python
client.ai.conversations.insight_groups.insights.assign(
    insight_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)

Unassign Insight Template From Group

从组中移除洞察模板

Remove an insight from a group
DELETE /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassign
python
client.ai.conversations.insight_groups.insights.delete_unassign(
    insight_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
从组中移除指定洞察
DELETE /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassign
python
client.ai.conversations.insight_groups.insights.delete_unassign(
    insight_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    group_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)

Get Insight Templates

获取洞察模板

Get all insights
GET /ai/conversations/insights
python
page = client.ai.conversations.insights.list()
page = page.data[0]
print(page.id)
获取所有洞察模板
GET /ai/conversations/insights
python
page = client.ai.conversations.insights.list()
page = page.data[0]
print(page.id)

Create Insight Template

创建洞察模板

Create a new insight
POST /ai/conversations/insights
— Required:
instructions
,
name
Optional:
json_schema
(object),
webhook
(string)
python
insight_template_detail = client.ai.conversations.insights.create(
    instructions="instructions",
    name="name",
)
print(insight_template_detail.data)
创建一个新的洞察模板
POST /ai/conversations/insights
— 必填参数:
instructions
name
可选参数:
json_schema
(对象)、
webhook
(字符串)
python
insight_template_detail = client.ai.conversations.insights.create(
    instructions="instructions",
    name="name",
)
print(insight_template_detail.data)

Get Insight Template

获取指定洞察模板

Get insight by ID
GET /ai/conversations/insights/{insight_id}
python
insight_template_detail = client.ai.conversations.insights.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_detail.data)
通过ID获取洞察模板
GET /ai/conversations/insights/{insight_id}
python
insight_template_detail = client.ai.conversations.insights.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_detail.data)

Update Insight Template

更新洞察模板

Update an insight template
PUT /ai/conversations/insights/{insight_id}
Optional:
instructions
(string),
json_schema
(object),
name
(string),
webhook
(string)
python
insight_template_detail = client.ai.conversations.insights.update(
    insight_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_detail.data)
更新洞察模板信息
PUT /ai/conversations/insights/{insight_id}
可选参数:
instructions
(字符串)、
json_schema
(对象)、
name
(字符串)、
webhook
(字符串)
python
insight_template_detail = client.ai.conversations.insights.update(
    insight_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(insight_template_detail.data)

Delete Insight Template

删除洞察模板

Delete insight by ID
DELETE /ai/conversations/insights/{insight_id}
python
client.ai.conversations.insights.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
通过ID删除洞察模板
DELETE /ai/conversations/insights/{insight_id}
python
client.ai.conversations.insights.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)

Get a conversation

获取指定对话

Retrieve a specific AI conversation by its ID.
GET /ai/conversations/{conversation_id}
python
conversation = client.ai.conversations.retrieve(
    "conversation_id",
)
print(conversation.data)
通过ID检索特定的AI对话。
GET /ai/conversations/{conversation_id}
python
conversation = client.ai.conversations.retrieve(
    "conversation_id",
)
print(conversation.data)

Update conversation metadata

更新对话元数据

Update metadata for a specific conversation.
PUT /ai/conversations/{conversation_id}
Optional:
metadata
(object)
python
conversation = client.ai.conversations.update(
    conversation_id="conversation_id",
)
print(conversation.data)
更新指定对话的元数据。
PUT /ai/conversations/{conversation_id}
可选参数:
metadata
(对象)
python
conversation = client.ai.conversations.update(
    conversation_id="conversation_id",
)
print(conversation.data)

Delete a conversation

删除对话

Delete a specific conversation by its ID.
DELETE /ai/conversations/{conversation_id}
python
client.ai.conversations.delete(
    "conversation_id",
)
通过ID删除特定对话。
DELETE /ai/conversations/{conversation_id}
python
client.ai.conversations.delete(
    "conversation_id",
)

Get insights for a conversation

获取对话的洞察信息

Retrieve insights for a specific conversation
GET /ai/conversations/{conversation_id}/conversations-insights
python
response = client.ai.conversations.retrieve_conversations_insights(
    "conversation_id",
)
print(response.data)
检索指定对话的洞察信息
GET /ai/conversations/{conversation_id}/conversations-insights
python
response = client.ai.conversations.retrieve_conversations_insights(
    "conversation_id",
)
print(response.data)

Create Message

创建消息

Add a new message to the conversation.
POST /ai/conversations/{conversation_id}/message
— Required:
role
Optional:
content
(string),
metadata
(object),
name
(string),
sent_at
(date-time),
tool_call_id
(string),
tool_calls
(array[object]),
tool_choice
(object)
python
client.ai.conversations.add_message(
    conversation_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    role="role",
)
向对话中添加新消息。
POST /ai/conversations/{conversation_id}/message
— 必填参数:
role
可选参数:
content
(字符串)、
metadata
(对象)、
name
(字符串)、
sent_at
(日期时间)、
tool_call_id
(字符串)、
tool_calls
(对象数组)、
tool_choice
(对象)
python
client.ai.conversations.add_message(
    conversation_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    role="role",
)

Get conversation messages

获取对话消息

Retrieve messages for a specific conversation, including tool calls made by the assistant.
GET /ai/conversations/{conversation_id}/messages
python
messages = client.ai.conversations.messages.list(
    "conversation_id",
)
print(messages.data)
检索指定对话的消息,包括助手发起的工具调用。
GET /ai/conversations/{conversation_id}/messages
python
messages = client.ai.conversations.messages.list(
    "conversation_id",
)
print(messages.data)

Get Tasks by Status

按状态获取任务

Retrieve tasks for the user that are either
queued
,
processing
,
failed
,
success
or
partial_success
based on the query string.
GET /ai/embeddings
python
embeddings = client.ai.embeddings.list()
print(embeddings.data)
根据查询字符串检索用户的任务,状态包括
queued
(排队中)、
processing
(处理中)、
failed
(失败)、
success
(成功)或
partial_success
(部分成功)。
GET /ai/embeddings
python
embeddings = client.ai.embeddings.list()
print(embeddings.data)

Embed documents

嵌入文档

Perform embedding on a Telnyx Storage Bucket using an embedding model.
POST /ai/embeddings
— Required:
bucket_name
Optional:
document_chunk_overlap_size
(integer),
document_chunk_size
(integer),
embedding_model
(object),
loader
(object)
python
embedding_response = client.ai.embeddings.create(
    bucket_name="bucket_name",
)
print(embedding_response.data)
使用嵌入模型对Telnyx存储桶中的文档执行嵌入操作。
POST /ai/embeddings
— 必填参数:
bucket_name
可选参数:
document_chunk_overlap_size
(整数)、
document_chunk_size
(整数)、
embedding_model
(对象)、
loader
(对象)
python
embedding_response = client.ai.embeddings.create(
    bucket_name="bucket_name",
)
print(embedding_response.data)

List embedded buckets

列出已嵌入的存储桶

Get all embedding buckets for a user.
GET /ai/embeddings/buckets
python
buckets = client.ai.embeddings.buckets.list()
print(buckets.data)
获取用户的所有嵌入存储桶。
GET /ai/embeddings/buckets
python
buckets = client.ai.embeddings.buckets.list()
print(buckets.data)

Get file-level embedding statuses for a bucket

获取存储桶的文件级嵌入状态

Get all embedded files for a given user bucket, including their processing status.
GET /ai/embeddings/buckets/{bucket_name}
python
bucket = client.ai.embeddings.buckets.retrieve(
    "bucket_name",
)
print(bucket.data)
获取指定用户存储桶的所有已嵌入文件,包括它们的处理状态。
GET /ai/embeddings/buckets/{bucket_name}
python
bucket = client.ai.embeddings.buckets.retrieve(
    "bucket_name",
)
print(bucket.data)

Disable AI for an Embedded Bucket

禁用嵌入存储桶的AI功能

Deletes an entire bucket's embeddings and disables the bucket for AI-use, returning it to normal storage pricing.
DELETE /ai/embeddings/buckets/{bucket_name}
python
client.ai.embeddings.buckets.delete(
    "bucket_name",
)
删除整个存储桶的嵌入数据,并禁用该存储桶的AI使用权限,使其恢复为普通存储定价。
DELETE /ai/embeddings/buckets/{bucket_name}
python
client.ai.embeddings.buckets.delete(
    "bucket_name",
)

Search for documents

搜索文档

Perform a similarity search on a Telnyx Storage Bucket, returning the most similar
num_docs
document chunks to the query.
POST /ai/embeddings/similarity-search
— Required:
bucket_name
,
query
Optional:
num_of_docs
(integer)
python
response = client.ai.embeddings.similarity_search(
    bucket_name="bucket_name",
    query="query",
)
print(response.data)
对Telnyx存储桶执行相似性搜索,返回与查询内容最相似的
num_docs
个文档片段。
POST /ai/embeddings/similarity-search
— 必填参数:
bucket_name
query
可选参数:
num_of_docs
(整数)
python
response = client.ai.embeddings.similarity_search(
    bucket_name="bucket_name",
    query="query",
)
print(response.data)

Embed URL content

嵌入URL内容

Embed website content from a specified URL, including child pages up to 5 levels deep within the same domain.
POST /ai/embeddings/url
— Required:
url
,
bucket_name
python
embedding_response = client.ai.embeddings.url(
    bucket_name="bucket_name",
    url="url",
)
print(embedding_response.data)
嵌入指定URL的网站内容,包括同一域名下最多5级深度的子页面。
POST /ai/embeddings/url
— 必填参数:
url
bucket_name
python
embedding_response = client.ai.embeddings.url(
    bucket_name="bucket_name",
    url="url",
)
print(embedding_response.data)

Get an embedding task's status

获取嵌入任务的状态

Check the status of a current embedding task.
GET /ai/embeddings/{task_id}
python
embedding = client.ai.embeddings.retrieve(
    "task_id",
)
print(embedding.data)
检查当前嵌入任务的状态。
GET /ai/embeddings/{task_id}
python
embedding = client.ai.embeddings.retrieve(
    "task_id",
)
print(embedding.data)

List all clusters

列出所有聚类

GET /ai/clusters
python
page = client.ai.clusters.list()
page = page.data[0]
print(page.task_id)
GET /ai/clusters
python
page = client.ai.clusters.list()
page = page.data[0]
print(page.task_id)

Compute new clusters

计算新聚类

Starts a background task to compute how the data in an embedded storage bucket is clustered.
POST /ai/clusters
— Required:
bucket
Optional:
files
(array[string]),
min_cluster_size
(integer),
min_subcluster_size
(integer),
prefix
(string)
python
response = client.ai.clusters.compute(
    bucket="bucket",
)
print(response.data)
启动后台任务,计算嵌入存储桶中数据的聚类方式。
POST /ai/clusters
— 必填参数:
bucket
可选参数:
files
(字符串数组)、
min_cluster_size
(整数)、
min_subcluster_size
(整数)、
prefix
(字符串)
python
response = client.ai.clusters.compute(
    bucket="bucket",
)
print(response.data)

Fetch a cluster

获取指定聚类

GET /ai/clusters/{task_id}
python
cluster = client.ai.clusters.retrieve(
    task_id="task_id",
)
print(cluster.data)
GET /ai/clusters/{task_id}
python
cluster = client.ai.clusters.retrieve(
    task_id="task_id",
)
print(cluster.data)

Delete a cluster

删除聚类

DELETE /ai/clusters/{task_id}
python
client.ai.clusters.delete(
    "task_id",
)
DELETE /ai/clusters/{task_id}
python
client.ai.clusters.delete(
    "task_id",
)

Fetch a cluster visualization

获取聚类可视化图

GET /ai/clusters/{task_id}/graph
python
response = client.ai.clusters.fetch_graph(
    task_id="task_id",
)
print(response)
content = response.read()
print(content)
GET /ai/clusters/{task_id}/graph
python
response = client.ai.clusters.fetch_graph(
    task_id="task_id",
)
print(response)
content = response.read()
print(content)

Transcribe speech to text

语音转文字

Transcribe speech to text.
POST /ai/audio/transcriptions
python
response = client.ai.audio.transcribe(
    model="distil-whisper/distil-large-v2",
)
print(response.text)
将语音转录为文本。
POST /ai/audio/transcriptions
python
response = client.ai.audio.transcribe(
    model="distil-whisper/distil-large-v2",
)
print(response.text)

Create a chat completion

创建对话补全

Chat with a language model.
POST /ai/chat/completions
— Required:
messages
Optional:
api_key_ref
(string),
best_of
(integer),
early_stopping
(boolean),
frequency_penalty
(number),
guided_choice
(array[string]),
guided_json
(object),
guided_regex
(string),
length_penalty
(number),
logprobs
(boolean),
max_tokens
(integer),
min_p
(number),
model
(string),
n
(number),
presence_penalty
(number),
response_format
(object),
stream
(boolean),
temperature
(number),
tool_choice
(enum),
tools
(array[object]),
top_logprobs
(integer),
top_p
(number),
use_beam_search
(boolean)
python
response = client.ai.chat.create_completion(
    messages=[{
        "role": "system",
        "content": "You are a friendly chatbot.",
    }, {
        "role": "user",
        "content": "Hello, world!",
    }],
)
print(response)
与语言模型进行对话。
POST /ai/chat/completions
— 必填参数:
messages
可选参数:
api_key_ref
(字符串)、
best_of
(整数)、
early_stopping
(布尔值)、
frequency_penalty
(数字)、
guided_choice
(字符串数组)、
guided_json
(对象)、
guided_regex
(字符串)、
length_penalty
(数字)、
logprobs
(布尔值)、
max_tokens
(整数)、
min_p
(数字)、
model
(字符串)、
n
(数字)、
presence_penalty
(数字)、
response_format
(对象)、
stream
(布尔值)、
temperature
(数字)、
tool_choice
(枚举)、
tools
(对象数组)、
top_logprobs
(整数)、
top_p
(数字)、
use_beam_search
(布尔值)
python
response = client.ai.chat.create_completion(
    messages=[{
        "role": "system",
        "content": "You are a friendly chatbot.",
    }, {
        "role": "user",
        "content": "Hello, world!",
    }],
)
print(response)

List fine tuning jobs

列出微调任务

Retrieve a list of all fine tuning jobs created by the user.
GET /ai/fine_tuning/jobs
python
jobs = client.ai.fine_tuning.jobs.list()
print(jobs.data)
检索用户创建的所有微调任务列表。
GET /ai/fine_tuning/jobs
python
jobs = client.ai.fine_tuning.jobs.list()
print(jobs.data)

Create a fine tuning job

创建微调任务

Create a new fine tuning job.
POST /ai/fine_tuning/jobs
— Required:
model
,
training_file
Optional:
hyperparameters
(object),
suffix
(string)
python
fine_tuning_job = client.ai.fine_tuning.jobs.create(
    model="model",
    training_file="training_file",
)
print(fine_tuning_job.id)
创建一个新的微调任务。
POST /ai/fine_tuning/jobs
— 必填参数:
model
training_file
可选参数:
hyperparameters
(对象)、
suffix
(字符串)
python
fine_tuning_job = client.ai.fine_tuning.jobs.create(
    model="model",
    training_file="training_file",
)
print(fine_tuning_job.id)

Get a fine tuning job

获取指定微调任务

Retrieve a fine tuning job by
job_id
.
GET /ai/fine_tuning/jobs/{job_id}
python
fine_tuning_job = client.ai.fine_tuning.jobs.retrieve(
    "job_id",
)
print(fine_tuning_job.id)
通过
job_id
检索微调任务。
GET /ai/fine_tuning/jobs/{job_id}
python
fine_tuning_job = client.ai.fine_tuning.jobs.retrieve(
    "job_id",
)
print(fine_tuning_job.id)

Cancel a fine tuning job

取消微调任务

Cancel a fine tuning job.
POST /ai/fine_tuning/jobs/{job_id}/cancel
python
fine_tuning_job = client.ai.fine_tuning.jobs.cancel(
    "job_id",
)
print(fine_tuning_job.id)
取消指定微调任务。
POST /ai/fine_tuning/jobs/{job_id}/cancel
python
fine_tuning_job = client.ai.fine_tuning.jobs.cancel(
    "job_id",
)
print(fine_tuning_job.id)

Create embeddings

创建嵌入向量

Creates an embedding vector representing the input text.
POST /ai/openai/embeddings
— Required:
input
,
model
Optional:
dimensions
(integer),
encoding_format
(enum),
user
(string)
python
response = client.ai.openai.embeddings.create_embeddings(
    input="The quick brown fox jumps over the lazy dog",
    model="thenlper/gte-large",
)
print(response.data)
创建代表输入文本的嵌入向量。
POST /ai/openai/embeddings
— 必填参数:
input
model
可选参数:
dimensions
(整数)、
encoding_format
(枚举)、
user
(字符串)
python
response = client.ai.openai.embeddings.create_embeddings(
    input="The quick brown fox jumps over the lazy dog",
    model="thenlper/gte-large",
)
print(response.data)

List embedding models

列出嵌入模型

Returns a list of available embedding models.
GET /ai/openai/embeddings/models
python
response = client.ai.openai.embeddings.list_embedding_models()
print(response.data)
返回可用的嵌入模型列表。
GET /ai/openai/embeddings/models
python
response = client.ai.openai.embeddings.list_embedding_models()
print(response.data)

Get available models

获取可用模型

This endpoint returns a list of Open Source and OpenAI models that are available for use.
GET /ai/models
python
response = client.ai.retrieve_models()
print(response.data)
此端点返回可使用的开源模型和OpenAI模型列表。
GET /ai/models
python
response = client.ai.retrieve_models()
print(response.data)

Summarize file content

总结文件内容

Generate a summary of a file's contents.
POST /ai/summarize
— Required:
bucket
,
filename
Optional:
system_prompt
(string)
python
response = client.ai.summarize(
    bucket="bucket",
    filename="filename",
)
print(response.data)
生成文件内容的摘要。
POST /ai/summarize
— 必填参数:
bucket
filename
可选参数:
system_prompt
(字符串)
python
response = client.ai.summarize(
    bucket="bucket",
    filename="filename",
)
print(response.data)