安装LangChain及相关依赖

确保Python环境(建议3.8+),安装LangChain核心库及常用扩展:

pip install langchain openai faiss-cpu tiktoken

若需使用本地模型(如Llama2),需额外安装llama-cpp-python

pip install llama-cpp-python

准备知识库数据

将文档(PDF/TXT/Markdown等)统一存放于./data目录,支持以下预处理方式:

  • 使用UnstructuredFileLoader拆分文本为片段
  • 对长文本按固定长度分块(建议500-1000字符)
  • 通过RecursiveCharacterTextSplitter保留上下文关联

示例代码:

from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter

loader = DirectoryLoader('./data', glob="**/*.txt")
docs = loader.load()
text_splitter = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=100)
chunks = text_splitter.split_documents(docs)

构建向量数据库

选择嵌入模型(OpenAI或HuggingFace)和向量数据库(FAISS/Chroma):

from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS

embeddings = OpenAIEmbeddings(model="text-embedding-ada-002")
db = FAISS.from_documents(chunks, embeddings)
db.save_local("my_vectorstore")

设计检索增强生成链

结合检索器与LLM(如GPT-3.5或本地模型):

from langchain.chains import RetrievalQA
from langchain.llms import OpenAI

retriever = db.as_retriever(search_kwargs={"k": 3})
qa_chain = RetrievalQA.from_chain_type(
    llm=OpenAI(temperature=0),
    chain_type="stuff",
    retriever=retriever
)

实现交互式查询

添加记忆功能支持多轮对话:

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory()
conversation = ConversationChain(llm=OpenAI(), memory=memory)

while True:
    query = input("User: ")
    if query.lower() == 'exit':
        break
    result = qa_chain({"query": query})
    print("AI:", result["result"])

高级优化技巧

  1. 混合检索:结合关键词搜索与语义搜索

    from langchain.retrievers import BM25Retriever, EnsembleRetriever
    bm25_retriever = BM25Retriever.from_documents(chunks)
    ensemble_retriever = EnsembleRetriever(
        retrievers=[bm25_retriever, db.as_retriever()],
        weights=[0.4, 0.6]
    )
    

  2. 查询重写:使用LLM优化原始查询

    from langchain.chains.query_constructor.base import AttributeInfo
    metadata_field_info = [AttributeInfo(name="source", description="文档来源", type="string")]
    

  3. 分级响应:设置置信度阈值,低置信时要求用户澄清

部署方案

  1. 本地API服务:使用FastAPI封装

    from fastapi import FastAPI
    app = FastAPI()
    @app.post("/ask")
    def ask_question(question: str):
        return qa_chain.run(question)
    

  2. Gradio可视化:快速构建DEMO界面

    import gradio as gr
    demo = gr.Interface(fn=qa_chain.run, inputs="text", outputs="text")
    demo.launch()
    

  3. Docker容器化:制作生产环境镜像

    FROM python:3.9
    COPY . /app
    WORKDIR /app
    RUN pip install -r requirements.txt
    CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
    

性能监控指标

  1. 检索召回率@K
  2. 响应延迟百分位(P90/P99)
  3. 每次查询的Token消耗
  4. 用户满意度评分(可集成反馈按钮)

常见问题排查:

  • 处理OOV词:添加自定义术语表
  • 解决幻觉回答:设置max_tokens和温度参数
  • 优化分块策略:测试不同chunk_size对结果的影响

https://github.com/tw543/n/issues/301

https://github.com/yu654r/7/issues/302

https://github.com/tw543/n/issues/300

https://github.com/yu654r/7/issues/301

https://github.com/tw543/n/issues/299

https://github.com/yu654r/7/issues/300

https://github.com/tw543/n/issues/298

https://github.com/yu654r/7/issues/299

https://github.com/tw543/n/issues/297

https://github.com/yu654r/7/issues/298

https://github.com/tw543/n/issues/296

https://github.com/yu654r/7/issues/297

https://github.com/tw543/n/issues/295

https://github.com/yu654r/7/issues/296

https://github.com/tw543/n/issues/294

https://github.com/yu654r/7/issues/295

https://github.com/tw543/n/issues/293

https://github.com/yu654r/7/issues/294

https://github.com/tw543/n/issues/292

https://github.com/yu654r/7/issues/293

https://github.com/tw543/n/issues/291

https://github.com/yu654r/7/issues/292

https://github.com/tw543/n/issues/290

https://github.com/yu654r/7/issues/291

https://github.com/tw543/n/issues/289

https://github.com/yu654r/7/issues/290

https://github.com/tw543/n/issues/288

https://github.com/yu654r/7/issues/289

https://github.com/tw543/n/issues/287

https://github.com/yu654r/7/issues/288

https://github.com/tw543/n/issues/286

https://github.com/yu654r/7/issues/287

https://github.com/tw543/n/issues/285

https://github.com/yu654r/7/issues/286

