示例代码

艾塔达克 API 使用示例和最佳实践

示例代码

本页面提供了艾塔达克 API 的各种使用示例,帮助您快速上手。

对话应用

简单对话

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个有帮助的助手。"},
        {"role": "user", "content": "请介绍一下人工智能的发展历史。"}
    ]
)

print(response.choices[0].message.content)

流式响应

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "写一首关于春天的诗"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

多轮对话

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

# 维护对话历史
messages = [
    {"role": "system", "content": "你是一个编程助手。"}
]

def chat(user_input):
    messages.append({"role": "user", "content": user_input})
    
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages
    )
    
    assistant_message = response.choices[0].message.content
    messages.append({"role": "assistant", "content": assistant_message})
    
    return assistant_message

# 使用示例
print(chat("Python 的列表和元组有什么区别?"))
print(chat("那字典呢?"))
print(chat("给我一个综合使用这三种数据结构的例子"))

图像处理

图像识别

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

response = client.vision.recognize(
    image="https://example.com/photo.jpg",
    features=["labels", "objects", "text"]
)

print("识别到的标签:", response.labels)
print("检测到的物体:", response.objects)
print("识别到的文字:", response.text)

图像生成

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

response = client.vision.generate(
    prompt="一只可爱的机器猫,赛博朋克风格,霓虹灯背景",
    size="1024x1024",
    style="artistic"
)

print("生成的图像:", response.images[0].url)

语音处理

语音转文字

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

with open("audio.mp3", "rb") as audio_file:
    response = client.speech.transcribe(
        file=audio_file,
        language="zh-CN",
        timestamps=True
    )

print("识别结果:", response.text)
for segment in response.segments:
    print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text}")

文字转语音

from atdak import Atdak

client = Atdak(api_key="YOUR_API_KEY")

response = client.speech.synthesize(
    text="欢迎使用艾塔达克 AI 服务平台",
    voice="zh-CN-XiaoxiaoNeural",
    format="mp3"
)

with open("output.mp3", "wb") as f:
    f.write(response.content)

向量嵌入

语义搜索

from atdak import Atdak
import numpy as np

client = Atdak(api_key="YOUR_API_KEY")

# 文档库
documents = [
    "艾塔达克提供企业级 AI 云服务",
    "我们的 API 简单易用,几行代码即可接入",
    "支持 GPT-4、Claude 等主流大模型",
    "边缘计算设备可以本地部署 AI 能力"
]

# 创建文档向量
doc_embeddings = client.embeddings.create(
    model="text-embedding-v3",
    input=documents
)

# 用户查询
query = "如何在本地运行 AI 模型?"
query_embedding = client.embeddings.create(
    model="text-embedding-v3",
    input=[query]
).data[0].embedding

# 计算相似度并排序
def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

similarities = []
for i, doc_emb in enumerate(doc_embeddings.data):
    sim = cosine_similarity(query_embedding, doc_emb.embedding)
    similarities.append((i, sim))

# 返回最相关的文档
similarities.sort(key=lambda x: x[1], reverse=True)
print(f"最相关的文档: {documents[similarities[0][0]]}")

完整应用示例

AI 客服机器人

from atdak import Atdak
from flask import Flask, request, jsonify

app = Flask(__name__)
client = Atdak(api_key="YOUR_API_KEY")

SYSTEM_PROMPT = """你是艾塔达克的智能客服助手。你需要:
1. 友好、专业地回答用户问题
2. 提供关于产品和服务的准确信息
3. 遇到无法回答的问题,建议用户联系人工客服
"""

@app.route("/chat", methods=["POST"])
def chat():
    user_message = request.json.get("message")
    
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": user_message}
        ],
        temperature=0.7
    )
    
    return jsonify({
        "reply": response.choices[0].message.content
    })

if __name__ == "__main__":
    app.run(port=5000)

相关链接