> ## Documentation Index
> Fetch the complete documentation index at: https://docs.socialvision.tisyk.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Python SDK 与代码集成指南

> 精选 Python 基础对话、流式输出、函数调用与图片识别调用合集

## Python基础对话

[您可以通过任何语言的 HTTP 请求、我们的官方 Python 绑定、我们的官方 Node.js 库或社区维护的库](https://platform.openai.com/docs/libraries/community-libraries)与 API 交互。

要安装官方 Python 绑定，请运行以下命令：

```bash theme={null}
pip install openai
```

```python theme={null}
key='sk-xxxx'


from openai import OpenAI

client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key=key
)

response = client.chat.completions.create(
  model="gpt-4o",
  messages=[
    {"role": "user", "content": "你好?"},

  ],
  timeout=100,

)
print(response)
```

***

## python 连续对话

```python theme={null}
import openai
import time

# 打印openai的版本
print(openai.__version__)

client = openai.OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key="sk-xxx"
)

messages = [
    {"role": "system", "content": "You are a helpful assistant."}
]

while True:
    user_input = input("You: ")
    messages.append({"role": "user", "content": user_input})

    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        temperature=1
    )

    assistant_response = response.choices[0].message.content
    print(f"Assistant: {assistant_response}")

    messages.append({"role": "assistant", "content": assistant_response})
    time.sleep(1)
```

***

## python llama\_index 配置

```python theme={null}
from llama_index.llms.openai import OpenAI

llm = OpenAI(
    model="gpt-3.5-turbo",
    api_key="sk-xxxxx",
    api_base="https://socialvision.tisyk.xyz/v1")
ret=llm.complete("Paul Graham is ")
print(ret)



```

***

## python 调用DALL·E

## 功能概述

API 提供三种主要功能：

1. 🎨 文本生成图像 (DALL·E 3 和 DALL·E 2)
2. ✏️ 图像编辑 (仅 DALL·E 2)
3. 🔄 图像变体生成 (仅 DALL·E 2)

## 1. 图像生成

### 基础使用

```python theme={null}
from openai import OpenAI
client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key=key
)

response = client.images.generate(
  model="dall-e-3",
  prompt="a white siamese cat",
  size="1024x1024",
  quality="standard",
  n=1,
)

image_url = response.data[0].url
```

### 参数说明

* **尺寸选项**：1024x1024、1024x1792、1792x1024
* **质量选项**：standard(默认)、hd(DALL·E 3专属)
* **数量限制**：
  * DALL·E 3：单次1张
  * DALL·E 2：单次最多10张

## 2. 图像编辑 (DALL·E 2)

### 使用示例

```python theme={null}
from openai import OpenAI
client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key=key
)

response = client.images.edit((
  model="dall-e-2",
  image=open("sunlit_lounge.png", "rb"),
  mask=open("mask.png", "rb"),
  prompt="A sunlit indoor lounge area with a pool containing a flamingo",
  n=1,
  size="1024x1024"
)
image_url = response.data[0].url
```

### 要求说明

* 📝 图片和蒙版必须为PNG格式
* 📏 必须为方形图片
* 💾 文件大小\<4MB
* ⚖️ 图片和蒙版尺寸必须相同

## 3. 图像变体生成 (DALL·E 2)

### 使用示例

```python theme={null}
from openai import OpenAI
client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key=key
)

response = client.images.create_variation(
  model="dall-e-2",
  image=open("corgi_and_cat_paw.png", "rb"),
  n=1,
  size="1024x1024"
)

image_url = response.data[0].url
```

### 技术要求

* 📝 PNG格式
* 📏 方形图片
* 💾 文件大小\<4MB

## 提示技巧

### DALL·E 3 特性

* 自动优化提示
* 可通过特殊指令控制提示优化：

```
I NEED to test how the tool works with extremely simple prompts. 
DO NOT add any detail, just use it AS-IS:
```

## 注意事项

### 内容审核

* 严格遵循内容政策
* 违规内容将返回错误

### 图片URL

* 有效期为1小时
* 可选择Base64格式返回

***

## python 使用Embeddings 向量化

## 概述

### 新模型发布

* **text-embedding-3-small**
* **text-embedding-3-large**
  特点：更低成本、更好的多语言性能、可控制维度

### 主要应用场景

* 🔍 搜索（相关性排序）
* 📊 聚类（相似性分组）
* 👍 推荐系统
* ⚠️ 异常检测
* 📈 多样性分析
* 🏷️ 文本分类

## 基础使用

### 获取嵌入向量

```python theme={null}
from openai import OpenAI
client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key=key
)

response = client.embeddings.create(
    input="Your text string goes here",
    model="text-embedding-3-small"
)

print(response.data[0].embedding)
```

### 响应格式

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        -0.006929283495992422,
        -0.005336422007530928,
        // ... 更多数值
      ],
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 5,
    "total_tokens": 5
  }
}
```

## 模型对比

| 模型 | 每美元页面数 | MTEB性能评估 | 最大输入 |
| - | - | - | - |
| text-embedding-3-small | 62,500 | 62.3% | 8191 |
| text-embedding-3-large | 9,615 | 64.6% | 8191 |
| text-embedding-ada-002 | 12,500 | 61.0% | 8191 |

## 实际应用示例

### 处理评论数据

```python theme={null}
from openai import OpenAI
client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key=key
)