https://github.com/tw543/n/issues/284

https://github.com/yu654r/7/issues/285

https://github.com/tw543/n/issues/283

https://github.com/yu654r/7/issues/284

https://github.com/tw543/n/issues/282

https://github.com/yu654r/7/issues/283

https://github.com/tw543/n/issues/281

https://github.com/yu654r/7/issues/282

https://github.com/tw543/n/issues/280

https://github.com/yu654r/7/issues/281

https://github.com/tw543/n/issues/279

https://github.com/yu654r/7/issues/280

https://github.com/tw543/n/issues/278

https://github.com/yu654r/7/issues/279

https://github.com/tw543/n/issues/277

https://github.com/yu654r/7/issues/278

https://github.com/tw543/n/issues/276

https://github.com/yu654r/7/issues/277

https://github.com/tw543/n/issues/275

https://github.com/yu654r/7/issues/276

https://github.com/tw543/n/issues/274

https://github.com/yu654r/7/issues/275

https://github.com/tw543/n/issues/273

https://github.com/yu654r/7/issues/274

https://github.com/tw543/n/issues/272

https://github.com/yu654r/7/issues/273

https://github.com/tw543/n/issues/271

https://github.com/yu654r/7/issues/272

https://github.com/tw543/n/issues/270

https://github.com/yu654r/7/issues/271

https://github.com/tw543/n/issues/269

https://github.com/yu654r/7/issues/270

https://github.com/tw543/n/issues/268

https://github.com/yu654r/7/issues/269

https://github.com/tw543/n/issues/267

https://github.com/yu654r/7/issues/268

https://github.com/tw543/n/issues/266

https://github.com/yu654r/7/issues/267

https://github.com/tw543/n/issues/265

https://github.com/yu654r/7/issues/266

https://github.com/tw543/n/issues/264

https://github.com/yu654r/7/issues/265

https://github.com/tw543/n/issues/263

https://github.com/yu654r/7/issues/264

https://github.com/tw543/n/issues/262

https://github.com/yu654r/7/issues/263

https://github.com/tw543/n/issues/261

https://github.com/yu654r/7/issues/262

https://github.com/tw543/n/issues/260

https://github.com/yu654r/7/issues/261

https://github.com/tw543/n/issues/259

https://github.com/yu654r/7/issues/260

https://github.com/tw543/n/issues/258

https://github.com/yu654r/7/issues/259

https://github.com/tw543/n/issues/257

https://github.com/yu654r/7/issues/258

https://github.com/tw543/n/issues/256

https://github.com/yu654r/7/issues/257

https://github.com/tw543/n/issues/255

https://github.com/yu654r/7/issues/256

https://github.com/tw543/n/issues/254

https://github.com/yu654r/7/issues/255

https://github.com/yu654r/7/issues/254

https://github.com/tw543/n/issues/253

https://github.com/yu654r/7/issues/253

https://github.com/tw543/n/issues/252

https://github.com/tw543/n/issues/251

https://github.com/yu654r/7/issues/252

https://github.com/tw543/n/issues/250

https://github.com/yu654r/7/issues/251

https://github.com/tw543/n/issues/249

https://github.com/yu654r/7/issues/250

https://github.com/tw543/n/issues/248

https://github.com/yu654r/7/issues/249

https://github.com/tw543/n/issues/247

https://github.com/yu654r/7/issues/248

https://github.com/tw543/n/issues/246

https://github.com/yu654r/7/issues/247

https://github.com/yu654r/7/issues/246

https://github.com/tw543/n/issues/245

https://github.com/tw543/n/issues/244

https://github.com/yu654r/7/issues/245

https://github.com/tw543/n/issues/243

https://github.com/yu654r/7/issues/244

https://github.com/tw543/n/issues/242

https://github.com/yu654r/7/issues/243

https://github.com/tw543/n/issues/241

https://github.com/yu654r/7/issues/242

https://github.com/tw543/n/issues/240

https://github.com/yu654r/7/issues/241

https://github.com/tw543/n/issues/239

https://github.com/yu654r/7/issues/240

https://github.com/tw543/n/issues/238

https://github.com/yu654r/7/issues/239

https://github.com/tw543/n/issues/237

https://github.com/yu654r/7/issues/238

https://github.com/tw543/n/issues/236

https://github.com/yu654r/7/issues/237

https://github.com/tw543/n/issues/235

https://github.com/yu654r/7/issues/236

https://github.com/tw543/n/issues/234

https://github.com/yu654r/7/issues/235

https://github.com/tw543/n/issues/233

https://github.com/yu654r/7/issues/234

https://github.com/yu654r/7/issues/233

https://github.com/tw543/n/issues/232

https://github.com/yu654r/7/issues/232

https://github.com/tw543/n/issues/231

https://github.com/yu654r/7/issues/231

https://github.com/tw543/n/issues/230

https://github.com/yu654r/7/issues/230

https://github.com/tw543/n/issues/229

https://github.com/yu654r/7/issues/229

https://github.com/tw543/n/issues/228

https://github.com/yu654r/7/issues/228

https://github.com/tw543/n/issues/227

https://github.com/yu654r/7/issues/227

https://github.com/tw543/n/issues/226

https://github.com/yu654r/7/issues/226

https://github.com/tw543/n/issues/225

https://github.com/yu654r/7/issues/225

https://github.com/tw543/n/issues/224

https://github.com/yu654r/7/issues/224

https://github.com/tw543/n/issues/223

https://github.com/yu654r/7/issues/223

https://github.com/tw543/n/issues/222

https://github.com/yu654r/7/issues/222

https://github.com/tw543/n/issues/221

https://github.com/yu654r/7/issues/221

https://github.com/tw543/n/issues/220

https://github.com/yu654r/7/issues/220

https://github.com/tw543/n/issues/219

https://github.com/yu654r/7/issues/219

https://github.com/tw543/n/issues/218

https://github.com/yu654r/7/issues/218

https://github.com/tw543/n/issues/217

https://github.com/yu654r/7/issues/217

https://github.com/tw543/n/issues/216

https://github.com/yu654r/7/issues/216

https://github.com/tw543/n/issues/215

https://github.com/yu654r/7/issues/215

https://github.com/tw543/n/issues/214

https://github.com/yu654r/7/issues/214

https://github.com/tw543/n/issues/213

https://github.com/yu654r/7/issues/213

https://github.com/tw543/n/issues/212

https://github.com/yu654r/7/issues/212

https://github.com/tw543/n/issues/211

https://github.com/yu654r/7/issues/211

https://github.com/tw543/n/issues/210

https://github.com/yu654r/7/issues/210

https://github.com/tw543/n/issues/209

https://github.com/yu654r/7/issues/209

https://github.com/tw543/n/issues/208

https://github.com/yu654r/7/issues/208

https://github.com/tw543/n/issues/207

https://github.com/yu654r/7/issues/207

https://github.com/tw543/n/issues/206

https://github.com/yu654r/7/issues/206

https://github.com/tw543/n/issues/205

https://github.com/yu654r/7/issues/205

https://github.com/tw543/n/issues/204

https://github.com/yu654r/7/issues/204

https://github.com/tw543/n/issues/203

https://github.com/yu654r/7/issues/203

https://github.com/tw543/n/issues/202

https://github.com/yu654r/7/issues/202

https://github.com/tw543/n/issues/201

https://github.com/yu654r/7/issues/201

https://github.com/tw543/n/issues/200

https://github.com/yu654r/7/issues/200

https://github.com/tw543/n/issues/199

https://github.com/tw543/n/issues/198

https://github.com/yu654r/7/issues/199

https://github.com/tw543/n/issues/197

https://github.com/yu654r/7/issues/198

https://github.com/tw543/n/issues/196

https://github.com/yu654r/7/issues/197

https://github.com/tw543/n/issues/195

https://github.com/yu654r/7/issues/196

https://github.com/tw543/n/issues/194

https://github.com/yu654r/7/issues/195

https://github.com/tw543/n/issues/193

https://github.com/yu654r/7/issues/194

https://github.com/tw543/n/issues/192

https://github.com/yu654r/7/issues/193

https://github.com/tw543/n/issues/191

https://github.com/yu654r/7/issues/192

https://github.com/tw543/n/issues/190

https://github.com/yu654r/7/issues/191

https://github.com/tw543/n/issues/189

https://github.com/yu654r/7/issues/190

https://github.com/tw543/n/issues/188

https://github.com/yu654r/7/issues/189

https://github.com/tw543/n/issues/187

https://github.com/yu654r/7/issues/188

https://github.com/tw543/n/issues/186

https://github.com/yu654r/7/issues/187

https://github.com/tw543/n/issues/185

https://github.com/yu654r/7/issues/186

https://github.com/tw543/n/issues/184

https://github.com/yu654r/7/issues/185

https://github.com/tw543/n/issues/183

https://github.com/yu654r/7/issues/184

https://github.com/tw543/n/issues/182

https://github.com/yu654r/7/issues/183

https://github.com/tw543/n/issues/181

https://github.com/yu654r/7/issues/182

https://github.com/tw543/n/issues/180

https://github.com/yu654r/7/issues/181

https://github.com/tw543/n/issues/179

https://github.com/yu654r/7/issues/180

https://github.com/tw543/n/issues/178

https://github.com/yu654r/7/issues/179

https://github.com/tw543/n/issues/177

https://github.com/yu654r/7/issues/178

https://github.com/tw543/n/issues/176

https://github.com/yu654r/7/issues/177

https://github.com/tw543/n/issues/175

https://github.com/yu654r/7/issues/176

https://github.com/tw543/n/issues/174

https://github.com/yu654r/7/issues/175

https://github.com/tw543/n/issues/173