def get_embedding(text, model="text-embedding-3-small"):
   text = text.replace("\n", " ")
   return client.embeddings.create(input = [text], model=model).data[0].embedding

# 处理数据框
df['ada_embedding'] = df.combined.apply(lambda x: get_embedding(x, model='text-embedding-3-small'))
df.to_csv('output/embedded_1k_reviews.csv', index=False)

# 加载保存的嵌入
import pandas as pd
import numpy as np

df = pd.read_csv('output/embedded_1k_reviews.csv')
df['ada_embedding'] = df.ada_embedding.apply(eval).apply(np.array)
```

## 技术细节

### 维度说明

* text-embedding-3-small: 默认1536维
* text-embedding-3-large: 默认3072维
* 可通过 Dimensions 参数调整维度

### 注意事项

* 计费基于输入令牌数
* 每页约800个令牌
* 所有模型最大输入均为8191个令牌

***

## python openai官方库（使用AutoGPT，langchain等）

## 方法一：直接配置 OpenAI

```python theme={null}
import openai

# 设置 API 基础地址和密钥
openai.api_base = "https://socialvision.tisyk.xyz/v1"
openai.api_key = "sk-xxxxxxxxx"
```

## 方法二：环境变量配置

> 如果方法一不起作用，可以尝试此方法

需要设置以下环境变量：

```bash theme={null}
OPENAI_API_BASE=https://socialvision.tisyk.xyz/v1
OPENAI_API_KEY=sk-xxxxx
```

> **注意**：修改环境变量后如不起作用，请重启系统

## 方法三：使用 OpenAI 客户端

```python theme={null}
from openai import OpenAI

# 初始化客户端
client = OpenAI(
    base_url="https://socialvision.tisyk.xyz/v1",
    api_key='您的API KEY',
    timeout=120
)

# 创建聊天完成
response = client.chat.completions.create(
  model="gpt-4o",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Who won the world series in 2020?"},
    {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
    {"role": "user", "content": "Where was it played?"}
  ]
)
print(response)

#response格式

response = client.responses.create(
    model="gpt-5",
    input="Write a one-sentence bedtime story about a unicorn."
)

print(response.output_text)
```

***

## python request 请求 流式输出demo

```python theme={null}
import requests
import json

url = "https://socialvision.tisyk.xyz/v1/chat/completions"

payload = json.dumps({
   "model": "o1-preview",
   "messages": [
      {
         "role": "user",
         "content": "写一个小情书"
      }
   ],
   "stream": True
})
headers = {
   'Accept': 'text/event-stream',
   'Authorization': 'Bearer 你的key',
   'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload, stream=True)

for line in response.iter_lines():
    if line:
        # 跳过空行
        line = line.decode('utf-8')
        if line.startswith('data: '):
            if line == 'data: [DONE]':
                break
            # 解析JSON数据
            data = json.loads(line[6:])  # 去掉 "data: " 前缀
            if 'choices' in data and len(data['choices']) > 0:
                delta = data['choices'][0].get('delta', {})
                if 'content' in delta:
                    print(delta['content'], end='', flush=True)
```

***

## python 简单langchain 调用openai demo

## 识别链接格式图片

```js theme={null}
pip install langchain_openai
pip install langchain
```

```python theme={null}
#新版本langchina
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    openai_api_base="https://socialvision.tisyk.xyz/v1",
    openai_api_key="sk-xxxxx"
)

res = llm.invoke("hello")
print(res.content)


#老版本langchina  通过设置环境变量的形式设置中转地址
$env:OPENAI_BASE_URL="https://socialvision.tisyk.xyz/v1"
$env:OPENAI_API_KEY="sk-xxxxx"

```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.