https://github.com/yu654r/7/issues/174

https://github.com/tw543/n/issues/172

https://github.com/yu654r/7/issues/173

https://github.com/tw543/n/issues/171

https://github.com/yu654r/7/issues/172

https://github.com/tw543/n/issues/170

https://github.com/yu654r/7/issues/171

https://github.com/tw543/n/issues/169

https://github.com/yu654r/7/issues/170

https://github.com/tw543/n/issues/168

https://github.com/yu654r/7/issues/169

https://github.com/tw543/n/issues/167

https://github.com/yu654r/7/issues/168

https://github.com/tw543/n/issues/166

https://github.com/yu654r/7/issues/167

https://github.com/tw543/n/issues/165

https://github.com/yu654r/7/issues/166

https://github.com/tw543/n/issues/164

https://github.com/yu654r/7/issues/165

https://github.com/tw543/n/issues/163

https://github.com/yu654r/7/issues/164

https://github.com/tw543/n/issues/162

https://github.com/yu654r/7/issues/163

https://github.com/tw543/n/issues/161

https://github.com/yu654r/7/issues/162

https://github.com/tw543/n/issues/160

https://github.com/yu654r/7/issues/161

https://github.com/tw543/n/issues/159

https://github.com/yu654r/7/issues/160

https://github.com/tw543/n/issues/158

https://github.com/yu654r/7/issues/159

https://github.com/tw543/n/issues/157

https://github.com/yu654r/7/issues/158

https://github.com/tw543/n/issues/156

https://github.com/yu654r/7/issues/157

https://github.com/tw543/n/issues/155

https://github.com/yu654r/7/issues/156

https://github.com/tw543/n/issues/154

https://github.com/yu654r/7/issues/155

https://github.com/tw543/n/issues/153

https://github.com/yu654r/7/issues/154

https://github.com/tw543/n/issues/152

https://github.com/yu654r/7/issues/153

https://github.com/tw543/n/issues/151

https://github.com/yu654r/7/issues/152

https://github.com/tw543/n/issues/150

https://github.com/yu654r/7/issues/151

https://github.com/tw543/n/issues/149

https://github.com/yu654r/7/issues/150

https://github.com/tw543/n/issues/148

https://github.com/yu654r/7/issues/149

https://github.com/tw543/n/issues/147

https://github.com/yu654r/7/issues/148

https://github.com/tw543/n/issues/146

https://github.com/yu654r/7/issues/147

https://github.com/tw543/n/issues/145

https://github.com/yu654r/7/issues/146

https://github.com/tw543/n/issues/144

https://github.com/yu654r/7/issues/145

https://github.com/tw543/n/issues/143

https://github.com/yu654r/7/issues/144

https://github.com/tw543/n/issues/142

https://github.com/yu654r/7/issues/143

https://github.com/tw543/n/issues/141

https://github.com/yu654r/7/issues/142

https://github.com/yu654r/7/issues/141

https://github.com/tw543/n/issues/140

https://github.com/yu654r/7/issues/140

https://github.com/tw543/n/issues/139

https://github.com/yu654r/7/issues/139

https://github.com/tw543/n/issues/138

https://github.com/yu654r/7/issues/138

https://github.com/tw543/n/issues/137

https://github.com/yu654r/7/issues/137

https://github.com/tw543/n/issues/136

https://github.com/yu654r/7/issues/136

https://github.com/tw543/n/issues/135

https://github.com/yu654r/7/issues/135

https://github.com/tw543/n/issues/134

https://github.com/yu654r/7/issues/134

https://github.com/tw543/n/issues/133

https://github.com/yu654r/7/issues/133

https://github.com/tw543/n/issues/132

https://github.com/yu654r/7/issues/132

https://github.com/tw543/n/issues/131

https://github.com/yu654r/7/issues/131

https://github.com/tw543/n/issues/130

https://github.com/yu654r/7/issues/130

https://github.com/tw543/n/issues/129

https://github.com/yu654r/7/issues/129

https://github.com/tw543/n/issues/128

https://github.com/yu654r/7/issues/128

https://github.com/tw543/n/issues/127

https://github.com/yu654r/7/issues/127

https://github.com/tw543/n/issues/126

https://github.com/yu654r/7/issues/126

https://github.com/tw543/n/issues/125

https://github.com/yu654r/7/issues/125

https://github.com/tw543/n/issues/124

https://github.com/yu654r/7/issues/124

https://github.com/tw543/n/issues/123

https://github.com/yu654r/7/issues/123

https://github.com/tw543/n/issues/122

https://github.com/yu654r/7/issues/122

https://github.com/tw543/n/issues/121

https://github.com/yu654r/7/issues/121

https://github.com/tw543/n/issues/120

https://github.com/yu654r/7/issues/120

https://github.com/tw543/n/issues/119

https://github.com/yu654r/7/issues/119

https://github.com/tw543/n/issues/118

https://github.com/yu654r/7/issues/118

https://github.com/tw543/n/issues/117

https://github.com/yu654r/7/issues/117

https://github.com/tw543/n/issues/116

https://github.com/yu654r/7/issues/116

https://github.com/tw543/n/issues/115

https://github.com/yu654r/7/issues/115

https://github.com/tw543/n/issues/114

https://github.com/yu654r/7/issues/114

https://github.com/tw543/n/issues/113

https://github.com/yu654r/7/issues/113

https://github.com/tw543/n/issues/112

https://github.com/yu654r/7/issues/112

https://github.com/tw543/n/issues/111

https://github.com/yu654r/7/issues/111

https://github.com/tw543/n/issues/110

https://github.com/yu654r/7/issues/110

https://github.com/tw543/n/issues/109

https://github.com/yu654r/7/issues/109

https://github.com/tw543/n/issues/108

https://github.com/yu654r/7/issues/108

https://github.com/tw543/n/issues/107

https://github.com/yu654r/7/issues/107

https://github.com/tw543/n/issues/106

https://github.com/yu654r/7/issues/106

https://github.com/tw543/n/issues/105

https://github.com/yu654r/7/issues/105

https://github.com/tw543/n/issues/104

https://github.com/yu654r/7/issues/104

https://github.com/tw543/n/issues/103

https://github.com/yu654r/7/issues/103

https://github.com/tw543/n/issues/102

https://github.com/yu654r/7/issues/102

https://github.com/tw543/n/issues/101

https://github.com/yu654r/7/issues/101

https://github.com/tw543/n/issues/100

https://github.com/yu654r/7/issues/100

https://github.com/tw543/n/issues/99

https://github.com/yu654r/7/issues/99

https://github.com/tw543/n/issues/98

https://github.com/yu654r/7/issues/98

https://github.com/tw543/n/issues/97

https://github.com/yu654r/7/issues/97

https://github.com/tw543/n/issues/96

https://github.com/yu654r/7/issues/96

https://github.com/tw543/n/issues/95

https://github.com/yu654r/7/issues/95

https://github.com/tw543/n/issues/94

https://github.com/yu654r/7/issues/94

https://github.com/tw543/n/issues/93

https://github.com/yu654r/7/issues/93

https://github.com/tw543/n/issues/92

https://github.com/yu654r/7/issues/92

https://github.com/tw543/n/issues/91

https://github.com/yu654r/7/issues/91

https://github.com/tw543/n/issues/90

https://github.com/yu654r/7/issues/90

https://github.com/tw543/n/issues/89

https://github.com/yu654r/7/issues/89

https://github.com/tw543/n/issues/88

https://github.com/yu654r/7/issues/88

https://github.com/tw543/n/issues/87

https://github.com/yu654r/7/issues/87

https://github.com/tw543/n/issues/86

https://github.com/yu654r/7/issues/86

https://github.com/tw543/n/issues/85

https://github.com/yu654r/7/issues/85

https://github.com/tw543/n/issues/84

https://github.com/yu654r/7/issues/84

https://github.com/tw543/n/issues/83

https://github.com/yu654r/7/issues/83

https://github.com/tw543/n/issues/82

https://github.com/yu654r/7/issues/82

https://github.com/tw543/n/issues/81

https://github.com/yu654r/7/issues/81

https://github.com/tw543/n/issues/80

https://github.com/yu654r/7/issues/80

https://github.com/tw543/n/issues/79

https://github.com/yu654r/7/issues/79

https://github.com/tw543/n/issues/78

https://github.com/yu654r/7/issues/78

https://github.com/tw543/n/issues/77

https://github.com/yu654r/7/issues/77

https://github.com/tw543/n/issues/76

https://github.com/yu654r/7/issues/76

https://github.com/tw543/n/issues/75

https://github.com/yu654r/7/issues/75

https://github.com/tw543/n/issues/74

https://github.com/yu654r/7/issues/74

https://github.com/tw543/n/issues/73

https://github.com/yu654r/7/issues/73

https://github.com/tw543/n/issues/72

https://github.com/yu654r/7/issues/72

https://github.com/tw543/n/issues/71

https://github.com/yu654r/7/issues/71

https://github.com/tw543/n/issues/70

https://github.com/yu654r/7/issues/70

https://github.com/tw543/n/issues/69

https://github.com/yu654r/7/issues/69

https://github.com/tw543/n/issues/68

https://github.com/yu654r/7/issues/68

https://github.com/tw543/n/issues/67

https://github.com/yu654r/7/issues/67

https://github.com/tw543/n/issues/66

https://github.com/yu654r/7/issues/66

https://github.com/tw543/n/issues/65

https://github.com/yu654r/7/issues/65

https://github.com/tw543/n/issues/64

https://github.com/yu654r/7/issues/64

https://github.com/tw543/n/issues/63

https://github.com/yu654r/7/issues/63

https://github.com/tw543/n/issues/62

https://github.com/yu654r/7/issues/62

https://github.com/tw543/n/issues/61

https://github.com/yu654r/7/issues/61

https://github.com/tw543/n/issues/60

https://github.com/yu654r/7/issues/60

https://github.com/tw543/n/issues/59

https://github.com/yu654r/7/issues/59

https://github.com/tw543/n/issues/58

https://github.com/yu654r/7/issues/58

https://github.com/tw543/n/issues/57

https://github.com/yu654r/7/issues/57

https://github.com/tw543/n/issues/56

https://github.com/yu654r/7/issues/56

https://github.com/tw543/n/issues/55

https://github.com/yu654r/7/issues/55

https://github.com/tw543/n/issues/54

https://github.com/yu654r/7/issues/54

https://github.com/tw543/n/issues/53

https://github.com/yu654r/7/issues/53

https://github.com/tw543/n/issues/52

https://github.com/yu654r/7/issues/52

https://github.com/tw543/n/issues/51

https://github.com/yu654r/7/issues/51

https://github.com/tw543/n/issues/50

https://github.com/yu654r/7/issues/50

https://github.com/tw543/n/issues/49

https://github.com/yu654r/7/issues/49

https://github.com/tw543/n/issues/48

https://github.com/yu654r/7/issues/48

https://github.com/tw543/n/issues/47

https://github.com/yu654r/7/issues/47

https://github.com/tw543/n/issues/46

https://github.com/yu654r/7/issues/46

https://github.com/tw543/n/issues/45

https://github.com/yu654r/7/issues/45

https://github.com/tw543/n/issues/44

https://github.com/yu654r/7/issues/44

https://github.com/tw543/n/issues/43

https://github.com/yu654r/7/issues/43

https://github.com/tw543/n/issues/42

https://github.com/yu654r/7/issues/42

https://github.com/tw543/n/issues/41

https://github.com/yu654r/7/issues/41

https://github.com/tw543/n/issues/40

https://github.com/yu654r/7/issues/40

https://github.com/tw543/n/issues/39

https://github.com/yu654r/7/issues/39

https://github.com/tw543/n/issues/38

https://github.com/yu654r/7/issues/38

https://github.com/tw543/n/issues/37

https://github.com/yu654r/7/issues/37

https://github.com/tw543/n/issues/36

https://github.com/yu654r/7/issues/36

https://github.com/tw543/n/issues/35

https://github.com/yu654r/7/issues/35

https://github.com/tw543/n/issues/34

https://github.com/yu654r/7/issues/34

https://github.com/tw543/n/issues/33

https://github.com/yu654r/7/issues/33

https://github.com/tw543/n/issues/32

https://github.com/yu654r/7/issues/32

https://github.com/tw543/n/issues/31

https://github.com/yu654r/7/issues/31

https://github.com/tw543/n/issues/30

https://github.com/yu654r/7/issues/30

https://github.com/tw543/n/issues/29

https://github.com/yu654r/7/issues/29

https://github.com/tw543/n/issues/28

https://github.com/yu654r/7/issues/28

https://github.com/tw543/n/issues/27

https://github.com/yu654r/7/issues/27

https://github.com/tw543/n/issues/26

https://github.com/yu654r/7/issues/26

https://github.com/tw543/n/issues/25

https://github.com/yu654r/7/issues/25

https://github.com/tw543/n/issues/24

https://github.com/yu654r/7/issues/24

https://github.com/tw543/n/issues/23

https://github.com/yu654r/7/issues/23

https://github.com/tw543/n/issues/22

https://github.com/yu654r/7/issues/22

https://github.com/tw543/n/issues/21

https://github.com/yu654r/7/issues/21

https://github.com/tw543/n/issues/20

https://github.com/yu654r/7/issues/20

https://github.com/tw543/n/issues/19

https://github.com/yu654r/7/issues/19

https://github.com/tw543/n/issues/18

https://github.com/yu654r/7/issues/18

https://github.com/tw543/n/issues/17

https://github.com/yu654r/7/issues/17

https://github.com/tw543/n/issues/16

https://github.com/yu654r/7/issues/16

https://github.com/tw543/n/issues/15

https://github.com/yu654r/7/issues/15

https://github.com/tw543/n/issues/14

https://github.com/yu654r/7/issues/14

https://github.com/tw543/n/issues/13

https://github.com/yu654r/7/issues/13

https://github.com/tw543/n/issues/12

https://github.com/yu654r/7/issues/12

https://github.com/tw543/n/issues/11

https://github.com/yu654r/7/issues/11

https://github.com/tw543/n/issues/10

https://github.com/yu654r/7/issues/10

https://github.com/tw543/n/issues/9

https://github.com/yu654r/7/issues/9

https://github.com/tw543/n/issues/8

https://github.com/yu654r/7/issues/8

https://github.com/tw543/n/issues/7

https://github.com/yu654r/7/issues/7

https://github.com/tw543/n/issues/6

https://github.com/yu654r/7/issues/6

https://github.com/tw543/n/issues/5

https://github.com/yu654r/7/issues/5

https://github.com/tw543/n/issues/4

https://github.com/yu654r/7/issues/4

https://github.com/tw543/n/issues/3

https://github.com/yu654r/7/issues/3

https://github.com/tw543/n/issues/2

https://github.com/yu654r/7/issues/2

https://github.com/tw543/n/issues/1

https://github.com/yu654r/7/issues/1

https://github.com/tw543/w/issues/461

https://github.com/yu654r/o/issues/448

https://github.com/tw543/w/issues/460

https://github.com/yu654r/o/issues/447

https://github.com/tw543/w/issues/459

https://github.com/yu654r/o/issues/446

https://github.com/tw543/w/issues/458

https://github.com/yu654r/o/issues/445

https://github.com/tw543/w/issues/457

https://github.com/yu654r/o/issues/444

https://github.com/tw543/w/issues/456

https://github.com/yu654r/o/issues/443

https://github.com/tw543/w/issues/455

https://github.com/yu654r/o/issues/442

https://github.com/tw543/w/issues/454

https://github.com/yu654r/o/issues/441

https://github.com/tw543/w/issues/453

https://github.com/yu654r/o/issues/440

https://github.com/tw543/w/issues/452

https://github.com/yu654r/o/issues/439

https://github.com/tw543/w/issues/451

https://github.com/yu654r/o/issues/438

https://github.com/tw543/w/issues/450

https://github.com/yu654r/o/issues/437

https://github.com/tw543/w/issues/449

https://github.com/yu654r/o/issues/436

https://github.com/tw543/w/issues/448

https://github.com/yu654r/o/issues/435

https://github.com/tw543/w/issues/447

https://github.com/yu654r/o/issues/434

https://github.com/tw543/w/issues/446

https://github.com/yu654r/o/issues/433

https://github.com/tw543/w/issues/445

https://github.com/yu654r/o/issues/432

https://github.com/tw543/w/issues/444

https://github.com/yu654r/o/issues/431

https://github.com/tw543/w/issues/443

https://github.com/yu654r/o/issues/430

https://github.com/tw543/w/issues/442

https://github.com/yu654r/o/issues/429

https://github.com/tw543/w/issues/441

https://github.com/yu654r/o/issues/428

https://github.com/tw543/w/issues/440

https://github.com/yu654r/o/issues/427

https://github.com/tw543/w/issues/439

https://github.com/yu654r/o/issues/426

https://github.com/tw543/w/issues/438

https://github.com/yu654r/o/issues/425

https://github.com/tw543/w/issues/437

https://github.com/yu654r/o/issues/424

https://github.com/tw543/w/issues/436

https://github.com/yu654r/o/issues/423

https://github.com/tw543/w/issues/435

https://github.com/yu654r/o/issues/422

https://github.com/tw543/w/issues/434

https://github.com/yu654r/o/issues/421

https://github.com/tw543/w/issues/433

https://github.com/yu654r/o/issues/420

https://github.com/tw543/w/issues/432

https://github.com/yu654r/o/issues/419

https://github.com/tw543/w/issues/431

https://github.com/tw543/w/issues/430

https://github.com/yu654r/o/issues/418

https://github.com/tw543/w/issues/429

https://github.com/yu654r/o/issues/417

https://github.com/tw543/w/issues/428

https://github.com/yu654r/o/issues/416

https://github.com/tw543/w/issues/427

https://github.com/yu654r/o/issues/415

https://github.com/tw543/w/issues/426

https://github.com/yu654r/o/issues/414

https://github.com/tw543/w/issues/425

https://github.com/yu654r/o/issues/413

https://github.com/tw543/w/issues/424

https://github.com/yu654r/o/issues/412

https://github.com/tw543/w/issues/423

https://github.com/yu654r/o/issues/411

https://github.com/tw543/w/issues/422

https://github.com/yu654r/o/issues/410

https://github.com/tw543/w/issues/421

https://github.com/yu654r/o/issues/409

https://github.com/tw543/w/issues/420

https://github.com/yu654r/o/issues/408

https://github.com/tw543/w/issues/419

https://github.com/yu654r/o/issues/407

https://github.com/tw543/w/issues/418

https://github.com/yu654r/o/issues/406

https://github.com/tw543/w/issues/417

https://github.com/yu654r/o/issues/405

https://github.com/tw543/w/issues/416

https://github.com/yu654r/o/issues/404

https://github.com/tw543/w/issues/415

https://github.com/yu654r/o/issues/403

https://github.com/tw543/w/issues/414

https://github.com/tw543/w/issues/413

https://github.com/yu654r/o/issues/402

https://github.com/tw543/w/issues/412

https://github.com/yu654r/o/issues/401

https://github.com/tw543/w/issues/411

https://github.com/tw543/w/issues/410

https://github.com/yu654r/o/issues/400

https://github.com/tw543/w/issues/409

https://github.com/yu654r/o/issues/399

https://github.com/tw543/w/issues/408

https://github.com/yu654r/o/issues/398

https://github.com/tw543/w/issues/407

https://github.com/yu654r/o/issues/397

https://github.com/tw543/w/issues/406

https://github.com/yu654r/o/issues/396

https://github.com/tw543/w/issues/405

https://github.com/yu654r/o/issues/395

https://github.com/tw543/w/issues/404

https://github.com/yu654r/o/issues/394

https://github.com/tw543/w/issues/403

https://github.com/yu654r/o/issues/393

https://github.com/tw543/w/issues/402

https://github.com/yu654r/o/issues/392

https://github.com/tw543/w/issues/401

https://github.com/yu654r/o/issues/391

https://github.com/tw543/w/issues/400

https://github.com/yu654r/o/issues/390

https://github.com/tw543/w/issues/399

https://github.com/yu654r/o/issues/389

https://github.com/tw543/w/issues/398

https://github.com/yu654r/o/issues/388

https://github.com/tw543/w/issues/397

https://github.com/yu654r/o/issues/387

https://github.com/tw543/w/issues/396

https://github.com/yu654r/o/issues/386

https://github.com/tw543/w/issues/395

https://github.com/yu654r/o/issues/385

https://github.com/tw543/w/issues/394

https://github.com/yu654r/o/issues/384

https://github.com/tw543/w/issues/393

https://github.com/yu654r/o/issues/383

https://github.com/tw543/w/issues/392

https://github.com/yu654r/o/issues/382

https://github.com/tw543/w/issues/391

https://github.com/yu654r/o/issues/381

https://github.com/tw543/w/issues/390

https://github.com/yu654r/o/issues/380

https://github.com/tw543/w/issues/389

https://github.com/yu654r/o/issues/379

https://github.com/tw543/w/issues/388

https://github.com/yu654r/o/issues/378

https://github.com/tw543/w/issues/387

https://github.com/yu654r/o/issues/377

https://github.com/tw543/w/issues/386

https://github.com/yu654r/o/issues/376

https://github.com/tw543/w/issues/385

https://github.com/yu654r/o/issues/375

https://github.com/tw543/w/issues/384

https://github.com/yu654r/o/issues/374

https://github.com/tw543/w/issues/383

https://github.com/yu654r/o/issues/373

https://github.com/tw543/w/issues/382

https://github.com/yu654r/o/issues/372

https://github.com/tw543/w/issues/381

https://github.com/yu654r/o/issues/371

https://github.com/tw543/w/issues/380

https://github.com/yu654r/o/issues/370

https://github.com/tw543/w/issues/379

https://github.com/yu654r/o/issues/369

https://github.com/tw543/w/issues/378

https://github.com/yu654r/o/issues/368

https://github.com/tw543/w/issues/377

https://github.com/yu654r/o/issues/367

https://github.com/tw543/w/issues/376

https://github.com/yu654r/o/issues/366

https://github.com/tw543/w/issues/375

https://github.com/yu654r/o/issues/365

https://github.com/tw543/w/issues/374

https://github.com/yu654r/o/issues/364

https://github.com/tw543/w/issues/373

https://github.com/yu654r/o/issues/363

https://github.com/tw543/w/issues/372

https://github.com/yu654r/o/issues/362

https://github.com/tw543/w/issues/371

https://github.com/yu654r/o/issues/361

https://github.com/tw543/w/issues/370

https://github.com/yu654r/o/issues/360

https://github.com/tw543/w/issues/369

https://github.com/yu654r/o/issues/359

https://github.com/tw543/w/issues/368

https://github.com/yu654r/o/issues/358

https://github.com/tw543/w/issues/367

https://github.com/yu654r/o/issues/357

https://github.com/tw543/w/issues/366

https://github.com/yu654r/o/issues/356

https://github.com/tw543/w/issues/365

https://github.com/yu654r/o/issues/355

https://github.com/tw543/w/issues/364

https://github.com/yu654r/o/issues/354

https://github.com/tw543/w/issues/363

https://github.com/yu654r/o/issues/353

https://github.com/tw543/w/issues/362

https://github.com/yu654r/o/issues/352

https://github.com/tw543/w/issues/361

https://github.com/yu654r/o/issues/351

https://github.com/tw543/w/issues/360

https://github.com/yu654r/o/issues/350

https://github.com/tw543/w/issues/359

https://github.com/yu654r/o/issues/349

https://github.com/tw543/w/issues/358

https://github.com/yu654r/o/issues/348

https://github.com/tw543/w/issues/357

https://github.com/yu654r/o/issues/347

https://github.com/tw543/w/issues/356

https://github.com/yu654r/o/issues/346

https://github.com/tw543/w/issues/355

https://github.com/yu654r/o/issues/345

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